10 milliards de données ne sont pas l'expansion « double », comment ne pas affecter le service, la migration des données en douceur?

Quel scénario applique?

Internet Il y a beaucoup de « grande quantité de données, plus grande concurrence, la complexité opérationnelle supérieure » de la scène commerciale, son architecture en couches système typique comme suit:

(1) est en amont de la couche d'affaires biz , La logique métier personnalisée;

(2) est un secteur intermédiaire Service Layer , Encapsulation d'accès aux données;

(3) est en aval couche de données db Le stockage des données de service guéries;

Avantages de l'architecture en couches du service, la couche de service protège la complexité de la couche de données en aval, telles que la mise en cache, dépôt sous-sous-tableau, les moteurs de stockage ne doivent pas nécessairement les détails du magasin d'exposition à l'appelant, mais fournit une interface un accès pratique en amont RPC, quand il y a des changements de la couche de données, tous les appelants ne ont pas besoin de mettre à niveau, il vous suffit de mettre à jour la couche de service.

l'architecture Internet, souvent confronté à un certain nombre d'exigences:

(1) des changements structurels dans les tables sous-jacentes : Une très grande quantité de données, la table de données a ajouté certaines propriétés, supprimer certaines des propriétés, modifier certaines des propriétés.

(2) modifier le nombre de sous-bibliothèques : Étant donné que la quantité de données continue d'augmenter, le nombre de sous-bibliothèques sous-jacentes non multipliées.

(3) les changements dans le moyen de stockage sous-jacent : Moteur de stockage sous-jacent de passer d'une base de données à une autre base de données.

Tous les types de demande, le besoin de la migration des données, la douceur de la migration des données, le processus de migration non-stop, assurez-vous que le système de service continu, le problème est le texte à discuter.

Première option: Arrêter le programme

Avant de discuter le bon programme de migration de données, lisse regard sans arrêter le programme de migration de données, divisée en trois étapes principales.

Première étape : pendre Un semblable « afin de fournir aux clients un meilleur service, le serveur à 00h00: pour maintenance 400: 00-0, » la annonce Et pour la période correspondante fermeture Cette fois-ci ne coule pas dans le système.

Deuxième étape : Après l'arrêt, une recherche et développement Hors ligne L'outil de migration de données, migration de données . Pour les trois premiers types de demande, respectivement, développera différents outils de migration de données.

(1) les besoins de la structure de table sous-jacente au changement: l'ancienne table nouvelle table guide des outils de développement;

(2) le nombre de besoins de conversion sous-bibliothèque: guide d'outil de développement de base de données 32 bibliothèque;

(3) convertissant les exigences en matière de support de stockage sous-jacent: Guide mongo Mysql outil de développement;

Troisième étape : services de récupération Et la circulation est basculée vers la nouvelle bibliothèque, des besoins différents, des services différents peuvent impliquer des mises à niveau.

(1) la structure de table sous-jacente a changé les exigences: Pour mettre à niveau le service pour accéder à la nouvelle table;

(2) le nombre de la demande transformée sous-bibliothèque: service pas besoin de mettre à niveau, il suffit de modifier la base de données de configuration de routage recherche;

(3) les besoins de conversion de support de stockage sous-jacent: les mises à niveau de service pour accéder à de nouveaux supports de stockage;

Dans l'ensemble, le programme d'arrêt est relativement simple et simple, mais l'impact sur la disponibilité des services, beaucoup de la mise à niveau du serveur de jeu, la partition de jeu et de la zone de coopération, peut adopter des programmes similaires.

En plus d'affecter la disponibilité des services, il y a un inconvénient de ce programme est de mettre à niveau doit être complété à l'heure indiquée, la R & D, les tests, les étudiants de fonctionnement et d'entretien, La pression sera très grande S'il y a des problèmes, tels que l'incohérence des données doivent être résolus dans le délai imparti, ou seulement révulsés. Selon l'expérience, Plus grand et plus la pression humaine sujette à l'erreur Cet inconvénient est fatale dans une certaine mesure.

Dans tous les cas, le schéma d'arrêt ne sont pas au centre de la discussion d'aujourd'hui, le regard let au commun des scénarios de migration de données lisses.

Option deux: système d'exploitation forestière chase

programme chase Log, est un programme de migration en douceur haute disponibilité, le programme est divisé en cinq étapes.

Avant la migration des données des applications d'entreprise en amont d'accès anciennes données par l'ancien service.

Première étape : Service de mise à niveau journal « pour modifier les données sur l'ancienne piscine » (modifiée ici pour insérer des données, suppression, mise à jour), le journal n'a pas besoin d'enregistrer des données détaillées, le dossier principal:

(1) est modifié bibliothèque;

(2) la forme modifiée;

(3) la clé unique modifié;

Qu'est-ce que la nouvelle ligne spécifique, quel format de données modifiées qui ne nécessitent pas des dossiers détaillés. L'avantage est que, peu importe la façon dont les détails d'affaires des modifications, le format du journal est fixe, ce qui garantira régime universel.

Cette mise à niveau de service avec moins de risques:

(1) Ecrire quelques interfaces d'interface, point de moins de changement;

(2) mettre à niveau seulement ajouté quelques journaux, pas d'impact sur les fonctions de l'entreprise;

Deuxième étape : Le développement d'un outil de migration de données pour la migration des données. Comme l'outil de migration d'outils et de migration de données hors ligne aux données de transfert de la base de données ancienne à la nouvelle bibliothèque dans le passé.

Ce gadget est un petit risque:

(1) L'ensemble du processus est toujours l'ancienne bibliothèque de fournir des services en ligne;

(2) une faible complexité du gadget;

(3) tout le temps de trouver le problème, les données peuvent dans la nouvelle bibliothèque de tuer à nouveau;

(4) la limite de vitesse peut lentement Migrate, les étudiants en technologie ont aucune pression de temps;

Après la migration des données est terminée, la nouvelle bibliothèque sera en mesure de fournir des services à couper?

La réponse est non, le processus de migration des données, l'ancienne bibliothèque est toujours de fournir le service en ligne, la base de données peut changer à tout moment, ce changement n'a pas été reflété dans la nouvelle bibliothèque dans le passé, de sorte que les données de l'ancienne bibliothèque et la nouvelle bibliothèque et incompatibles, il est pas directement Ceku, les besoins de données à égalité.

Quelles sont les données a changé?

La première étape dans les enregistrements du journal, il est le changement des données.

Troisième étape : Le développement d'un gadget et lire la migration des données du journal, l'étape de migration deux doivent données de différence générées pendant les données liées. Ce besoin de gadget à faire est:

(1) lire le journal, qui a obtenu la bibliothèque, qui table, qui touche maître a changé;

(2) l'ancien record de base de données correspondant à la clé primaire est lue;

(3) le remplacement du nouvel enregistrement de base de données correspondant à la clé primaire sur;

Dans tous les cas, le principe est la personne concernée à l'ancienne bibliothèque.

Le risque de ce gadget est très faible:

(1) L'ensemble du processus est toujours l'ancienne bibliothèque de fournir des services en ligne;

(2) une faible complexité du gadget;

(3) le temps de trouver des problèmes, gros problème recommencez à partir de la deuxième étape;

(4) peut se connecter vitesse lente reprise, pas les étudiants en technologie de pression de temps;

Après la relecture du journal, il sera en mesure de couper un nouveau service de bibliothèque encore?

La réponse est toujours pas, dans le processus de relecture du journal, l'ancienne bibliothèque et les données ont changé, ce qui des données incohérentes, il ne peut toujours pas Ceku, la nécessité de poursuivre la lecture de journal, égalisant le record. On peut voir les données de journal de lecture liée est un programme tout en (1) programme, une nouvelle bibliothèque avec les données liées l'ancienne bibliothèque sera un processus « d'approximation infinie ».

Lorsque les données sont exactement quoi?

Quatrième étape : Dans le processus de journal de lecture en continu, attacher les données, développer une validation des données gadget, les données de l'ancienne bibliothèque et la nouvelle bibliothèque de comparaison, exactement les mêmes que les données.

Le risque est encore très petit gadget:

(1) L'ensemble du processus est toujours l'ancienne bibliothèque de fournir des services en ligne;

(2) une faible complexité du gadget;

(3) le temps de trouver des problèmes, gros problème recommencez à partir de la deuxième étape;

(4) peut lentement que la vitesse des données, il n'y a pas d'étudiants de pression dans le temps;

Cinquième étape : Après avoir comparé exactement les mêmes données, le trafic migré vers la nouvelle bibliothèque, la nouvelle bibliothèque offre des services pour terminer la migration.

Si l'étape quatre est 99,9% des données ont été cohérentes, pas exactement la même chose, il est normal, vous pouvez faire un second niveau de l'ancienne bibliothèque en lecture seule, comme le programme de relecture du journal attraper complètement les données, puis le trafic Qieku Qie.

Jusqu'à présent, la mise à niveau est terminée, le processus peut continuer à fournir des services en ligne, n'affecte pas la disponibilité du service.

Troisième option: programme d'écriture double

Doublez le programme, mais aussi un programme de migration en douceur hautement disponible, qui est divisé en quatre étapes.

Avant la migration des données des applications d'entreprise en amont d'accès anciennes données par l'ancien service.

Première étape : Service de mise à niveau vers les « modifications de données à l'ancienne bibliothèque, » faire la même opération de changement (modifié ici pour insérer des données, suppression, mise à jour) dans la nouvelle bibliothèque, qui est appelée la « double-écriture », la principale opérations de modification comprennent:

(1) insert alors que l'ancienne bibliothèque et la nouvelle bibliothèque;

(2) alors que l'ancienne bibliothèque et la nouvelle bibliothèque de suppression;

(3) mise à jour alors que l'ancienne bibliothèque et la nouvelle bibliothèque;

Depuis la nouvelle bibliothèque à l'heure actuelle il n'y a pas de données, donc deux fois l'ancienne bibliothèque et la nouvelle bibliothèque affectent les lignes peuvent être différentes, mais cela ne modifie pas les fonctions commerciales, ils ne coupent pas la bibliothèque, l'ancienne bibliothèque est toujours offrir des services d'affaires.

Cette mise à niveau de service avec moins de risques:

(1) Ecrire quelques interfaces d'interface, point de moins de changement;

(2) pour écrire une nouvelle opération de bibliothèque exécutée, elle ne avec succès ou non pas d'impact sur la fonction commerciale;

Deuxième étape : Le développement d'un outil de migration de données pour la migration des données. L'outil de migration de données a vu le jour pour la troisième fois dans cet article pour transférer des données de l'ancienne base de données à la nouvelle bibliothèque dans le passé.

Ce gadget est un petit risque:

(1) L'ensemble du processus est toujours l'ancienne bibliothèque de fournir des services en ligne;

(2) une faible complexité du gadget;

(3) tout le temps de trouver le problème, les données peuvent dans la nouvelle bibliothèque de tuer à nouveau;

(4) la limite de vitesse peut lentement Migrate, les étudiants en technologie ont aucune pression de temps;

Après la migration des données est terminée, la nouvelle bibliothèque sera en mesure de fournir des services à couper?

La réponse est oui, parce que les étapes avant de la double écriture, donc en théorie, après l'achèvement de la migration des données, les données pour la nouvelle bibliothèque et l'ancienne bibliothèque doivent être exactement les mêmes.

Étant donné que le processus de migration des données, la nouvelle opération double écriture de la bibliothèque ancienne bibliothèque en même temps, Après la migration de données est la preuve complète de la façon dont les données sont tout à fait en accord avec elle?

Comme le montre la figure:

(1) est laissée dans les données de l'ancienne base de données, un nouveau droit est un référentiel de données;

(2) la clé primaire dans l'ordre du minimum au maximum, segmentée, limite de vitesse de migration de données, maintenant supposé avoir été déplacé vers le segment de données, les opérations de modification de données sont traitées dans le processus de migration:

  • Si l'on suppose que le processus de migration a été Double opération d'insertion , Une nouvelle bibliothèque ancienne bibliothèque sont données insérées, la cohérence des données ne sont pas détruites
  • Si l'on suppose que le processus de migration a été Double opération de suppression Il est divisé en deux cas

I. : On suppose que les données appartiennent à supprimer Range, que la migration est terminée, la nouvelle bibliothèque ancienne bibliothèque sont données supprimées, la cohérence des données ne sont pas détruites;

scénario 2 : On suppose que les données appartiennent à supprimer Range, qui ne sont pas la migration terminée, puis supprimez l'ancien des opérations de bibliothèque affectent les lignes de 1, supprimer les nouvelles opérations bibliothèque affectent les lignes 0, mais dans la migration des données d'outil de migration de données ultérieures, ce ne sera pas l'ancienne bibliothèque supprimé la migration de données vers la nouvelle base de données, la cohérence des données n'a pas encore été détruite;

  • Si l'on suppose que le processus de migration a été Double opération de mise à jour Il peut être considéré comme l'opération de mise à jour est une opération de suppression en plus d'une opération d'insertion composite, de sorte que les données sont toujours cohérentes

À moins que, dans une situation très extrême:

(1) date migrate-outil juste X est retiré d'un morceau de données dans l'ancienne bibliothèque;

(2) Avant X inséré dans la nouvelle bibliothèque, l'ancienne bibliothèque et nouvelle bibliothèque juste X est un double de l'opération de suppression;

(3) la date-outil migrate-X, puis inséré dans la nouvelle base de données;

De cette façon, il y aura une nouvelle bibliothèque et plus de données que l'ancienne bibliothèque X.

Mais en tout cas, afin d'assurer la cohérence des données, avant Ceku, les données doivent encore être vérifiées.

Troisième étape : Après la migration des données est terminée, vous devez utiliser gadget de validation des données, les données de l'ancienne bibliothèque et la nouvelle bibliothèque de comparaison, la même est conforme aux attentes, l'émergence de deux étapes d'extrême si les incohérences, place l'ancienne bibliothèque la personne concernée.

Le risque est encore très petit gadget:

(1) L'ensemble du processus est toujours l'ancienne bibliothèque de fournir des services en ligne;

(2) une faible complexité du gadget;

(3) le temps de trouver des problèmes, gros problème recommencez à partir de la deuxième étape;

(4) peut lentement que la vitesse des données, il n'y a pas d'étudiants de pression dans le temps;

Quatrième étape : Après exactement les mêmes données, le trafic est commuté à la nouvelle bibliothèque, effectuer une migration de données lisse.

Jusqu'à présent, la mise à niveau est terminée, le processus peut continuer à fournir des services en ligne, n'affecte pas la disponibilité du service.

résumé

Beaucoup de « grande quantité de données, plus grande concurrence, la complexité opérationnelle supérieure » de l'Internet pour les scénarios d'affaires, en:

(1) modifier la structure de la table sous-jacente;

(2) modifier le nombre de sous-bibliothèques;

(3) les changements dans le moyen de stockage sous-jacente;

Sous de nombreux besoins, la nécessité d'une migration de données, complète « Une migration en douceur des données, processus de migration non-stop, assurez-vous que le système de service continu. » Il existe deux solutions communes.

système d'exploitation forestière Chase , Cinq étapes:

(1) mise à niveau de service , Record « données sur l'ancienne modification bibliothèque » du journal;

(2) le développement d'une migration de données Gadgets , La migration de données;

(3) développer un journal de lecture Gadgets , Attachant des données de différence;

(4) le développement d'une comparaison de données Gadgets , Vérifier la cohérence des données;

(5) Le trafic est commuté vers une nouvelle bibliothèque, une migration en douceur terminée;

programme doublewrite Quatre étapes:

(1) mise à niveau de service , Record « de modification des données sur l'ancienne bibliothèque » double écriture d'une nouvelle bibliothèque;

(2) le développement d'une migration de données Gadgets , La migration de données;

(3) le développement d'une comparaison de données Gadgets , Vérifier la cohérence des données;

(4) Le trafic est commuté vers une nouvelle bibliothèque, une migration en douceur terminée;

Trois retour Jin Trois Royaumes 60 - Édition des Beaux-Arts de Shanghai Zhang Tao gens Maison, si Hu peint Bouddha
Précédent
Trois Royaumes 59 deux personnes lutte pour le pouvoir - « vers le bas » Publication des Beaux-Arts de Shanghai Maison populaire peint Liu Xiyong
Prochain
Trois Royaumes 59 deux personnes lutte de pouvoir - Édition des Beaux-Arts de Shanghai Personnes Maison Liu Xiyong « Up » peint
8 années consécutives, cette année scolaire pour les étudiants sur plus de 20 expérience professionnelle « train »
58 Trois Royaumes Jiang Wei Évitez la crise - l'eau Publishing Beaux-Arts de Shanghai Maison Tianhong personnes peint « vers le bas »
58 Trois Royaumes Jiang Wei Évitez la crise - Publication des Beaux-Arts de Shanghai populaire House « Up » Tianhong puiser de l'eau
Trois Royaumes 57 pour discuter de Sima - Publication des beaux-arts Maison Zhu Zhang Guangyu Bocheng populaire de Shanghai peint
Trois Royaumes 56 Ginger bataille d'esprits Deng - « vers le bas » peint Publishing Beaux-Arts de Shanghai Su Feng gens Maison poterie et d'autres Ganchen
bataille des Trois Royaumes 56 Ginger Deng d'esprits - « Up » Publishing Beaux-Arts de Shanghai Su Feng gens Maison peint la poterie et d'autres Ganchen
Trois Royaumes 55 cages de montagne - Beaux-Arts de Shanghai Personnes Maison d'édition Feng Xu peint Tuquan Yiming
Trois Royaumes 54 appartenant au gouvernement Sima - Beaux-Arts de Shanghai Maison d'édition populaire von encre agricole peint « vers le bas »
Trois Royaumes 54 appartenant au gouvernement Sima - Édition Shanghai Beaux-Arts populaire Maison von encre « sur » l'agriculture peint
Mmm ... ah VS réponse mot filles a été critiqué patron voulait quitter, comprendre en
Trois Royaumes 53 Wuzhangyuan - « vers le bas » Publication des Beaux-Arts de Shanghai gens Maison Agriculture von peinture à l'encre