Udostępnij za pośrednictwem


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

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, MyTable2i 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 i MyTable2 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 i MyTable2ustaw zasady przechowywania na poziomie tabeli i sprawdź, czy zasady MySpecialTable 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 i MyTable2ustaw zasady przechowywania na poziomie tabeli. W przypadku tabeli ustaw zasady przechowywania na poziomie tabeli MySpecialTablez 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 "{}"