Stratégie de rétention
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer
La stratégie de rétention contrôle le mécanisme qui supprime automatiquement des données de tables ou de vues matérialisées. Il est utile de supprimer des données qui circulent en continu dans une table et dont la pertinence est basée sur l’âge. Par exemple, la stratégie peut être utilisée pour une table qui contient des événements de diagnostic qui peuvent devenir inintéressants après deux semaines.
La stratégie de rétention peut être configurée pour une table ou une vue matérialisée spécifique, ou pour une base de données entière. La stratégie s’applique ensuite à toutes les tables de la base de données qui ne le remplacent pas. Lorsque la stratégie est configurée à la fois au niveau de la base de données et de la table, la stratégie de rétention de la table est prioritaire sur la stratégie de base de données.
La configuration d’une stratégie de rétention est importante lors de l’ingestion continue de données, ce qui limite les coûts.
Les données « en dehors » de la stratégie de rétention peuvent être supprimées. Il n’existe aucune garantie spécifique lors de la suppression. Les données peuvent « s’attarder » même si la stratégie de rétention est déclenchée.
La stratégie de rétention est généralement définie pour limiter l’âge des données depuis l’ingestion. Pour plus d’informations, consultez SoftDeletePeriod.
Remarque
- L’heure de suppression est imprécise. Le système garantit que les données ne seront pas supprimées avant le dépassement de la limite, mais la suppression n’est pas immédiate après ce point.
- Une période de suppression réversible de 0 peut être définie dans le cadre d’une stratégie de rétention au niveau de la table, mais pas dans le cadre d’une stratégie de rétention au niveau de la base de données.
- Une fois cette opération effectuée, les données ingérées ne seront pas validées dans la table source, ce qui évite d’avoir à conserver les données. Par conséquent,
Recoverability
ne peut être défini que surDisabled
. - Une telle configuration est utile principalement lorsque les données sont ingérées dans une table. Une stratégie de mise à jour transactionnelle est utilisée pour la transformer et rediriger la sortie dans une autre table.
- La stratégie de rétention sur une vue matérialisée affecte uniquement la vue, et non la table source. Les données sources ne sont pas affectées.
Par objet de stratégie
Une stratégie de rétention inclut les propriétés suivantes :
- SoftDeletePeriod :
- Intervalle de temps pour lequel il est garanti que les données sont conservées à la disposition des requêtes. La période est mesurée à partir du moment où les données ont été ingérées.
- La valeur par défaut est
1,000 years
. - Lors de la modification de la période de suppression réversible d’une table ou d’une base de données, la nouvelle valeur s’applique aux données existantes et nouvelles.
- Récupérabilité :
- Récupération des données (activée/désactivée) après la suppression des données.
- La valeur par défaut est
Enabled
. - Si la valeur est définie
Enabled
, les données sont récupérables pendant 14 jours après sa suppression réversible. - Il n’est pas possible de configurer la période de récupération.
Commandes de gestion
- Permet
.show policy retention
d’afficher la stratégie de rétention actuelle pour une base de données, une table ou une vue matérialisée. - Permet
.alter policy retention
de modifier la stratégie de rétention actuelle d’une base de données, d’une table ou d’une vue matérialisée.
Valeurs par défaut
Par défaut, lorsqu’une base de données ou une table est créée, elle n’a pas de stratégie de rétention définie. Normalement, la base de données est créée, puis a immédiatement sa stratégie de rétention définie par son créateur en fonction des exigences connues.
Lorsque vous exécutez une commande pour la stratégie de rétention d’une base de données ou d’une table qui n’a pas eu son jeu de stratégies, Policy
apparaît sous la forme null
..show
La stratégie de rétention par défaut, avec les valeurs par défaut mentionnées ci-dessus, peut être appliquée à l’aide de la commande suivante.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
La commande génère l’objet de stratégie suivant appliqué à la base de données ou à la table.
{
"SoftDeletePeriod": "365000.00:00:00", "Recoverability":"Enabled"
}
L’effacement de la stratégie de rétention d’une base de données ou d’une table peut être effectué à l’aide de la commande suivante.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Exemples
Pour un environnement qui a une base de données nommée MyDatabase
, avec des tables MyTable1
, MyTable2
et MySpecialTable
.
Période de suppression réversible de sept jours et désactivation de la récupération
Définissez toutes les tables de la base de données pour qu’elles disposent d’une période de suppression réversible de sept jours et désactivez la récupération.
Option 1 (recommandé) : Définissez une stratégie de rétention au niveau de la base de données et vérifiez qu’aucune stratégie de niveau table n’est définie.
.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
Option 2 : Pour chaque table, définissez une stratégie de rétention au niveau de la table, avec une période de suppression réversible de sept jours et une possibilité de récupération désactivée.
.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
Période de suppression réversible de sept jours et possibilité de récupération activée
Définissez les tables
MyTable1
etMyTable2
définissez une période de suppression réversible de sept jours et désactivez la récupération.Définissez
MySpecialTable
une période de suppression réversible de 14 jours et la récupération activée.Option 1 (recommandé) : définissez une stratégie de rétention au niveau de la base de données et définissez une stratégie de rétention au niveau de la table.
.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
Option 2 : Pour chaque table, définissez une stratégie de rétention au niveau de la table, avec la période de suppression réversible et la récupération appropriées.
.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
Période de suppression réversible de sept jours et MySpecialTable
conserve indéfiniment ses données
Définissez les tables MyTable1
et MyTable2
disposez d’une période de suppression réversible de sept jours et conservez MySpecialTable
indéfiniment ses données.
Option 1 : Définir une stratégie de rétention au niveau de la base de données et définir une stratégie de rétention au niveau de la table, avec une période de suppression réversible de 1 000 ans, la stratégie de rétention par défaut, pour
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
Option 2 : Pour les tables
MyTable1
etMyTable2
, définissez une stratégie de rétention au niveau de la table et vérifiez que la stratégie au niveau de la base de données et au niveau de la table n’estMySpecialTable
pas définie..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
Option 3 : Pour les tables
MyTable1
etMyTable2
, définissez une stratégie de rétention au niveau de la table. Pour la tableMySpecialTable
, définissez une stratégie de rétention au niveau de la table avec une période de suppression réversible de 1 000 ans, la stratégie de rétention par défaut..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"