Ingestion de streaming et changements de schéma
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer
Les nœuds de cluster utilisent en cache le schéma des bases de données qui obtiennent des données par le biais de l’ingestion de streaming, ce qui améliore les performances et l’utilisation des ressources. Toutefois, lorsqu’il existe des modifications de schéma, cela peut entraîner des retards dans les mises à jour.
Les nœuds Eventhouse utilisent en cache le schéma des bases de données qui obtiennent des données par le biais de l’ingestion de streaming, ce qui améliore les performances et l’utilisation des ressources. Toutefois, lorsqu’il existe des modifications de schéma, cela peut entraîner des retards dans les mises à jour.
Si les modifications de schéma et l’ingestion de streaming ne sont pas synchronisées, vous pouvez rencontrer des échecs tels que des erreurs liées au schéma ou des données incomplètes et déformées dans la table.
Cet article décrit les modifications de schéma classiques et fournit des conseils sur l’évitement des problèmes d’ingestion de streaming pendant ces modifications.
Modifications de schéma
La liste suivante présente des exemples clés de modifications de schéma :
- Création de tables
- Suppression de tables
- Ajout d’une colonne à une table
- Suppression d’une colonne d’une table
- Retapez les colonnes d’une table
- Renommage des colonnes d’une table
- Ajout de mappages d’ingestion précréés
- Suppression des mappages d’ingestion précréés
- Ajout, suppression ou modification de stratégies
Coordonner les modifications de schéma avec l’ingestion de streaming
Le cache de schéma est conservé pendant que la base de données est en ligne. S’il existe des modifications de schéma, le système actualise automatiquement le cache, mais cette actualisation peut prendre plusieurs minutes. Si vous vous appuyez sur l’actualisation automatique, vous pouvez rencontrer des échecs d’ingestion non coordonnés.
Vous pouvez réduire les effets du délai de propagation en désactivant explicitement le cache de schéma sur les nœuds. Si le flux d’ingestion de streaming et les modifications de schéma sont coordonnés, vous pouvez éliminer complètement les défaillances et leur distorsion de données associée.
Pour coordonner le flux d’ingestion de streaming avec les modifications de schéma :
- Suspendez l’ingestion de streaming.
- Attendez que toutes les demandes d’ingestion de streaming en attente soient terminées.
- Effectuez des modifications de schéma.
- Émettez une ou plusieurs commandes de schéma d’ingestion de streaming du cache .clear.
- Répéter jusqu’à ce que toutes les lignes de la sortie de commande indiquent la réussite
- Reprendre l’ingestion de streaming.
Remarque
Si vous avez créé une application pour l’ingestion personnalisée, nous vous recommandons de gérer les échecs liés au schéma en retenant une durée définie ou en redirigeant les données à partir de requêtes ayant échoué à l’aide de méthodes d’ingestion mises en file d’attente.