Maison base de données tutoriel mysql Tutoriel d'exemple de soumission de groupe MySQL5.7 et de réplication parallèle

Tutoriel d'exemple de soumission de groupe MySQL5.7 et de réplication parallèle

Jun 20, 2017 pm 03:13 PM
复制 parallèle

Depuis la version 5.5 de MySQL, le mécanisme de réplication parallèle a été introduit, ce qui est une fonctionnalité très importante de MySQL.
MySQL 5.6 commence à prendre en charge la réplication parallèle avec le schéma comme dimension. Autrement dit, si l'événement de ligne binlog opère sur des objets de schémas différents, la réplication parallèle peut être réalisée s'il est déterminé qu'il n'y a pas de DDL ni d'étranger. dépendances clés.
La communauté a également introduit une version de réplication parallèle avec des tables comme dimensions ou des enregistrements comme dimensions. Qu'il s'agisse d'un schéma, d'une table ou d'un enregistrement, elle s'appuie sur la base de données esclave analysant les événements au format ligne en temps réel. pour le jugement, en s'assurant qu'il n'y a pas de conflits, la distribution est effectuée pour réaliser le parallélisme.
Réplication parallèle de MySQL5.7, l'esclave multithread est MTS, il est prévu de maximiser le parallélisme de la base de données principale. La façon d'y parvenir est d'ajouter les informations nécessaires à l'événement binlog afin que l'esclave. Le nœud peut réaliser le parallélisme sur la base de cette copie d'informations.
La réplication parallèle de MySQL 5.7 est basée sur une validation de groupe. Toutes les instructions préparées qui peuvent être complétées sur la base de données principale indiquent qu'il n'y a pas de conflit de données et peuvent être répliquées en parallèle sur le nœud esclave.
Concernant la soumission de groupe de MySQL5.7, nous devons examiner les paramètres suivants :
mysql> show global variables like '%group_commit%';+-----------------------------------------+-------+| Variable_name | Value |+-----------------------------------------+-------+| binlog_group_commit_sync_delay | 0 || binlog_group_commit_sync_no_delay_count | 0 |+-----------------------------------------+-------+2 rows in set (0.00 sec)
Copier après la connexion

binlog_group_commit_sync_delay Ce paramètre contrôle le temps d'attente pour la soumission du journal avant de vider le disque. La valeur par défaut est 0, ce qui signifie que le disque est vidé immédiatement après la soumission. Lorsqu'il est défini au-dessus de 0, il permet aux collègues du journal de plusieurs éléments de soumettre. vidage en même temps. C'est ce que nous appelons la soumission de groupe. La soumission de groupe est la base de la réplication parallèle. Si nous définissons cette valeur supérieure à 0, cela signifie que la fonction de soumission de groupe est activée. La valeur maximale ne peut être définie que sur 1 000 000 microsecondes.
binlog_group_commit_sync_no_delay_count, ce paramètre signifie que pendant le temps d'attente de binlog_group_commit_sync_delay, si le nombre de choses atteint le paramètre défini par binlog_group_commit_sync_no_delay_count, une soumission de groupe sera déclenchée. Si cette valeur est définie sur 0, là. n'aura aucune influence. Si l'heure est atteinte mais que le nombre de transactions n'a pas été atteint, une opération de soumission groupée sera également effectuée.
La soumission de groupe est une manière plus amusante. Nous pouvons voir sur quoi repose la soumission de groupe sur la base du binlog de MySQL :
[root@mxqmongodb2 log]# mysqlbinlog mysql-bin.000005 |grep last_committed
#170607 11:24:57 server id 353306 end_log_pos 876350 CRC32 0x92093332 GTID last_committed=654 sequence_number=655#170607 11:24:58 server id 353306 end_log_pos 880406 CRC32 0x344fdf71 GTID last_committed=655 sequence_number=656#170607 11:24:58 server id 353306 end_log_pos 888700 CRC32 0x4ba2b05b GTID last_committed=656 sequence_number=657#170607 11:24:58 server id 353306 end_log_pos 890675 CRC32 0xf8a8ad64 GTID last_committed=657 sequence_number=658#170607 11:24:58 server id 353306 end_log_pos 892770 CRC32 0x127f9cdd GTID last_committed=658 sequence_number=659#170607 11:24:58 server id 353306 end_log_pos 894757 CRC32 0x518abd93 GTID last_committed=659 sequence_number=660#170607 11:37:46 server id 353306 end_log_pos 895620 CRC32 0x99174f95 GTID last_committed=660 sequence_number=661#170607 11:37:51 server id 353306 end_log_pos 895897 CRC32 0xb4ffc341 GTID last_committed=661 sequence_number=662#170607 11:38:00 server id 353306 end_log_pos 896174 CRC32 0x6bcbc492 GTID last_committed=662 sequence_number=663#170607 11:39:40 server id 353306 end_log_pos 896365 CRC32 0x1fe16c7c GTID last_committed=663 sequence_number=664
Copier après la connexion

Ce qui précède est un journal sans soumission de groupe activée. Nous pouvons voir qu'il y a deux paramètres last_commit et séquence_number dans le binlog. Nous pouvons voir que la chose suivante est
Après avoir configuré la soumission de groupe. dans la bibliothèque principale, nous devons ajouter les paramètres suivants à la bibliothèque esclave : last_commit est toujours égal au numéro de séquence de l'élément précédent. C'est également facile à comprendre, car les choses sont soumises séquentiellement, ce n'est donc pas surprenant à comprendre.
Voici un aperçu des choses en mode soumission de groupe :
[root@mxqmongodb2 log]# mysqlbinlog mysql-bin.000008|grep last_commit
#170609 10:11:07 server id 353306 end_log_pos 75629 CRC32 0xd54f2604 GTID last_committed=269 sequence_number=270#170609 10:13:03 server id 353306 end_log_pos 75912 CRC32 0x43675b14 GTID last_committed=270 sequence_number=271#170609 10:13:24 server id 353306 end_log_pos 76195 CRC32 0x4f843438 GTID last_committed=270 sequence_number=272
Copier après la connexion

Nous pouvons voir les deux dernières choses Le dernier_commis est le même. Qu'est-ce que cela signifie ? Cela signifie que deux choses sont soumises en tant que groupe. Les deux choses obtiennent le même dernier_commis par troncature effectuée et ne s'affectent pas l'une l'autre. C’est ce qu’on appelle la soumission de groupe.
#MTS
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=8 #太多的线程会增加线程间同步的开销,建议4-8个slave线程
master_info_repository=TABLErelay_log_info_repository=TABLErelay_log_recovery=ONslave-parallel-type有两个之,DATABASE和LOGICAL_CLOCK,DATABASE: 默认值,兼容5.6以schema维度的并行复制, LOGICAL_CLOCK: MySQL 5.7基于组提交的并行复制机制。
Copier après la connexion

En résumé, la réplication parallèle de MySQL5.7 est basée sur le commit de groupe de la bibliothèque principale et la configuration des paramètres suivants de la bibliothèque esclave : mysql> affiche des variables comme '% slave_para%';

+------------------------+---------------+| Variable_name | Value |+------------------------+---------------+| slave_parallel_type | LOGICAL_CLOCK || slave_parallel_workers | 8 |+------------------------+---------------+2 rows in set (0.01 sec)
Copier après la connexion

Pour utiliser la réplication parallèle de MySQL5.7, vous devez d'abord définir binlog_group_commit_sync_delay supérieur à 0 dans la bibliothèque principale, puis définissez le fil dans la bibliothèque esclave Numéros et méthodes associées. Ce que nous avons défini ci-dessus est 8, et vous pouvez voir dans la bibliothèque esclave que

mysql> show processlist;+----+-------------+--------------------+------+---------+--------+--------------------------------------------------------+------------------+| Id | User        | Host               | db   | Command | Time   | State                                                  | Info             |+----+-------------+--------------------+------+---------+--------+--------------------------------------------------------+------------------+|  1 | system user |                    | NULL | Connect | 373198 | Waiting for master to send event                       | NULL             ||  2 | system user |                    | NULL | Connect |   1197 | Slave has read all relay log; waiting for more updates | NULL             ||  4 | system user |                    | NULL | Connect |   4292 | Waiting for an event from Coordinator                  | NULL             ||  5 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             ||  6 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             ||  7 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             ||  8 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             ||  9 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             || 10 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             || 11 | system user |                    | NULL | Connect | 373198 | Waiting for an event from Coordinator                  | NULL             || 16 | root        | 10.103.16.34:37263 | NULL | Query   |      0 | starting                                               | show processlist |+----+-------------+--------------------+------+---------+--------+--------------------------------------------------------+------------------+
Copier après la connexion

la bibliothèque esclave aura huit threads en attente de traitement des transactions, au lieu d'un seul.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment copier les paroles de QQ Music Comment copier les paroles Comment copier les paroles de QQ Music Comment copier les paroles Mar 12, 2024 pm 08:22 PM

Nous, les utilisateurs, devrions pouvoir comprendre la diversité de certaines fonctions lors de l'utilisation de cette plateforme. Nous savons que les paroles de certaines chansons sont très bien écrites. Parfois, nous l'écoutons même plusieurs fois et sentons que le sens est très profond. Donc, si nous voulons en comprendre le sens, nous voulons le copier directement et l'utiliser comme copywriting. Cependant, si nous voulons l'utiliser, nous le faisons. il vous reste encore besoin d'apprendre à copier des paroles. Je pense que vous n'avez tous aucune expérience de ces opérations, mais il est en effet un peu difficile de les utiliser sur votre téléphone portable. Donc, afin de vous donner une meilleure compréhension, aujourd'hui. l'éditeur est là pour vous aider. Une bonne explication de certaines des expériences d'exploitation ci-dessus. Si vous l'aimez également, venez jeter un œil avec l'éditeur.​

Quelle est la touche de raccourci pour copier ? Quelle est la touche de raccourci pour copier ? Mar 10, 2023 pm 02:00 PM

La touche de raccourci pour copier est « Ctrl+c » et la touche Coller correspondante est « Ctrl+v » sur l'ordinateur, utilisez la souris pour faire glisser et sélectionner le texte, maintenez la touche Ctrl enfoncée, puis cliquez sur la touche C pour terminer le texte. copier ; Une touche de raccourci fait référence à l'exécution d'une opération via certaines touches, séquences de touches ou combinaisons de touches spécifiques.

Touche de raccourci du calque de copie PS Touche de raccourci du calque de copie PS Feb 23, 2024 pm 02:34 PM

Dans les touches de raccourci du calque de copie PS, nous pouvons savoir que si vous souhaitez copier un calque lors de l'utilisation de PS, vous pouvez utiliser la touche de raccourci [Ctrl+J] pour une copie rapide. Cette introduction aux touches de raccourci pour copier des calques peut vous indiquer la méthode de fonctionnement spécifique. Voici le contenu détaillé, alors jetez-y un œil. Réponse de la touche de raccourci du calque de copie PS : [Ctrl+J] Méthode spécifique : 1. Ouvrez l'image dans PS et sélectionnez le calque qui doit être copié. 2. Appuyez simultanément sur [Ctrl+J] sur le clavier pour terminer la copie du calque. Autres méthodes de copie : 1. Après avoir ouvert l'image, maintenez le calque enfoncé et déplacez l'icône [Nouveau calque] vers le bas. 2. Après être passé à l'icône, lâchez prise. 3. La copie des calques est terminée.

Que dois-je ajouter à la touche de raccourci de copie ctrl ? Que dois-je ajouter à la touche de raccourci de copie ctrl ? Mar 15, 2024 am 09:57 AM

Sur les systèmes Windows, la touche de raccourci pour copier est Ctrl+C ; sur les systèmes Apple, la touche de raccourci pour copier est Commande+C ; sur les systèmes Linux, la touche de raccourci pour copier est Ctrl+Shift+C. Connaître ces touches de raccourci peut améliorer l'efficacité du travail de l'utilisateur et faciliter les opérations de copie de texte ou de fichiers.

Apprenez à utiliser les raccourcis copier-coller Apprenez à utiliser les raccourcis copier-coller Jan 13, 2024 pm 12:27 PM

Lorsque de nombreux utilisateurs utilisent des ordinateurs, s'ils rencontrent quelque chose qui doit être copié et collé, il est très difficile de copier avec la souris. Alors, comment utiliser les touches de raccourci pour copier et coller ? Raccourci Copier et Coller Comment utiliser la touche : 1. Touche Copier : Ctrl+C, sélectionnez le texte ou l'image à copier et appuyez sur la touche de raccourci. 2. Touche Coller : Ctrl+V Appuyez simplement sur la touche de raccourci directement à l'endroit où vous souhaitez coller.

Techniques et solutions courantes d'optimisation des performances et de refactorisation de code en C# Techniques et solutions courantes d'optimisation des performances et de refactorisation de code en C# Oct 09, 2023 pm 12:01 PM

Techniques et solutions courantes d'optimisation des performances et de refactorisation de code en C# Introduction : Dans le processus de développement logiciel, l'optimisation des performances et la refactorisation de code sont des liens importants qui ne peuvent être ignorés. Surtout lors du développement de grandes applications à l'aide de C#, l'optimisation et la refactorisation du code peuvent améliorer les performances et la maintenabilité de l'application. Cet article présentera quelques techniques courantes d’optimisation des performances et de refactorisation du code C#, et fournira les solutions correspondantes et des exemples de code spécifiques. 1. Compétences en matière d'optimisation des performances : choisissez le type de collection approprié : C# fournit une variété de types de collections, tels que List, Dict

Comment copier un tableau dans Excel et conserver le format original ? Comment copier un tableau dans Excel et conserver le format original ? Mar 21, 2024 am 10:26 AM

Nous utilisons souvent Excel pour traiter plusieurs données de tableau. Après avoir copié et collé le tableau défini, le format d'origine revient au format par défaut et nous devons le réinitialiser. En fait, il existe un moyen de faire en sorte que le tableau de copie Excel conserve le format d'origine. L'éditeur vous expliquera la méthode spécifique ci-dessous. 1. Étapes de l'opération de glissement et de copie de la touche Ctrl : utilisez la touche de raccourci [Ctrl+A] pour sélectionner tout le contenu du tableau, puis déplacez le curseur de la souris vers le bord du tableau jusqu'à ce que le curseur mobile apparaisse. Appuyez et maintenez la touche [Ctrl], puis faites glisser le tableau vers la position souhaitée pour terminer le déplacement. Il convient de noter que cette méthode ne fonctionne que sur une seule feuille de calcul et ne peut pas être déplacée entre différentes feuilles de calcul. 2. Étapes de collage sélectif : appuyez sur la touche de raccourci [Ctrl+A] pour sélectionner tous les tableaux, puis appuyez sur

Comment copier et déplacer des éléments par glisser-déposer dans Vue ? Comment copier et déplacer des éléments par glisser-déposer dans Vue ? Jun 25, 2023 am 08:35 AM

Vue est un framework JavaScript populaire qui fournit une fonction glisser-déposer pratique, nous permettant de copier et de déplacer facilement des éléments. Voyons ensuite comment copier et déplacer des éléments par glisser-déposer dans Vue. 1. Implémentation de base des éléments glisser-déposer Pour copier et déplacer des éléments glisser-déposer dans Vue, vous devez d'abord implémenter la fonction glisser-déposer de base de l'élément. La méthode spécifique d'implémentation est la suivante : Ajoutez les éléments qui doivent être glissés dans le modèle : <divclass="drag-elem"

See all articles