Zasady przechowywania
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer
Zasady przechowywania kontrolują mechanizm, który automatycznie usuwa dane z tabel lub zmaterializowanych widoków. Warto usuwać dane, które stale przepływają do tabeli i których znaczenie jest określane na podstawie wieku. Na przykład zasady mogą być używane dla tabeli zawierającej zdarzenia diagnostyczne, które mogą stać się nieinteresujące po dwóch tygodniach.
Zasady przechowywania można skonfigurować dla określonej tabeli lub zmaterializowanego widoku albo dla całej bazy danych. Zasady są następnie stosowane do wszystkich tabel w bazie danych, które nie zastępują ich. Gdy zasady są skonfigurowane zarówno na poziomie bazy danych, jak i tabeli, zasady przechowywania w tabeli mają pierwszeństwo przed zasadami bazy danych.
Skonfigurowanie zasad przechowywania jest ważne podczas ciągłego pozyskiwania danych, co ogranicza koszty.
Dane "poza" zasadami przechowywania kwalifikują się do usunięcia. Nie ma konkretnej gwarancji, gdy nastąpi usunięcie. Dane mogą być "utrzymywane", nawet jeśli zasady przechowywania są wyzwalane.
Zasady przechowywania są najczęściej ustawiane w celu ograniczenia wieku danych od momentu pozyskiwania danych. Aby uzyskać więcej informacji, zobacz SoftDeletePeriod.
Uwaga
- Czas usunięcia jest niedokładny. System gwarantuje, że dane nie zostaną usunięte przed przekroczeniem limitu, ale usunięcie nie następuje natychmiast po tym punkcie.
- Okres usuwania nietrwałego 0 można ustawić jako część zasad przechowywania na poziomie tabeli, ale nie jako część zasad przechowywania na poziomie bazy danych.
- Po wykonaniu tej czynności pozyskane dane nie zostaną zatwierdzone do tabeli źródłowej, co pozwala uniknąć konieczności utrwalania danych. W związku z tym
Recoverability
można ustawić tylko wartośćDisabled
. - Taka konfiguracja jest przydatna głównie wtedy, gdy dane są pozyskiwane do tabeli. Transakcyjne zasady aktualizacji służą do przekształcania ich i przekierowywania danych wyjściowych do innej tabeli.
- Zasady przechowywania w zmaterializowanym widoku mają wpływ tylko na widok, a nie na tabelę źródłową. Nie ma to wpływu na dane źródłowe.
Obiekt zasad
Zasady przechowywania obejmują następujące właściwości:
- SoftDeletePeriod:
- Przedział czasu, dla którego gwarantowana jest dostępność danych do wykonywania zapytań. Okres jest mierzony od czasu pozyskiwania danych.
- Wartość domyślna to
1,000 years
. - Podczas zmiany okresu usuwania nietrwałego tabeli lub bazy danych nowa wartość ma zastosowanie zarówno do istniejących, jak i nowych danych.
- Możliwość odzyskiwania:
- Możliwość odzyskiwania danych (włączona/wyłączona) po usunięciu danych.
- Wartość domyślna to
Enabled
. - Jeśli ustawiono wartość
Enabled
, dane będą możliwe do odzyskania przez 14 dni po ich nietrwałym usunięciu. - Nie można skonfigurować okresu odzyskiwania.
Polecenia zarządzania
- Służy
.show policy retention
do wyświetlania bieżących zasad przechowywania dla bazy danych, tabeli lub zmaterializowanego widoku. - Służy
.alter policy retention
do zmiany bieżących zasad przechowywania bazy danych, tabeli lub zmaterializowanego widoku.
Defaults
Domyślnie podczas tworzenia bazy danych lub tabeli nie ma zdefiniowanych zasad przechowywania. Zwykle baza danych jest tworzona, a następnie natychmiast ma zasady przechowywania ustawione przez jego twórcę zgodnie ze znanymi wymaganiami.
Po uruchomieniu .show
polecenia dla zasad przechowywania bazy danych lub tabeli, która nie miała zestawu zasad, Policy
jest wyświetlana jako null
.
Domyślne zasady przechowywania z wartościami domyślnymi wymienionymi powyżej można zastosować przy użyciu następującego polecenia.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
Polecenie powoduje zastosowanie następującego obiektu zasad do bazy danych lub tabeli.
{
"SoftDeletePeriod": "365000.00:00:00", "Recoverability":"Enabled"
}
Wyczyszczenie zasad przechowywania bazy danych lub tabeli można wykonać przy użyciu następującego polecenia.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Przykłady
W przypadku środowiska, które ma bazę danych o nazwie MyDatabase
, z tabelami MyTable1
, MyTable2
i MySpecialTable
.
Okres usuwania nietrwałego z siedmiu dni i wyłączono możliwość odzyskiwania
Ustaw wszystkie tabele w bazie danych, aby mieć okres usuwania nietrwałego z siedmiu dni i wyłączyć możliwość odzyskiwania.
Opcja 1 (zalecana): ustaw zasady przechowywania na poziomie bazy danych i sprawdź, czy nie ustawiono żadnych zasad na poziomie tabeli.
.delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .delete table MySpecialTable policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled .alter-merge materialized-view ViewName policy retention softdelete = 7d
Opcja 2: Dla każdej tabeli ustaw zasady przechowywania na poziomie tabeli z wyłączonym okresem usuwania nietrwałego siedmiu dni i możliwością odzyskiwania.
.alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 7d recoverability = disabled
Okres usuwania nietrwałego z siedmiu dni i włączono możliwość odzyskiwania
Ustaw tabele
MyTable1
iMyTable2
mają wyłączony okres usuwania nietrwałego z siedmiu dni i możliwość odzyskiwania.Ustaw
MySpecialTable
opcję na okres usuwania nietrwałego z 14 dni i włączono możliwość odzyskiwania.Opcja 1 (zalecana): ustaw zasady przechowywania na poziomie bazy danych i ustaw zasady przechowywania na poziomie tabeli.
.delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
Opcja 2: Dla każdej tabeli ustaw zasady przechowywania na poziomie tabeli z odpowiednim okresem usuwania nietrwałego i możliwością odzyskiwania.
.alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
Okres usuwania nietrwałego wynosi siedem dni i MySpecialTable
przechowuje dane na czas nieokreślony
Ustaw tabele MyTable1
i MyTable2
mają okres usuwania nietrwałego z siedmiu dni i przechowują MySpecialTable
swoje dane na czas nieokreślony.
Opcja 1. Ustaw zasady przechowywania na poziomie bazy danych i ustaw zasady przechowywania na poziomie tabeli z okresem usuwania nietrwałego 1000 lat, domyślnymi zasadami przechowywania dla programu
MySpecialTable
..delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}" // this sets the default retention policy
Opcja 2. W przypadku tabel
MyTable1
iMyTable2
ustaw zasady przechowywania na poziomie tabeli i sprawdź, czy zasadyMySpecialTable
na poziomie bazy danych i na poziomie tabeli nie są ustawione..delete database MyDatabase policy retention // optional, only if the database previously had its policy set .delete table MySpecialTable policy retention // optional, only if the table previously had its policy set .alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d
Opcja 3. W przypadku tabel
MyTable1
iMyTable2
ustaw zasady przechowywania na poziomie tabeli. W przypadku tabeli ustaw zasady przechowywania na poziomie tabeliMySpecialTable
z okresem usuwania nietrwałego na 1000 lat, domyślnymi zasadami przechowywania..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"