La gestion d‘une base de données peut s‘apparenter à une partie de Jenga. Vous devez sans cesse apporter des modifications pour rester dans le jeu, mais chacune d‘entre elles met en péril l‘intégrité de la structure si elle n‘est pas effectuée avec soin.
Mais heureusement, il existe des outils et des processus qui peuvent soutenir de bons changements structurels en tenant tout le monde au courant de ce qui se passe en temps réel.
Qu‘est-ce qu‘un schéma et une modification de schéma ?
Pour bien comprendre l‘importance de la détection des changements de schéma, il faut d‘abord comprendre la définition d‘un schéma et d‘un changement de schéma.
Qu‘est-ce qu‘un schéma ?
Un schéma est une représentation de la structure de la base de données, y compris les tables et les champs des tables, ainsi que la relation entre les tables et les champs. Il comprend également les règles que les données doivent respecter dans cette base de données.
Le schéma d‘une base de données joue un rôle crucial en déterminant la manière dont les données sont organisées et accessibles. Un schéma idéal est conçu pour garantir que la base de données est capable de répondre aux besoins de l‘application ou du processus pour lequel elle est utilisée. Et comme les applications et les processus changent fréquemment, il est également courant de devoir apporter des modifications au schéma.
Qu‘est-ce qui constitue une modification du schéma ?
Une modification de schéma est une modification de la structure d‘une base de données qui affecte la manière dont les données sont stockées ou consultées. Toutes les modifications apportées à une base de données ne sont pas des modifications de schéma - l‘ajustement doit avoir un impact sur la structure de la base de données.
Les véritables changements de schéma sont les suivants :
- Ajout d‘un nouveau tableau ou suppression d‘un tableau existant.
- Ajout d‘une nouvelle colonne à un tableau ou suppression d‘une colonne existante.
- Modification du type de données, du nom ou des contraintes d‘une colonne.
Voici quelques exemples de modifications qui ne sont pas considérées comme des modifications de schéma (parce qu‘elles ne modifient pas la structure de la base de données) :
- Ajout ou modification de données dans des tableaux existants (c‘est ce qu‘on appelle la "manipulation de données").
- Création de nouvelles vues (une requête stockée sur des données que les utilisateurs peuvent interroger comme un objet de collection d‘une base de données persistante)
Ces petits changements qui ne modifient que les informations contenues dans le schéma, mais pas le schéma lui-même, ne nécessitent pas le même niveau de notification.
Pourquoi il est important de détecter les changements de schéma
Toute modification de la structure d‘une base de données peut avoir des répercussions sur les données. Imaginez les pieds d‘une table de cuisine. Si la hauteur d‘un pied est modifiée, ne serait-ce que légèrement, les conséquences sont perceptibles et peuvent empêcher cette table de cuisine de remplir sa fonction : être un endroit stable où poser de la nourriture.
Par conséquent, chaque fois qu‘un changement de ce type est effectué, il doit être détecté immédiatement afin de procéder aux ajustements nécessaires.
Assurer la fluidité de l‘intégration des données
Lorsque vous intégrez des informations provenant de sources multiples dans une base de données ou un entrepôt de données unique, vous pouvez être amené à détecter des modifications de schéma dans les systèmes sources afin de vous assurer que le processus d‘intégration fonctionne correctement.
Supposons qu‘un champ soit ajouté à un système source. Le processus d‘intégration peut nécessiter une mise à jour pour inclure ce champ dans la base de données cible.
Maintien des performances de la base de données
L‘ajout ou la suppression de champs ou de tables, ou la modification du type de données d‘un champ, peut affecter les performances de la base de données. L‘ajout d‘un nouvel index à une table peut améliorer les performances pour certaines requêtes, mais il peut également ralentir les performances globales de la base de données s‘il n‘est pas conçu et mis en œuvre correctement.
Si la modification du schéma n‘est pas rétrocompatible avec les applications ou processus existants qui utilisent la base de données, ces applications ou processus risquent de s‘interrompre ou de se comporter de manière inattendue.
Gouvernance des données
De nombreuses organisations doivent suivre et contrôler les modifications apportées au schéma d‘une base de données afin de préserver l‘intégrité et la cohérence des données. En détectant les modifications de schéma, les équipes peuvent vérifier si les changements sont correctement documentés et approuvés avant d‘être appliqués.
Si un champ est supprimé ou si son type de données est modifié d‘une manière incompatible avec les données existantes, les données de ce champ peuvent être perdues ou corrompues. Et même une petite quantité de données perdues ou corrompues peut avoir un impact sur l‘intégrité globale des données de la base de données.
Surveillance et alerte
La détection des modifications de schéma peut également être utile à des fins de surveillance et d‘alerte. Par exemple, une équipe peut mettre en place des alertes pour avertir les personnes concernées si une modification de schéma est effectuée en dehors d‘une fenêtre de modification prédéterminée ou par un utilisateur non autorisé.
Contrôle des versions
Toute équipe utilisant un système de contrôle de version pour gérer les modifications apportées à un schéma de base de données peut avoir besoin d‘un outil de détection des modifications de schéma, d‘une fonctionnalité ou d‘une automatisation, simplement pour suivre le travail de plusieurs développeurs. Dans de nombreuses équipes, plusieurs personnes apportent des modifications en même temps. Le suivi et la fusion correcte de ces modifications peuvent donc devenir un véritable casse-tête lorsque les développeurs doivent suivre manuellement les changements de schéma.
Comment démarrer avec la détection des changements de schéma ?
Supposons qu‘une équipe doive créer une solution permettant de capturer quotidiennement le schéma d‘une base de données contrôlée par un tiers et d‘alerter l‘équipe en cas de modification du schéma.
Grâce à la plate-forme d‘intégration intelligente SnapLogic, ce problème peut être résolu à l‘aide de deux pipelines et d‘une tâche planifiée. Une fois les pipelines en place, le système fonctionne de manière autonome et envoie une alerte par courrier électronique lorsqu‘il détecte un changement de schéma.
Une chose à noter : la grande majorité des Snaps utilisés sont des Snaps principaux, et la solution peut être étendue à d‘autres points d‘extrémité où le schéma ou les métadonnées peuvent être lus.
Faute de place dans cet article pour expliquer exactement comment procéder, nous vous proposons une vidéo du début à la fin du processus. Suivez la vidéo et commencez à créer votre propre détection de changement de schéma avec SnapLogic Intelligent Integration Platform.
Si vous souhaitez en savoir plus sur nos outils d‘intégration de données et sur la manière dont ils peuvent aider vos équipes, téléchargez notre site eBook, Guide de l‘acheteur pour l‘intégration des applications et des données.