Share via


Étendues (partitions de données)

Les tables sont partitionnées en extensions ou partitions de données. Chaque extension est un segment horizontal de la table qui contient des données et des métadonnées telles que l’heure de création et les balises facultatives. L’union de toutes ces étendues contient l’intégralité du jeu de données de la table. Les extensions sont réparties uniformément entre les nœuds du cluster, et elles sont mises en cache à la fois dans le disque SSD local et la mémoire pour optimiser les performances.

Les extensions sont immuables, ce qui signifie qu’elles peuvent être interrogées, réaffectées à un autre nœud ou supprimées de la table, mais jamais modifiées. La modification des données se produit en créant de nouvelles extensions et en échangeant les anciennes étendues par transaction avec les nouvelles. L’immuabilité des étendues offre des avantages tels qu’une robustesse accrue et une réversion facile vers les instantanés précédents.

Les extensions contiennent une collection d’enregistrements qui sont physiquement organisés en colonnes, ce qui permet un encodage et une compression efficaces des données. Pour maintenir l’efficacité des requêtes, les extensions plus petites sont fusionnées dans des étendues plus grandes en fonction de la stratégie de fusion et de la stratégie de partitionnement configurées. La fusion des extensions réduit la surcharge de gestion et conduit à l’optimisation des index et à une meilleure compression.

Le cycle de vie d’extension commun est le suivant :

  1. L’extension est créée par une opération d’ingestion.
  2. L’extension est fusionnée avec d’autres étendues.
  3. L’étendue fusionnée (éventuellement une extension qui effectue le suivi de sa traçabilité à d’autres étendues) est finalement supprimée en raison d’une stratégie de rétention.

Heure de création de l’extension

Deux valeurs datetime sont suivies par extension : MinCreatedOn et MaxCreatedOn. Ces valeurs sont initialement les mêmes, mais peuvent changer lorsque l’extension est fusionnée avec d’autres étendues. Lorsque l’extension est fusionnée avec d’autres étendues, les nouvelles valeurs sont en fonction des valeurs minimales et maximales d’origine des étendues fusionnées.

L’heure de création d’une extension est utilisée aux fins suivantes :

  • Rétention : les extensions créées précédemment sont supprimées précédemment.
  • Mise en cache : les extensions créées récemment sont conservées dans un cache à chaud.
  • Échantillonnage : les extensions récentes sont préférées lors de l’utilisation d’opérations de requête telles que take.

Pour remplacer l’heure de création d’une étendue, fournissez une alternative creationTime dans les propriétés d’ingestion des données. Cela peut être utile à des fins de rétention, par exemple si vous souhaitez réinscrire des données, mais que vous ne voulez pas qu’elles apparaissent comme si elles sont arrivées en retard.

Notes

Le calcul de la suppression d’une étendue basée sur le temps utilise l’heure de création de l’extension la plus récente dans l’étendue fusionnée.