Bewaarbeleid
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer-
Het bewaarbeleid bepaalt het mechanisme waarmee gegevens automatisch worden verwijderd uit tabellen of gerealiseerde weergaven. Het is handig om gegevens te verwijderen die continu in een tabel stromen en waarvan de relevantie op leeftijd is gebaseerd. Het beleid kan bijvoorbeeld worden gebruikt voor een tabel met diagnostische gebeurtenissen die na twee weken mogelijk onintervallend worden.
Het bewaarbeleid kan worden geconfigureerd voor een specifieke tabel of gerealiseerde weergave of voor een volledige database. Het beleid is vervolgens van toepassing op alle tabellen in de database die deze niet overschrijven. Wanneer het beleid zowel op database- als tabelniveau is geconfigureerd, heeft het bewaarbeleid in de tabel voorrang op het databasebeleid.
Het instellen van een bewaarbeleid is belangrijk bij het continu opnemen van gegevens, waardoor de kosten worden beperkt.
Gegevens die 'buiten' het bewaarbeleid staan, komen in aanmerking voor verwijdering. Er is geen specifieke garantie wanneer het verwijderen plaatsvindt. Gegevens kunnen 'achterblijven', zelfs als het bewaarbeleid wordt geactiveerd.
Het bewaarbeleid wordt meestal ingesteld om de leeftijd van de gegevens sinds opname te beperken. Zie SoftDeletePeriodvoor meer informatie.
Notitie
- De verwijderingstijd is onnauwkeurig. Het systeem garandeert dat gegevens niet worden verwijderd voordat de limiet wordt overschreden, maar verwijdering is niet onmiddellijk na dat punt.
- Een periode voor voorlopig verwijderen van 0 kan worden ingesteld als onderdeel van een bewaarbeleid op tabelniveau, maar niet als onderdeel van een bewaarbeleid op databaseniveau.
- Wanneer dit gebeurt, worden de opgenomen gegevens niet doorgevoerd in de brontabel, zodat de gegevens niet hoeven te worden bewaard. Als gevolg hiervan kan
Recoverability
alleen worden ingesteld opDisabled
. - Een dergelijke configuratie is vooral handig wanneer de gegevens worden opgenomen in een tabel. Een transactioneel updatebeleid wordt gebruikt om het te transformeren en de uitvoer om te leiden naar een andere tabel.
- Het bewaarbeleid voor een gerealiseerde weergave is alleen van invloed op de weergave, niet op de brontabel. De brongegevens blijven ongewijzigd.
Het beleidsobject
Een bewaarbeleid bevat de volgende eigenschappen:
-
SoftDeletePeriod:
- De tijdsduur waarvoor wordt gegarandeerd dat de gegevens beschikbaar blijven om query's uit te voeren. De periode wordt gemeten vanaf het moment dat de gegevens zijn opgenomen.
- Standaard ingesteld op
1,000 years
. - Wanneer u de periode voor voorlopig verwijderen van een tabel of database wijzigt, is de nieuwe waarde van toepassing op zowel bestaande als nieuwe gegevens.
-
herstelbaarheid:
- Herstelbaarheid van gegevens (ingeschakeld/uitgeschakeld) nadat de gegevens zijn verwijderd.
- Standaard ingesteld op
Enabled
. - Als deze optie is ingesteld op
Enabled
, kunnen de gegevens 14 dagen nadat ze voorlopig zijn verwijderd, worden hersteld. - Het is niet mogelijk om de herstelperiode te configureren.
Notitie
Gegevens die worden verwijderd met voorlopig verwijderen of opschonen kunnen niet worden hersteld, ongeacht eventuele instellingen voor retentie of herstelbaarheid.
Beheeropdrachten
- Gebruik
.show policy retention
om het huidige bewaarbeleid voor een database, tabel of gerealiseerde weergave weer te geven. - Gebruik
.alter policy retention
om het huidige bewaarbeleid van een database, tabel of gerealiseerde weergave te wijzigen.
Standaardinstellingen
Wanneer een database of tabel wordt gemaakt, is er standaard geen bewaarbeleid gedefinieerd. Normaal gesproken wordt de database gemaakt en wordt het bewaarbeleid onmiddellijk ingesteld door de maker op basis van bekende vereisten.
Wanneer u een .show
opdracht uitvoert voor het bewaarbeleid van een database of tabel waarvoor de beleidsset niet is ingesteld, wordt Policy
weergegeven als null
.
Het standaardretentiebeleid, met de bovenstaande standaardwaarden, kan worden toegepast met behulp van de volgende opdracht.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
De opdracht resulteert in het volgende beleidsobject dat is toegepast op de database of tabel.
{
"SoftDeletePeriod": "365000.00:00:00", "Recoverability":"Enabled"
}
U kunt het bewaarbeleid van een database of tabel wissen met behulp van de volgende opdracht.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Voorbeelden
Voor een omgeving met een database met de naam MyDatabase
, met tabellen MyTable1
, MyTable2
en MySpecialTable
.
Periode voor voorlopig verwijderen van zeven dagen en herstelmogelijkheden uitgeschakeld
Stel alle tabellen in de database in voor een periode van zeven dagen voor voorlopig verwijderen en de herstelbaarheid is uitgeschakeld.
optie 1 (aanbevolen): stel een bewaarbeleid op databaseniveau in en controleer of er geen beleid op tabelniveau is ingesteld.
.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
optie 2: stel voor elke tabel een bewaarbeleid op tabelniveau in, waarbij een periode van zeven dagen voorlopig verwijderen is uitgeschakeld en herstelmogelijkheden zijn uitgeschakeld.
.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
Periode voor voorlopig verwijderen van zeven dagen en herstelmogelijkheden ingeschakeld
Stel tabellen
MyTable1
enMyTable2
in op een periode van zeven dagen voor voorlopig verwijderen en de herstelbaarheid is uitgeschakeld.Stel
MySpecialTable
in op een periode van 14 dagen voorlopig verwijderen en de herstelbaarheid is ingeschakeld.optie 1 (aanbevolen): stel een bewaarbeleid op databaseniveau in en stel een bewaarbeleid op tabelniveau in.
.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
optie 2: stel voor elke tabel een bewaarbeleid op tabelniveau in met de relevante periode voor voorlopig verwijderen en herstelbaarheid.
.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
Periode voor voorlopig verwijderen van zeven dagen en MySpecialTable
bewaart de gegevens voor onbepaalde tijd
Stel tabellen MyTable1
en MyTable2
in op een periode van zeven dagen voor voorlopig verwijderen en MySpecialTable
de gegevens voor onbepaalde tijd te bewaren.
optie 1: stel een bewaarbeleid op databaseniveau in en stel een bewaarbeleid op tabelniveau in, met een periode voor voorlopig verwijderen van 1000 jaar, het standaardretentiebeleid voor
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
optie 2: voor tabellen
MyTable1
enMyTable2
stelt u een bewaarbeleid op tabelniveau in en controleert u of het beleid op database- en tabelniveau voorMySpecialTable
niet is ingesteld..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
optie 3: voor tabellen
MyTable1
enMyTable2
stelt u een bewaarbeleid op tabelniveau in. Stel voor tabelMySpecialTable
een bewaarbeleid op tabelniveau in met een periode van 1000 jaar voor voorlopig verwijderen, het standaardretentiebeleid..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"