Sdílet prostřednictvím


Zásady uchování dat

Platí pro: ✅Microsoft FabricAzure Data Explorer

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 například dají použít pro tabulku, která obsahuje diagnostické události, které se můžou po dvou týdnech stát nezajímavým.

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 pro všechny tabulky v databázi, které ji nepřepíší. Když je zásada nakonfigurovaná na úrovni databáze i tabulky, má zásada 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é při průběžném ingestování dat, což omezí náklady.

Data, která jsou mimo zásady uchovávání informací, mají nárok na odebrání. Pokud dojde k odebrání, neexistuje žádná konkrétní záruka. Data se můžou "podržet" i v případě, že se aktivuje zásada uchovávání informací.

Zásady uchovávání informací jsou nejčastěji nastavené tak, aby omezily věk dat od příjmu dat. Další informace naleznete 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é.
  • Období 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 nebudou potvrzena do zdrojové tabulky, aby se zabránilo nutnosti uchovávat data. V důsledku toho Recoverability lze nastavit Disabledpouze .
  • Tato konfigurace je užitečná hlavně v případě, že se data ingestují do tabulky. Zásady transakční aktualizace se používají k transformaci a přesměrování výstupu do jiné tabulky.
  • Zásady uchovávání informací v materializovaném zobrazení mají vliv jenom na zobrazení, nikoli na zdrojovou tabulku. Zdrojová data zůstávají nedotčená.

Objekt zásad

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

  • SoftDeletePeriod:
    • Časové období, pro které je zaručeno, že jsou data k dispozici pro dotazování. Období se měří od doby, kdy byla data ingestována.
    • Výchozí hodnota 1,000 yearsje .
    • 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 nebo zakázáno) po odstranění dat
    • Výchozí hodnota Enabledje .
    • Pokud je tato možnost nastavená na Enabled, budou se data obnovit po dobu 14 dnů po obnovitelném odstranění.
    • Dobu obnovení není možné konfigurovat.

Příkazy pro správu

Defaults

Při vytvoření databáze nebo tabulky ve výchozím nastavení nemá definovanou zásadu uchovávání informací. Za normálních okolností se databáze vytvoří a pak okamžitě nastaví zásady uchovávání informací 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á nastavenou zásadu, 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 je následující objekt zásad použitý pro databázi nebo tabulku.

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

Vymazání zásad uchovávání informací v databázi nebo tabulce je možné provést pomocí následujícího příkazu.

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

Příklady

Pro prostředí, které má databázi s názvem MyDatabase, s tabulkami MyTable1, MyTable2a MySpecialTable.

Období obnovitelného odstranění sedmi dnů a zakázané obnovitelnosti

Nastavte všechny tabulky v databázi tak, aby měly dobu obnovitelného odstranění sedm dnů a zakázala 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 se zakázaným obdobím obnovitelného odstranění sedmi dnů 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 = 7d recoverability = disabled
    

Období obnovitelného odstranění po sedmi dnech a povolenou obnovitelností

  • Nastavte tabulky MyTable1 a MyTable2 nastavte období obnovitelného odstranění 7 dnů a možnost obnovení.

  • 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šnými obdobími 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í sedmi dnů a MySpecialTable uchovávání dat po neomezenou dobu

Nastavte tabulky MyTable1 a MyTable2 dobu obnovitelného odstranění 7 dnů a ponechejte MySpecialTable svá data neomezeně dlouho.

  • Možnost 1: Nastavte zásady uchovávání informací na úrovni databáze a nastavte zásady uchovávání na úrovni tabulky s obdobím obnovitelného odstranění 1 000 let, výchozí zásadou 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í na úrovni tabulky a ověřte, že nejsou nastaveny zásady MySpecialTable na úrovni databáze a tabulky.

    .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 nastavte zásadu uchovávání informací na úrovni tabulky MySpecialTables obdobím obnovitelného odstranění 1 000 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 "{}"