Bewaarbeleid

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 is gebaseerd op leeftijd. Het beleid kan bijvoorbeeld worden gebruikt voor een tabel die diagnostische gebeurtenissen bevat die na twee weken oninteresserend kunnen worden.

Het bewaarbeleid kan worden geconfigureerd voor een specifieke tabel of gerealiseerde weergave, of voor een hele database. Het beleid is vervolgens van toepassing op alle tabellen in de database die het 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 voor clusters die continu gegevens opnemen, waardoor de kosten worden beperkt.

Gegevens die zich 'buiten' het bewaarbeleid bevinden, komen in aanmerking voor verwijdering. Er is geen specifieke garantie wanneer de verwijdering plaatsvindt. Gegevens kunnen 'blijven hangen', zelfs als het bewaarbeleid wordt geactiveerd.

Het bewaarbeleid wordt meestal ingesteld om de leeftijd van de gegevens sinds de opname te beperken. Zie SoftDeletePeriod voor meer informatie.

Notitie

  • De verwijderingstijd is onnauwkeurig. Het systeem garandeert dat gegevens niet worden verwijderd voordat de limiet wordt overschreden, maar de 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 is gebeurd, worden de opgenomen gegevens niet doorgevoerd in de brontabel, waardoor de gegevens niet moeten worden bewaard. Als gevolg hiervan Recoverability kan alleen worden ingesteld op Disabled.
  • 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 beleidsobject

Een bewaarbeleid bevat de volgende eigenschappen:

  • SoftDeletePeriod:
    • De tijdsperiode waarvoor het gegarandeerd is dat de gegevens beschikbaar blijven om query's uit te voeren. De periode wordt gemeten vanaf het moment dat de gegevens zijn opgenomen.
    • De standaardwaarde is 100 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.
    • De standaardwaarde is Enabled.
    • Als deze optie is ingesteld op Enabled, kunnen de gegevens gedurende 14 dagen nadat ze voorlopig zijn verwijderd, worden hersteld.
    • Het is niet mogelijk om de herstelperiode te configureren.

Opdrachten voor beheer

Standaardwaarden

Wanneer een database of tabel wordt gemaakt, is standaard geen bewaarbeleid gedefinieerd. Normaal gesproken wordt de database gemaakt en wordt het bewaarbeleid onmiddellijk ingesteld door de maker volgens de bekende vereisten. Wanneer u een .show opdracht uitvoert voor het bewaarbeleid van een database of tabel waarvoor geen beleid is ingesteld, Policy wordt weergegeven als null.

Het standaardbewaarbeleid, met de hierboven genoemde 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 toegepast op de database of tabel.

{
  "SoftDeletePeriod": "36500.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 cluster met een database met de naam MyDatabase, met tabellen MyTable1, MyTable2en MySpecialTable.

Periode voor voorlopig verwijderen van zeven dagen en herstelmogelijkheden uitgeschakeld

Stel in dat alle tabellen in de database een periode voor voorlopig verwijderen van zeven dagen hebben en herstelmogelijkheden zijn 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, met een periode voor voorlopig verwijderen van zeven dagen en herstelmogelijkheden 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 in en MyTable2 laat een periode voor voorlopig verwijderen van zeven dagen en herstelmogelijkheden uitgeschakeld.

  • Ingesteld MySpecialTable op een periode van 14 dagen voor voorlopig verwijderen en herstelmogelijkheden hebben 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 herstelmogelijkheden.

    .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 de gegevens blijven voor onbepaalde tijd behouden

Stel tabellen MyTable1 in en MyTable2 om een periode van zeven dagen voor voorlopig verwijderen te hebben en de gegevens voor onbepaalde tijd te bewaren MySpecialTable .

  • Optie 1: stel een bewaarbeleid op databaseniveau in en stel een bewaarbeleid op tabelniveau in met een periode voor voorlopig verwijderen van 100 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: stel voor tabellen MyTable1 en MyTable2een bewaarbeleid op tabelniveau in en controleer of het beleid op database- en tabelniveau voor MySpecialTable 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: stel voor tabellen MyTable1 en MyTable2een bewaarbeleid op tabelniveau in. Stel voor tabel MySpecialTableeen bewaarbeleid op tabelniveau in met een periode voor voorlopig verwijderen van 100 jaar, het standaardbewaarbeleid.

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