Rationalisez le déploiement des schémas de table pour appliquer les normes de conception d'entreprise, maintenir la cohérence des schémas entre les environnements de base de données et améliorer le taux de réussite des mises en production. Cette rubrique illustre le processus à l'aide d'un flux de travail personnalisé à trois nœuds : Développement (Dev), Test et Production.
Contexte
|
Avantage |
Description |
|
Améliore le taux de réussite des déploiements en production |
Avant de déployer un nouveau schéma de table en production, le système le valide à chaque étape du processus de R&D. Cette pratique empêche les scripts non vérifiés de provoquer des échecs de déploiement et garantit un taux de réussite élevé. |
|
Garantit la cohérence des schémas entre les environnements |
Le système applique les modifications de schéma à chaque environnement de base de données conformément au processus de R&D. Cela permet d'éviter les retards de projet causés par des échecs de modification ou des interruptions de test dans certains environnements. |
|
Applique les normes de conception de schéma |
Les spécifications de conception de schéma couvrent près de 40 normes pour des opérations telles que la création de tables et la modification de champs et d'index. Ces normes aident à prévenir les échecs en production dus à des déploiements non conformes et réduisent la charge manuelle des équipes d'exploitation, favorisant ainsi une itération rapide. Pour plus d'informations, consultez la section Spécifications de conception de schéma. |
Présentation de la solution
Personnalisez le processus de R&D (facultatif) : Le processus par défaut est Développement > Production. Adaptez-le selon les besoins de votre activité.
Définissez une règle de sécurité pour une instance de base de données (facultatif) : Associez le processus de R&D personnalisé à une instance de base de données via une règle de sécurité.
Concevez un schéma de base de données : Soumettez un ticket de conception de schéma pour garantir la cohérence des schémas entre plusieurs bases de données et assurer le succès du déploiement en production.
Prérequis
-
Créez trois instances de base de données ApsaraDB RDS for MySQL, puis créez un compte et une base de données dans chaque instance. Pour plus d'informations, consultez la section Créer rapidement une instance ApsaraDB RDS for MySQL.
Dans cet exemple, les instances de base de données sont nommées Schema_Design-dev, Schema_Design-test et Schema_Design-product.
Dans cet exemple, les bases de données sont nommées dev_database, test_database et product_database.
-
Utilisez un compte Alibaba Cloud disposant des autorisations d'administrateur ou de DBA pour enregistrer les trois instances de base de données dans Data Management Service (DMS). Définissez le mode de contrôle de toutes les instances sur Security Collaboration et leurs types d'environnement de base de données respectivement sur Development (Dev), Test et Production. Pour plus d'informations, consultez la section Enregistrer une base de données cloud.
Mappage instance-nœud
Étape 1 : Personnaliser le processus de R&D
Créez une règle de sécurité et configurez le processus de conception de schéma. Le processus de R&D comprend les nœuds Développement, Test et Production.
Étape 1.1 : Accéder à la page des règles de sécurité
Connectez-vous à la console Data Management Service (DMS) 5.0.
Dans le coin supérieur gauche de la console, cliquez sur l'icône
et choisissez .
Si vous utilisez la console en mode normal, choisissez dans la barre de navigation supérieure.
Étape 1.2 : (Facultatif) Créer une règle de sécurité
Sur la page Security Rules , cliquez sur Create Rule Set dans le coin supérieur gauche pour ajouter un ensemble de règles. Cet exemple utilise SD-DT.
Après la création de la règle de sécurité, DMS affiche sa page de détails.
Dans la boîte de dialogue, définissez Engine Type sur MySQL, saisissez un nom et une description pour l'ensemble de règles, puis cliquez sur Submit.
Étape 1.3 : Personnaliser le processus de R&D
Configurez le processus de R&D dans la règle de sécurité pour définir les étapes de la conception de schéma et les opérations autorisées à chaque étape.
-
(Facultatif) À droite de la règle de sécurité, cliquez sur Edit pour accéder à la page Details .
RemarqueSi vous venez de créer la règle de sécurité, ignorez cette étape.
Dans le volet de navigation de gauche de la page Details , cliquez sur Schema Design .
-
Sous l'onglet Schema Design , recherchez la section R&D process et cliquez sur Edit dans la colonne Actions .
Remplacez le nom du deuxième nœud par
Testet modifiez l'environnement de base de données entest.-
Ajoutez un troisième nœud. Remplacez son nom par
Production, modifiez l'environnement de base de données enproductet définissez ce nœud comme un anchor .RemarqueUn anchor est un point de blocage pour la modification d'un ticket. Après le déploiement réussi d'une étape comportant un ancrage, le statut du ticket passe à « publié » et il devient impossible de le modifier.
Après avoir configuré tous les nœuds, cliquez sur Submit.
Cliquez sur Submit .
Étape 2 : Attribuer la règle de sécurité à une instance
Définissez le mode de contrôle de l'instance Schema_Design-dev (environnement Dev) sur Security Collaboration et sélectionnez la règle de sécurité SD-DT.
Dans la liste des instances sur le côté gauche de la page d'accueil de la console, faites un clic droit sur l'instance de base de données Schema_Design-dev.
Dans le menu contextuel, choisissez .
Étape 3 : Concevoir le schéma de la base de données
Créez un schéma de table pour une base de données à l'aide d'un projet de conception de schéma à trois nœuds (Développement, Test, Production).
Étape 3.1 : Accéder à la page de conception de schéma DMS
Connectez-vous à DMS 5.0.
-
Dans la barre de navigation supérieure, choisissez .
RemarqueSi vous utilisez la console DMS en mode simple, placez le pointeur sur l'icône
dans le coin supérieur gauche de la console et choisissez . Dans le coin supérieur droit de la page, cliquez sur Schema Design .
Étape 3.2 : Configurer le ticket de conception de schéma
-
Créez un ticket de conception de schéma.
Sur la page Create Ticket , définissez Base Database for Change sur la base de données de l'environnement de développement. Configurez les autres paramètres selon vos besoins.
Dans cet exemple, dev_database est sélectionnée comme base de données de référence.
Les autres paramètres du formulaire incluent Project Name, Project Background, Security Rule, Associated Iteration et Stakeholders. Une fois remplis, cliquez sur Submit.
-
Dans le nœud Develop , créez une table dans la base de données dev_database.
-
Cliquez sur Import SQL Statements , saisissez le code SQL pour créer la table, puis cliquez sur OK .
Cliquez sur Save . Dans la boîte de dialogue Precheck Result , cliquez sur Confirm Changes and Submit to Save .
Cliquez sur Perform Changes to Base Database .
Dans le panneau qui s'affiche, sélectionnez une execution strategy , confirmez que l'instruction SQL est correcte, puis cliquez sur OK .
-
Une fois la modification approuvée manuellement, le système écrit le nouveau schéma de table dans la base de données dev_database.
Sous l'onglet Change Execution History, vous pouvez consulter le résultat d'exécution pour la table teacher. Le statut est Success, la progression est de 100 % et la stratégie d'exécution est Execute Now.
-
Cliquez sur Go to Next Node .
RemarqueAvant de poursuivre, effectuez plusieurs modifications de conception et validations sur la base de données dev_database dans ce nœud. Le système générera finalement un script
createunique à déployer vers le nœud suivant.
-
-
Dans le nœud Test , synchronisez le schéma de table créé dans le nœud précédent avec la base de données de test.
Cliquez sur Perform Changes to Target Database .
-
Sélectionnez la base de données test_database, définissez la execution strategy sur Execute Now et cliquez sur OK .
La zone Execution Script affiche l'instruction SQL pour créer la table
teacher. L'instruction définit trois champs (teacher_id,teacher_nameetphonenumber), définitteacher_idcomme clé primaire, utilise le jeu de caractères utf8 et inclut le commentaire « Teacher table ». -
Une fois la modification approuvée, le système applique le schéma à la base de données test_database.
ImportantLe nœud suivant, Production, est un ancrage. Une fois que vous avez avancé vers un nœud d'ancrage, vous ne pouvez pas revenir à un nœud précédent pour effectuer des opérations de conception ou de déploiement.
Cliquez sur Go to Next Node .
-
Dans le nœud Production (ancrage), synchronisez le schéma de table avec la base de données de production.
Cliquez sur Perform Changes to Target Database .
Sélectionnez la base de données product_database, définissez la execution strategy sur Execute Now et cliquez sur OK .
-
Après avoir soumis la modification, attendez son approbation.
Une fois approuvée, le système applique le schéma à la base de données product_database, après quoi vous pourrez y écrire des données.
Après avoir cliqué sur Go to Next Node , le processus de conception de schéma se termine et DMS ferme automatiquement le ticket.
Opérations connexes
Pour plus de détails sur les règles spécifiques du module de conception de schéma des règles de sécurité, consultez la section Règles de sécurité pour le module de conception de schéma .
Pour plus d'informations sur les cas d'utilisation et les fonctionnalités de la conception de schéma, consultez la section Conception de schéma .
-
Vous pouvez également utiliser une API pour obtenir le statut de déploiement d'un ticket de conception de schéma :