Zásady uchovávání informací

Zásady uchovávání informací řídí mechanismus, který automaticky odebere data z tabulek nebo materializovaných zobrazení. Je užitečné odstranit data, která průběžně proudí do tabulky a jejichž relevance závisí na věku. Zásady se dají použít například pro tabulku, která obsahuje diagnostické události, které můžou být po dvou týdnech nezajímavé.

Zásady uchovávání informací je možné nakonfigurovat pro konkrétní tabulku nebo materializované zobrazení nebo pro celou databázi. Zásada se pak použije na všechny tabulky v databázi, které ji nepřepíší. Pokud je zásada nakonfigurovaná na úrovni databáze i tabulky, mají zásady uchovávání informací v tabulce přednost před zásadami databáze.

Nastavení zásad uchovávání informací je důležité pro clustery, které nepřetržitě ingestují data, což omezí náklady.

Data, která jsou "mimo" zásady uchovávání informací, jsou způsobilá k odebrání. Při odebrání neexistuje žádná konkrétní záruka. Data můžou "zůstat" i v případě, že se zásady uchovávání informací aktivují.

Zásady uchovávání informací se nejčastěji nastavily tak, aby omezily stáří dat od příjmu dat. Další informace najdete v tématu SoftDeletePeriod.

Poznámka

  • Čas odstranění je nepřesný. Systém zaručuje, že data nebudou odstraněna před překročením limitu, ale jejich odstranění není okamžité.
  • Dobu obnovitelného odstranění 0 je možné nastavit jako součást zásad uchovávání informací na úrovni tabulky, ale ne jako součást zásad uchovávání informací na úrovni databáze.
  • Po dokončení se ingestovaná data nezapíšou do zdrojové tabulky, aby se nemusela uchovávat. V důsledku toho Recoverability lze nastavit pouze na Disabledhodnotu .
  • Tato konfigurace je užitečná hlavně v případě, že se data ingestují do tabulky. K transformaci a přesměrování výstupu do jiné tabulky se používají zásady transakční aktualizace .

Objekt zásad

Zásady uchovávání informací zahrnují následující vlastnosti:

  • SoftDeletePeriod:
    • Časový rozsah, po který je zaručeno, že data budou k dispozici pro dotazování. Období se měří od okamžiku, kdy byla data ingestovaná.
    • Výchozí hodnota je 100 years.
    • Při změně období obnovitelného odstranění tabulky nebo databáze platí nová hodnota pro stávající i nová data.
  • Obnovitelnost:
    • Obnovitelnost dat (povoleno/zakázáno) po odstranění dat.
    • Výchozí hodnota je Enabled.
    • Pokud je nastavená hodnota Enabled, budou data možné obnovit po dobu 14 dnů od obnovitelného odstranění.
    • Není možné nakonfigurovat období obnovitelnosti.

Příkazy pro správu

Ve výchozím nastavení

Ve výchozím nastavení databáze nebo tabulky nejsou definované zásady uchovávání informací. Za normálních okolností se databáze vytvoří a pak má okamžitě nastavenou zásadu uchovávání informací jejím tvůrcem podle známých požadavků. Když spustíte .show příkaz pro zásady uchovávání informací databáze nebo tabulky, která nemá nastavené zásady, Policy zobrazí se jako null.

Výchozí zásady uchovávání informací s výchozími hodnotami uvedenými výše je možné použít pomocí následujícího příkazu.

.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"

Výsledkem příkazu bude použití následujícího objektu zásady pro databázi nebo tabulku.

{
  "SoftDeletePeriod": "36500.00:00:00", "Recoverability":"Enabled"
}

K vymazání zásad uchovávání informací pro databázi nebo tabulku můžete použít následující příkaz.

.delete database DatabaseName policy retention
.delete table TableName policy retention

Příklady

Pro cluster, který má databázi s názvem MyDatabase, s tabulkami MyTable1, MyTable2a MySpecialTable.

Období obnovitelného odstranění sedm dnů a zakázaná obnovitelnost

Nastavte všechny tabulky v databázi tak, aby měly období obnovitelného odstranění sedm dnů a zakázanou obnovitelnost.

  • Možnost 1 (doporučeno): Nastavte zásady uchovávání informací na úrovni databáze a ověřte, že nejsou nastavené žádné zásady na úrovni tabulky.

    .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 
    
  • Možnost 2: Pro každou tabulku nastavte zásady uchovávání informací na úrovni tabulky s obdobím obnovitelného odstranění sedm dnů a zakázanou obnovitelností.

    .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
    

Období obnovitelného odstranění sedm dnů a povolená obnovitelnost

  • Nastavte tabulky MyTable1 a MyTable2 na dobu obnovitelného odstranění sedm dnů a zakázanou obnovitelnost.

  • Nastavte MySpecialTable na dobu obnovitelného odstranění 14 dnů a povolenou obnovitelnost.

  • Možnost 1 (doporučeno): Nastavte zásady uchovávání informací na úrovni databáze a nastavte zásady uchovávání informací na úrovni tabulky.

    .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
    
  • Možnost 2: Pro každou tabulku nastavte zásady uchovávání informací na úrovni tabulky s příslušnou dobou obnovitelného odstranění a obnovitelností.

    .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
    

Období obnovitelného odstranění sedm dnů a MySpecialTable uchovávání dat po neomezenou dobu

Nastavte tabulky MyTable1 a MyTable2 tak, aby měly období obnovitelného odstranění sedm dnů a data uchovávejte MySpecialTable po neomezenou dobu.

  • Možnost 1: Nastavte zásady uchovávání informací na úrovni databáze a nastavte zásady uchovávání informací na úrovni tabulky s obdobím obnovitelného odstranění 100 let, což je výchozí zásada uchovávání informací pro 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
    
  • Možnost 2: Pro tabulky MyTable1 a MyTable2nastavte zásady uchovávání informací na úrovni tabulky a ověřte, že nejsou nastavené zásady na úrovni databáze a tabulky.MySpecialTable

    .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
    
  • Možnost 3: Pro tabulky MyTable1 a MyTable2nastavte zásady uchovávání informací na úrovni tabulky. Pro tabulku MySpecialTablenastavte zásadu uchovávání informací na úrovni tabulky s obdobím obnovitelného odstranění 100 let, výchozí zásadou uchovávání informací.

    .alter-merge table MyTable1 policy retention softdelete = 7d
    .alter-merge table MyTable2 policy retention softdelete = 7d
    .alter table MySpecialTable policy retention "{}"