Zásady uchování dat
Platí pro: ✅Microsoft Fabric✅Azure 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 nastavitDisabled
pouze . - 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 years
je . - 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
Enabled
je . - 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
- Umožňuje
.show policy retention
zobrazit aktuální zásady uchovávání informací pro databázi, tabulku nebo materializované zobrazení. - Slouží
.alter policy retention
ke změně aktuálních zásad uchovávání databáze, tabulky nebo materializovaného zobrazení.
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
, MyTable2
a 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
aMyTable2
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
aMyTable2
nastavte zásady uchovávání na úrovni tabulky a ověřte, že nejsou nastaveny zásadyMySpecialTable
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
aMyTable2
nastavte zásady uchovávání informací na úrovni tabulky. Pro tabulku nastavte zásadu uchovávání informací na úrovni tabulkyMySpecialTable
s 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 "{}"