Maintenance des tables Delta dans Microsoft Fabric

La maintenance des tables Delta vous aide à conserver des tables performantes et économes en stockage à mesure qu’elles prennent de l’ampleur. Au fil du temps, les tables Delta peuvent accumuler de nombreux petits fichiers, les données supprimées peuvent continuer à consommer de l’espace de stockage et les statistiques obsolètes peuvent réduire l’efficacité des requêtes. La maintenance régulière vous permet d’améliorer les performances de lecture, de récupérer le stockage et de maintenir les métadonnées de table alignées sur la façon dont vos charges de travail accèdent aux données. Utilisez cet article comme guide rapide pour les principales opérations de maintenance disponibles pour les tables Delta.

Pourquoi la maintenance est importante

À mesure que les tables Delta augmentent, l’activité d’écriture modifie la disposition physique de la table. Les tâches d’ingestion répétées peuvent créer de nombreux petits fichiers, les opérations de mise à jour et de suppression peuvent laisser subsister des fichiers non référencés ou des lignes supprimées logiquement, et des statistiques obsolètes peuvent empêcher Spark d’ignorer facilement des données inutiles. Si vous conservez régulièrement des tables, vous réduisez la surcharge pour les analyses, aidez à Fabric optimiser les requêtes plus efficacement et évitez de payer pour conserver le stockage dont les versions de table actives n’ont plus besoin.

Utiliser OPTIMIZE pour le compactage des bacs

Utilisez OPTIMIZE cette méthode lorsque votre table Delta a accumulé de nombreux petits fichiers et que vous souhaitez les consolider en moins de fichiers plus volumineux. Cette opération améliore les performances de lecture en réduisant la surcharge de gestion des fichiers et en rendant les analyses plus efficaces. OPTIMIZE prend également en charge d’autres arguments et fonctionnalités tels que VORDER. Pour la syntaxe complète, les options et les exemples, voir Compactage de la table et V-order.

OPTIMIZE table_name

Utiliser VACUUM pour le nettoyage du stockage

Utilisez cette option VACUUM lorsque vous souhaitez supprimer des fichiers de données non référencés antérieurs à la fenêtre de rétention configurée. Dans Fabric, cette opération vous aide à récupérer le stockage OneLake après les mises à jour, les suppressions, les fusions, les opérations de remplacement et le compactage. VACUUM se concentre sur le nettoyage du stockage plutôt que sur le réglage des requêtes. Il complète généralement d’autres tâches de maintenance au lieu de les remplacer. Pour obtenir des conseils de rétention et des détails d’exécution, consultez VACUUM.

VACUUM table_name

Utiliser REORG pour une réorganisation ciblée

Utilisez REORG quand vous devez réécrire l’état de la table pour un objectif de maintenance spécifique au lieu d’un compactage de fichiers général. Dans Delta Lake, REORG TABLE ... APPLY (PURGE) supprime physiquement les lignes qui suppriment des vecteurs marqués comme supprimés. Pour connaître les options prises en charge et quand les utiliser, consultez Réorganiser les tables Delta avec REORG.

Note

REORG n’est généralement pas nécessaire, car OPTIMIZE purge automatiquement les fichiers dans lesquels plus de 5 % des enregistrements sont référencés par des vecteurs de suppression.

REORG TABLE table_name APPLY (PURGE)

Maintenir les statistiques actuelles

Le Fabric Spark Runtime prend en charge deux types de statistiques sur les tables Delta : les statistiques de fichier et les statistiques de table.

  • Statistiques des fichiers — Delta Lake enregistre, pour chaque fichier, les valeurs minimales, maximales et le nombre de valeurs nulles des colonnes indexées chaque fois qu’un fichier de données est écrit. Le moteur Spark utilise ces statistiques pour ignorer les fichiers qui ne peuvent pas contenir de lignes correspondant à un prédicat de requête, ce qui réduit la quantité de données analysées. Par défaut, les statistiques sont collectées pour les 32 premières colonnes. Pour plus d’informations sur le fonctionnement de l’skipping de fichier et sur la façon de personnaliser les statistiques de colonnes collectées, consultez l’option Ignorer le fichier.
  • Statistiques de table : les statistiques au niveau des colonnes agrégées sur tous les fichiers de la table sont gérées automatiquement afin que Spark dispose de meilleures métadonnées pour la planification des requêtes. Ces statistiques améliorent les performances grâce à de meilleures décisions d’optimisation pour les filtres, les jointures et les agrégations. Pour savoir comment les statistiques automatisées fonctionnent et comment configurer, consultez Statistiques automatisées pour les tables Delta.

Utiliser l’autocompaction pour la gestion continue des fichiers

Delta Lake prend également en charge le compactage automatique après les opérations d’écriture, afin que les tables puissent rester en bon état sans nécessiter une tâche manuelle distincte à chaque fois. Vous pouvez contrôler ce comportement via les propriétés de table ou les paramètres de l’espace de travail, en fonction de la façon dont vous gérez vos charges de travail Spark. Pour plus d’informations sur l’activation, consultez compactage automatique .

Exécuter la maintenance à partir de l’interface utilisateur lakehouse

Si vous préférez un flux de travail basé sur l’interface utilisateur, vous pouvez exécuter des actions de maintenance directement depuis l’explorateur Lakehouse, voir maintenance de table Lakehouse.

Suivre une cadence de maintenance pratique

Exécutez OPTIMIZE après l’ingestion de lots volumineux ou chaque fois que de petits fichiers commencent à s’accumuler et à ralentir les lectures. Exécutez VACUUM à intervalles réguliers, par exemple chaque semaine ou après des cycles de compactage majeurs, afin de récupérer de l’espace de stockage des fichiers auxquels la table ne fait plus référence. REORG TABLE ... APPLY (PURGE) n’est pas nécessaire dans le cadre de la maintenance de routine, car OPTIMIZE purge automatiquement les fichiers pour lesquels plus de 5 % des enregistrements sont référencés par des vecteurs de suppression. Réservez PURGE pour les scénarios qui nécessitent un contrôle explicite, comme des exigences de conformité ou des obligations du RGPD. Surveillez la condition de table avec DESCRIBE DETAIL et DESCRIBE HISTORY vous pouvez ainsi suivre les nombres de fichiers, la taille et l’historique de maintenance avant et après chaque opération.

-- View current table state
DESCRIBE DETAIL table_name;

-- View history of transactions
DESCRIBE HISTORY table_name;