SlideShare une entreprise Scribd logo
1  sur  118
Télécharger pour lire hors ligne
1 / 118
6 septembre 2016
MySQL Meetup, OpenTech - Paris
Frédéric Descamps
MySQL Community Manager
MySQL Group Replication - Haute Disponibilité
avec Multi-Masters
MySQL High Availability made easy
 
     
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
2 / 118
 
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purpose only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied up in
making purchasing decisions. The development, release and timing of any features or
functionality described for Oracle's product remains at the sole discretion of Oracle.
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
3 / 118
about.me/lefred
Qui suis-je ?
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
4 / 118
Frédéric Descamps
@lefred
MySQL Evangelist
Managing MySQL since 3.23
devops believer
http://lefred.be
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
5 / 118
Qu'est-que la
Haute Disponibilité
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
6 / 118
Haute Disponibilité
Lahautedisponibilitéestuntermesouventutiliséeninformatique,àpropos
d'architecturedesystèmeoud'unservicepourdésignerlefaitquecettearchitectureouce
serviceauntauxdedisponibilitéconvenable.
Deux moyens complémentaires sont utilisés pour améliorer la haute disponibilité :
la mise en place d'une infrastructure matérielle spécialisée, généralement en se
basant sur de la redondance matérielle. Est alors créé un cluster de haute-
disponibilité (par opposition à un cluster de calcul) : une grappe d'ordinateurs dont le
but est d'assurer un service en évitant au maximumles indisponibilités ;
la mise en place de processus adaptés permettant de réduire les erreurs, et
d'accélérer la reprise en cas d'erreur. ITIL contient de nombreux processus de ce type.
Source: WikipédiaCopyright @ 2016 Oracle and/or its affiliates. All rights reserved.
7 / 118
Les principes de la Haute Disponibilité
Redondance des services/des données
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
8 / 118
Les principes de la Haute Disponibilité
Redondance des services/des données
Réduire l'impact d'une panne
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
9 / 118
Les principes de la Haute Disponibilité
Redondance des services/des données
Réduire l'impact d'une panne
Basculement lors d'un problème ou en cas de maintenance
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
10 / 118
Les principes de la Haute Disponibilité
Redondance des services/des données
Réduire l'impact d'une panne
Basculement lors d'un problème ou en cas de maintenance
Récupération de la perte de redoncance
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
11 / 118
Redondance de bases de données
Comment y parvient-on ?
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
12 / 118
Redondance de bases de données
Comment y parvient-on ?
Il existe plusieurs solutions, certaines bien pires que d'autres ;-)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
13 / 118
Redondance de bases de données
Comment y parvient-on ?
Il existe plusieurs solutions, certaines bien pires que d'autres ;-)
utilisation d'un disque partagé (SAN)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
14 / 118
Redondance de bases de données
Comment y parvient-on ?
Il existe plusieurs solutions, certaines bien pires que d'autres ;-)
utilisation d'un disque partagé (SAN)
utilisation de blocs partagés via le réseau (drbd)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
15 / 118
Redondance de bases de données
Comment y parvient-on ?
Il existe plusieurs solutions, certaines bien pires que d'autres ;-)
utilisation d'un disque partagé (SAN)
utilisation de blocs partagés via le réseau (drbd)
utilisation de la réplication
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
16 / 118
Redondance de bases de données
Comment y parvient-on ?
Il existe plusieurs solutions, certaines bien pires que d'autres ;-)
utilisation d'un disque partagé (SAN)
utilisation de blocs partagés via le réseau (drbd)
utilisation de la réplication
C'est effectivement cette dernière technique qui est la plus fiable et la plus répendue.
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
17 / 118
Réplication MySQL
Il existe plusieurs types de réplication dans MySQL:
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
18 / 118
Réplication MySQL
Il existe plusieurs types de réplication dans MySQL:
réplication asynchrone (async)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
19 / 118
Réplication MySQL
Il existe plusieurs types de réplication dans MySQL:
réplication asynchrone (async)
réplication semi-synchrone (semi-sync)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
20 / 118
Réplication MySQL
Il existe plusieurs types de réplication dans MySQL:
réplication asynchrone (async)
réplication semi-synchrone (semi-sync)
réplication de groupe (group replication) - Nouveau!!
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
21 / 118
Réplication(s) Asynchrone(s)
les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
22 / 118
Réplication(s) Asynchrone(s)
les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique
les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf
semi-sync)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
23 / 118
Réplication(s) Asynchrone(s)
les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique
les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf
semi-sync)
l'initialisation (provisioning) des esclaves est manuelle
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
24 / 118
Réplication(s) Asynchrone(s)
les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique
les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf
semi-sync)
l'initialisation (provisioning) des esclaves est manuelle
la cohérense (consistency) des esclaves est assummée et nécessite une vérification
manuelle
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
25 / 118
Réplication(s) Asynchrone(s)
les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique
les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf
semi-sync)
l'initialisation (provisioning) des esclaves est manuelle
la cohérense (consistency) des esclaves est assummée et nécessite une vérification
manuelle
des topologies très complexes peuvent être construites
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
26 / 118
Réplication(s) Asynchrone(s)
les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique
les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf
semi-sync)
l'initialisation (provisioning) des esclaves est manuelle
la cohérense (consistency) des esclaves est assummée et nécessite une vérification
manuelle
des topologies très complexes peuvent être construites
il est possible (et fort déconseillé) de créer des replications circulaires
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
27 / 118
Réplication(s) Asynchrone(s)
les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique
les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf
semi-sync)
l'initialisation (provisioning) des esclaves est manuelle
la cohérense (consistency) des esclaves est assummée et nécessite une vérification
manuelle
des topologies très complexes peuvent être construites
il est possible (et fort déconseillé) de créer des replications circulaires
les écritures ne sont sûr qu'à partir d'un unique maître global
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
28 / 118
Architectures de HA avec la réplication
asynchrone
Les architectures sont multiples et les outils pour les mettre en oeuvre également.
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
29 / 118
Architectures de HA avec la réplication
asynchrone
Les architectures sont multiples et les outils pour les mettre en oeuvre également.
Elles se basent toutes sur le même principe:
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
30 / 118
Architectures de HA avec la réplication
asynchrone
Les architectures sont multiples et les outils pour les mettre en oeuvre également.
Elles se basent toutes sur le même principe:
1 maître (master)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
31 / 118
Architectures de HA avec la réplication
asynchrone
Les architectures sont multiples et les outils pour les mettre en oeuvre également.
Elles se basent toutes sur le même principe:
1 maître (master)
1 ou plusieurs esclaves (slaves)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
32 / 118
Architectures de HA avec la réplication
asynchrone
Les architectures sont multiples et les outils pour les mettre en oeuvre également.
Elles se basent toutes sur le même principe:
1 maître (master)
1 ou plusieurs esclaves (slaves)
Si le maître a un problème, le slave le plus à jours doit prendre le relais et être promu
maître aux yeux des autres escalves encore en ligne.
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
33 / 118
Automatisation
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
34 / 118
Automatisation
Et c'est là que c'est plus compliqué ;-)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
35 / 118
Automatisation
Et c'est là que c'est plus compliqué ;-)
En fait il existe beaucoup d'outils externes qui peuvent être utilisés pour cette tâche. La
majorité ne sont compatible qu'avec GNU/Linux.
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
36 / 118
Automatisation
Et c'est là que c'est plus compliqué ;-)
En fait il existe beaucoup d'outils externes qui peuvent être utilisés pour cette tâche. La
majorité ne sont compatible qu'avec GNU/Linux.
Leur problème est qu'ils viennent complexifier l'architecture. Il faut être sysadmin pour
pouvoir maintenir ces solutions:
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
37 / 118
Automatisation
Et c'est là que c'est plus compliqué ;-)
En fait il existe beaucoup d'outils externes qui peuvent être utilisés pour cette tâche. La
majorité ne sont compatible qu'avec GNU/Linux.
Leur problème est qu'ils viennent complexifier l'architecture. Il faut être sysadmin pour
pouvoir maintenir ces solutions:
MySQL-Utilities (mysqlrplcheck, mysqlrpladmin)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
38 / 118
Automatisation
Et c'est là que c'est plus compliqué ;-)
En fait il existe beaucoup d'outils externes qui peuvent être utilisés pour cette tâche. La
majorité ne sont compatible qu'avec GNU/Linux.
Leur problème est qu'ils viennent complexifier l'architecture. Il faut être sysadmin pour
pouvoir maintenir ces solutions:
MySQL-Utilities (mysqlrplcheck, mysqlrpladmin)
Pacemaker avec un OCF dédié à MySQL
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
39 / 118
Automatisation
Et c'est là que c'est plus compliqué ;-)
En fait il existe beaucoup d'outils externes qui peuvent être utilisés pour cette tâche. La
majorité ne sont compatible qu'avec GNU/Linux.
Leur problème est qu'ils viennent complexifier l'architecture. Il faut être sysadmin pour
pouvoir maintenir ces solutions:
MySQL-Utilities (mysqlrplcheck, mysqlrpladmin)
Pacemaker avec un OCF dédié à MySQL
MHA
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
40 / 118
MySQL Group Replication
Mais qu'est-ce que c'est ?
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
41 / 118
MySQL Group Replication
Mais qu'est-ce que c'est ?
C'est un plugin pour MySQL fourni avec MySQL par MySQL !
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
42 / 118
MySQL Group Replication
Mais qu'est-ce que c'est ?
C'est un plugin pour MySQL fourni avec MySQL par MySQL !
Il permet d'écrire sur tous les membres du groupe (noeuds du cluster) si nécessaire
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
43 / 118
MySQL Group Replication
Mais qu'est-ce que c'est ?
C'est un plugin pour MySQL fourni avec MySQL par MySQL !
Il permet d'écrire sur tous les membres du groupe (noeuds du cluster) si nécessaire
Il détecte les conflits
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
44 / 118
MySQL Group Replication
Mais qu'est-ce que c'est ?
C'est un plugin pour MySQL fourni avec MySQL par MySQL !
Il permet d'écrire sur tous les membres du groupe (noeuds du cluster) si nécessaire
Il détecte les conflits
Et permet la récupération distribuée automatique
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
45 / 118
Et pour les utilisateurs ?
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
46 / 118
Et pour les utilisateurs ?
Il n'est plus nécessaire d'effectuer un basculement du rôle des serveurs manuellement
ou avec un script compliqué
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
47 / 118
Et pour les utilisateurs ?
Il n'est plus nécessaire d'effectuer un basculement du rôle des serveurs manuellement
ou avec un script compliqué
Mise à jours des données sur des serveurs Actifs/Actifs
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
48 / 118
Et pour les utilisateurs ?
Il n'est plus nécessaire d'effectuer un basculement du rôle des serveurs manuellement
ou avec un script compliqué
Mise à jours des données sur des serveurs Actifs/Actifs
Gère les pannes distribuées (quorum)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
49 / 118
Et pour les utilisateurs ?
Il n'est plus nécessaire d'effectuer un basculement du rôle des serveurs manuellement
ou avec un script compliqué
Mise à jours des données sur des serveurs Actifs/Actifs
Gère les pannes distribuées (quorum)
Facilite grandement la mise en place d'un service MySQL hautement disponible !
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
50 / 118
Mais comment ça marche ?
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
51 / 118
Mais comment ça marche ?
par magie !
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
52 / 118
Mais comment ça marche ?
par magie !
Non, au fait, la réplication des "writesets" se fait de manière synchrone, ensuite la
certification et l'application des changements se font de manière asynchrone...
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
53 / 118
Mais comment ça marche ?
par magie !
Non, au fait, la réplication des "writesets" se fait de manière synchrone, ensuite la
certification et l'application des changements se font de manière asynchrone...
C'est peut-être un peu compliqué comme ça... voyons voir avec un dessin..
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
54 / 118
MySQL Group Replication (autocommit)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
55 / 118
MySQL Group Replication (autocommit)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
56 / 118
MySQL Group Replication (autocommit)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
57 / 118
MySQL Group Replication (autocommit)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
58 / 118
MySQL Group Replication (autocommit)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
59 / 118
MySQL Group Replication (autocommit)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
60 / 118
MySQL Group Replication (autocommit)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
61 / 118
MySQL Group Replication (full transaction)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
62 / 118
MySQL Group Replication (full transaction)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
63 / 118
MySQL Group Replication (full transaction)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
64 / 118
MySQL Group Replication (full transaction)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
65 / 118
MySQL Group Replication (full transaction)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
66 / 118
MySQL Group Replication (full transaction)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
67 / 118
MySQL Group Replication (full transaction)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
68 / 118
MySQL Group Replication (full transaction)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
69 / 118
MySQL Group Replication (full transaction)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
70 / 118
Optimistic Locking
Traditional locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
71 / 118
Optimistic Locking
Traditional locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
72 / 118
Optimistic Locking
Traditional locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
73 / 118
Optimistic Locking
Traditional locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
74 / 118
Optimistic Locking
Traditional locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
75 / 118
Optimistic Locking
Traditional locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
76 / 118
Optimistic Locking
Optimistic Locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
77 / 118
Optimistic Locking
Optimistic Locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
78 / 118
Optimistic Locking
Optimistic Locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
79 / 118
Optimistic Locking
Optimistic Locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
80 / 118
Optimistic Locking
Optimistic Locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
81 / 118
Optimistic Locking
Optimistic Locking
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
82 / 118
Optimistic Locking
on renvoie l'erreur 149 -> ERROR 1180 (HY000): Got error 149 during COMMIT
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
83 / 118
Réplication et Communication
Comme on a vu, la réplication des données comme on la perçoit en asynchrone est ici
divisée en 4 parties:
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
84 / 118
Réplication et Communication
Comme on a vu, la réplication des données comme on la perçoit en asynchrone est ici
divisée en 4 parties:
la réplication des writesets (transactions) via GCS/XCOM(Group Communication
System&une solution interne dérivée de Paxos)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
85 / 118
Réplication et Communication
Comme on a vu, la réplication des données comme on la perçoit en asynchrone est ici
divisée en 4 parties:
la réplication des writesets (transactions) via GCS/XCOM(Group Communication
System&une solution interne dérivée de Paxos)
la certification
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
86 / 118
Réplication et Communication
Comme on a vu, la réplication des données comme on la perçoit en asynchrone est ici
divisée en 4 parties:
la réplication des writesets (transactions) via GCS/XCOM(Group Communication
System&une solution interne dérivée de Paxos)
la certification
l'application (apply)
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
87 / 118
Réplication et Communication
Comme on a vu, la réplication des données comme on la perçoit en asynchrone est ici
divisée en 4 parties:
la réplication des writesets (transactions) via GCS/XCOM(Group Communication
System&une solution interne dérivée de Paxos)
la certification
l'application (apply)
le commit
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
88 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
89 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
est-ce-quecetteécriture(writeset)peutêtreappliquée?
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
90 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
est-ce-quecetteécriture(writeset)peutêtreappliquée?
en se basant sur les transactions précédentes qui ne sont pas encore appliquées
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
91 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
est-ce-quecetteécriture(writeset)peutêtreappliquée?
en se basant sur les transactions précédentes qui ne sont pas encore appliquées
ce type de conflit provient toujours des autres membres
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
92 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
est-ce-quecetteécriture(writeset)peutêtreappliquée?
en se basant sur les transactions précédentes qui ne sont pas encore appliquées
ce type de conflit provient toujours des autres membres
La certification se fait sur chaque membre du groupe
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
93 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
est-ce-quecetteécriture(writeset)peutêtreappliquée?
en se basant sur les transactions précédentes qui ne sont pas encore appliquées
ce type de conflit provient toujours des autres membres
La certification se fait sur chaque membre du groupe
Doit être déterministe sur chaque noeud
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
94 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
est-ce-quecetteécriture(writeset)peutêtreappliquée?
en se basant sur les transactions précédentes qui ne sont pas encore appliquées
ce type de conflit provient toujours des autres membres
La certification se fait sur chaque membre du groupe
Doit être déterministe sur chaque noeud
Le résultat n'est pas communiqué au cluster en retour
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
95 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
est-ce-quecetteécriture(writeset)peutêtreappliquée?
en se basant sur les transactions précédentes qui ne sont pas encore appliquées
ce type de conflit provient toujours des autres membres
La certification se fait sur chaque membre du groupe
Doit être déterministe sur chaque noeud
Le résultat n'est pas communiqué au cluster en retour
Réussite: entre dans la queue pour être appliqué
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
96 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
est-ce-quecetteécriture(writeset)peutêtreappliquée?
en se basant sur les transactions précédentes qui ne sont pas encore appliquées
ce type de conflit provient toujours des autres membres
La certification se fait sur chaque membre du groupe
Doit être déterministe sur chaque noeud
Le résultat n'est pas communiqué au cluster en retour
Réussite: entre dans la queue pour être appliqué
Échec: la transaction est rejetée
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
97 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
est-ce-quecetteécriture(writeset)peutêtreappliquée?
en se basant sur les transactions précédentes qui ne sont pas encore appliquées
ce type de conflit provient toujours des autres membres
La certification se fait sur chaque membre du groupe
Doit être déterministe sur chaque noeud
Le résultat n'est pas communiqué au cluster en retour
Réussite: entre dans la queue pour être appliqué
Échec: la transaction est rejetée
Sérialisé par l'ordre établi dans GCS/XCOM+ GTID
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
98 / 118
Certification
La certification est le processus qui a pour but de répondre à cette unique question:
est-ce-quecetteécriture(writeset)peutêtreappliquée?
en se basant sur les transactions précédentes qui ne sont pas encore appliquées
ce type de conflit provient toujours des autres membres
La certification se fait sur chaque membre du groupe
Doit être déterministe sur chaque noeud
Le résultat n'est pas communiqué au cluster en retour
Réussite: entre dans la queue pour être appliqué
Échec: la transaction est rejetée
Sérialisé par l'ordre établi dans GCS/XCOM+ GTID
Le coût varie en fonction du nombres d'index et d'enregistrements
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
99 / 118
GTID
Les GTIDs utilisés sont identiques aux GTID utilisés en réplication asynchrone.
mysql> SELECT * FROM performance_schema.replication_connection_statusG
************************** 1. row ***************************
CHANNEL_NAME: group_replication_applier
GROUP_NAME: afb80f36-2bff-11e6-84e0-0800277dd3bf
SOURCE_UUID: afb80f36-2bff-11e6-84e0-0800277dd3bf
THREAD_ID: NULL
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00
RECEIVED_TRANSACTION_SET: afb80f36-2bff-11e6-84e0-0800277dd3bf:1-57,
f037578b-46b1-11e6-8005-08002774c31b:1-48937
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
100 / 118
Mais c'est le GTID du cluster qui est mélangé aux autres
mysql> show master statusG
************************** 1. row ***************************
File: mysql4-bin.000001
Position: 1501
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set: afb80f36-2bff-11e6-84e0-0800277dd3bf:1-57,
f037578b-46b1-11e6-8005-08002774c31b:1-48937
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
101 / 118
Exigences
Les données doivent impérativement être sauvergardées dans des tables en InnoDB
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
102 / 118
Exigences
Les données doivent impérativement être sauvergardées dans des tables en InnoDB
Chaques tables doivent avoir une clé primaire
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
103 / 118
Exigences
Les données doivent impérativement être sauvergardées dans des tables en InnoDB
Chaques tables doivent avoir une clé primaire
Ne fonctionne qu'en IPV4
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
104 / 118
Exigences
Les données doivent impérativement être sauvergardées dans des tables en InnoDB
Chaques tables doivent avoir une clé primaire
Ne fonctionne qu'en IPV4
Un bon réseau avec peu de latence est important
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
105 / 118
Exigences
Les données doivent impérativement être sauvergardées dans des tables en InnoDB
Chaques tables doivent avoir une clé primaire
Ne fonctionne qu'en IPV4
Un bon réseau avec peu de latence est important
Un maximumde 9 membres par groupe
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
106 / 118
Exigences
Les données doivent impérativement être sauvergardées dans des tables en InnoDB
Chaques tables doivent avoir une clé primaire
Ne fonctionne qu'en IPV4
Un bon réseau avec peu de latence est important
Un maximumde 9 membres par groupe
log­bin doit être activé et seul le format ROWest supporté
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
107 / 118
Exigences (2)
les GTIDs doivent être activés
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
108 / 118
Exigences (2)
les GTIDs doivent être activés
Les meta données de réplication doivent être sauvergardées dans des tables
systèmes
--master-info-repository=TABLE
--relay-log-info-repository=TABLE
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
109 / 118
Exigences (2)
les GTIDs doivent être activés
Les meta données de réplication doivent être sauvergardées dans des tables
systèmes
--master-info-repository=TABLE
--relay-log-info-repository=TABLE
L'extraction des "writesets" de réplication doit être activée
--transaction-write-set-extraction=XXHASH64
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
110 / 118
Exigences (2)
les GTIDs doivent être activés
Les meta données de réplication doivent être sauvergardées dans des tables
systèmes
--master-info-repository=TABLE
--relay-log-info-repository=TABLE
L'extraction des "writesets" de réplication doit être activée
--transaction-write-set-extraction=XXHASH64
log­slave­updates doit aussi être présent
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
111 / 118
Limites
Le checksumdes évenements répliqués n'est pas supporté
--binlog-checksum=NONE
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
112 / 118
Limites
Le checksumdes évenements répliqués n'est pas supporté
--binlog-checksum=NONE
Les "Savepoints" ne sont pas supportés
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
113 / 118
Limites
Le checksumdes évenements répliqués n'est pas supporté
--binlog-checksum=NONE
Les "Savepoints" ne sont pas supportés
On ne peut utiliser SERIALIZABLEcomme niveau d'isolation des transactions
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
114 / 118
Exemple d'architecures
MySQL Group Replication est la fondation d'une future solution complète de Haute
Disponibilité pour MySQL.
En attendant l'avancement des autres composants de cette solution (comme mysql-
router), il est déjà possible d'utiliser Group Replication avec d'autres logiciels.
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
115 / 118
HAProxy
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
116 / 118
ProxySQL
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
117 / 118
Des Questions ?
Merci !
 
 
 
Copyright @ 2016 Oracle and/or its affiliates. All rights reserved.
118 / 118

Contenu connexe

Tendances

Performance de Percona XtraDB Cluster / Galera Cluster: Monitoring & Gestion ...
Performance de Percona XtraDB Cluster / Galera Cluster: Monitoring & Gestion ...Performance de Percona XtraDB Cluster / Galera Cluster: Monitoring & Gestion ...
Performance de Percona XtraDB Cluster / Galera Cluster: Monitoring & Gestion ...Severalnines
 
Confoo 2022 - le cycle d'une instance MySQL
Confoo 2022  - le cycle d'une instance MySQLConfoo 2022  - le cycle d'une instance MySQL
Confoo 2022 - le cycle d'une instance MySQLFrederic Descamps
 
Les bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresLes bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresEDB
 
Oracle Database Vault
Oracle Database VaultOracle Database Vault
Oracle Database VaultKhalid ALLILI
 
DBAAS – Database As a Service avec Oracle
DBAAS – Database As a Service avec OracleDBAAS – Database As a Service avec Oracle
DBAAS – Database As a Service avec OracleEASYTEAM
 
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)Alphorm
 
Oracle 12c in memory en action
Oracle 12c in memory en actionOracle 12c in memory en action
Oracle 12c in memory en actionLaurent Leturgez
 
Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g noble Bajoli
 
Presentation of Oracle database products for Beginners
Presentation of Oracle database products for BeginnersPresentation of Oracle database products for Beginners
Presentation of Oracle database products for Beginnersyazidaguedal
 
Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Mathias Kluba
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudDataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudVictor Coustenoble
 
2010-12-13 RBS pour SharePoint 2010 - Club SharePoint
2010-12-13 RBS pour SharePoint 2010 - Club SharePoint2010-12-13 RBS pour SharePoint 2010 - Club SharePoint
2010-12-13 RBS pour SharePoint 2010 - Club SharePointPatrick Guimonet
 
Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache ZookeeperMichaël Morello
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraVictor Coustenoble
 
DataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft TechdaysDataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft TechdaysVictor Coustenoble
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Ippon
 
Administration oracle7
Administration oracle7Administration oracle7
Administration oracle7Lucian Carabet
 

Tendances (20)

Performance de Percona XtraDB Cluster / Galera Cluster: Monitoring & Gestion ...
Performance de Percona XtraDB Cluster / Galera Cluster: Monitoring & Gestion ...Performance de Percona XtraDB Cluster / Galera Cluster: Monitoring & Gestion ...
Performance de Percona XtraDB Cluster / Galera Cluster: Monitoring & Gestion ...
 
Oracle Cluster Rac
Oracle Cluster RacOracle Cluster Rac
Oracle Cluster Rac
 
Confoo 2022 - le cycle d'une instance MySQL
Confoo 2022  - le cycle d'une instance MySQLConfoo 2022  - le cycle d'une instance MySQL
Confoo 2022 - le cycle d'une instance MySQL
 
Les bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresLes bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers Postgres
 
Oracle Database Vault
Oracle Database VaultOracle Database Vault
Oracle Database Vault
 
DBAAS – Database As a Service avec Oracle
DBAAS – Database As a Service avec OracleDBAAS – Database As a Service avec Oracle
DBAAS – Database As a Service avec Oracle
 
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
 
Oracle 12c in memory en action
Oracle 12c in memory en actionOracle 12c in memory en action
Oracle 12c in memory en action
 
Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g
 
Presentation of Oracle database products for Beginners
Presentation of Oracle database products for BeginnersPresentation of Oracle database products for Beginners
Presentation of Oracle database products for Beginners
 
Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudDataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le Cloud
 
2010-12-13 RBS pour SharePoint 2010 - Club SharePoint
2010-12-13 RBS pour SharePoint 2010 - Club SharePoint2010-12-13 RBS pour SharePoint 2010 - Club SharePoint
2010-12-13 RBS pour SharePoint 2010 - Club SharePoint
 
Présentation de Apache Zookeeper
Présentation de Apache ZookeeperPrésentation de Apache Zookeeper
Présentation de Apache Zookeeper
 
Webinar Degetel DataStax
Webinar Degetel DataStaxWebinar Degetel DataStax
Webinar Degetel DataStax
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
 
Test
TestTest
Test
 
DataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft TechdaysDataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft Techdays
 
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
Realtime Web avec Akka, Kafka, Spark et Mesos - Devoxx Paris 2014
 
Administration oracle7
Administration oracle7Administration oracle7
Administration oracle7
 

En vedette

MySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMatt Lord
 
MySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document StoreMySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document StoreOlivier DASINI
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionOlivier DASINI
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMorgan Tocker
 
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinOlivier DASINI
 
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterMySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterOlivier DASINI
 
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceMySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceOlivier DASINI
 
Architectures haute disponibilité avec MySQL
Architectures haute disponibilité avec MySQLArchitectures haute disponibilité avec MySQL
Architectures haute disponibilité avec MySQLOlivier DASINI
 
Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Olivier DASINI
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationFrederic Descamps
 
devops Days Belgium Ghent 2016
devops Days Belgium Ghent 2016devops Days Belgium Ghent 2016
devops Days Belgium Ghent 2016Frederic Descamps
 
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio  in a nutshell - MySQL InnoDB ClusterMySQL Group Replicatio  in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio in a nutshell - MySQL InnoDB ClusterFrederic Descamps
 
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...Frederic Descamps
 
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...Frederic Descamps
 
Webinar manage MySQL like a devops sysadmin
Webinar manage MySQL like a devops sysadminWebinar manage MySQL like a devops sysadmin
Webinar manage MySQL like a devops sysadminFrederic Descamps
 
OSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devopsOSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devopsFrederic Descamps
 
Group Replication: A Journey to the Group Communication Core
Group Replication: A Journey to the Group Communication CoreGroup Replication: A Journey to the Group Communication Core
Group Replication: A Journey to the Group Communication CoreAlfranio Júnior
 
MySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationMySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationNuno Carvalho
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationKenny Gryp
 
MySQL High Availability with Replication New Features
MySQL High Availability with Replication New FeaturesMySQL High Availability with Replication New Features
MySQL High Availability with Replication New FeaturesShivji Kumar Jha
 

En vedette (20)

MySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB Clusters
 
MySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document StoreMySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document Store
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise Edition
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
 
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The Dolphin
 
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterMySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
 
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceMySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
 
Architectures haute disponibilité avec MySQL
Architectures haute disponibilité avec MySQLArchitectures haute disponibilité avec MySQL
Architectures haute disponibilité avec MySQL
 
Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
 
devops Days Belgium Ghent 2016
devops Days Belgium Ghent 2016devops Days Belgium Ghent 2016
devops Days Belgium Ghent 2016
 
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio  in a nutshell - MySQL InnoDB ClusterMySQL Group Replicatio  in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
 
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...
 
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...
OpenWorld 2014 - Schema Management: versioning and automation with Puppet and...
 
Webinar manage MySQL like a devops sysadmin
Webinar manage MySQL like a devops sysadminWebinar manage MySQL like a devops sysadmin
Webinar manage MySQL like a devops sysadmin
 
OSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devopsOSS4B: Installing & Managing MySQL like a real devops
OSS4B: Installing & Managing MySQL like a real devops
 
Group Replication: A Journey to the Group Communication Core
Group Replication: A Journey to the Group Communication CoreGroup Replication: A Journey to the Group Communication Core
Group Replication: A Journey to the Group Communication Core
 
MySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationMySQL High Availability with Group Replication
MySQL High Availability with Group Replication
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
MySQL High Availability with Replication New Features
MySQL High Availability with Replication New FeaturesMySQL High Availability with Replication New Features
MySQL High Availability with Replication New Features
 

Similaire à Haute disponibilité my sql avec group réplication

Les containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicienLes containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicienRachid Zarouali
 
Alphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM AdministrationAlphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM AdministrationAlphorm
 
NetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vueNetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vueOlivier (DaffyDuke) Duquesne
 
Stabiliser salt stack_avec_ansible
Stabiliser salt stack_avec_ansibleStabiliser salt stack_avec_ansible
Stabiliser salt stack_avec_ansibleSmaïne KAHLOUCH
 
La Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SILa Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SIcpruvost
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateRéplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateMor THIAM
 
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...Jean-Marc Hui Bon Hoa
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Pierre-jean Texier
 
Présentation de Vagrant
Présentation de VagrantPrésentation de Vagrant
Présentation de Vagrantclmntlxndr
 
Oracle Cloud Café - Cloud backup et Disaster recovery
Oracle Cloud Café - Cloud backup et Disaster recoveryOracle Cloud Café - Cloud backup et Disaster recovery
Oracle Cloud Café - Cloud backup et Disaster recoverySorathaya Sirimanotham
 
GUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm
 
Alphorm.com Formation Splunk : Maitriser les fondamentaux
Alphorm.com Formation Splunk : Maitriser les fondamentauxAlphorm.com Formation Splunk : Maitriser les fondamentaux
Alphorm.com Formation Splunk : Maitriser les fondamentauxAlphorm
 
Présentation LifeRay
Présentation LifeRayPrésentation LifeRay
Présentation LifeRayf.morin
 
Une IDS scalable et résiliente avec geOrchestra & Docker
Une IDS scalable et résiliente avec geOrchestra & DockerUne IDS scalable et résiliente avec geOrchestra & Docker
Une IDS scalable et résiliente avec geOrchestra & DockerCamptocamp
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Benoît de CHATEAUVIEUX
 
[Café Techno] Veeam 8 : Réduire au strict minimum la fenêtre de sauvegarde - ...
[Café Techno] Veeam 8 : Réduire au strict minimum la fenêtre de sauvegarde - ...[Café Techno] Veeam 8 : Réduire au strict minimum la fenêtre de sauvegarde - ...
[Café Techno] Veeam 8 : Réduire au strict minimum la fenêtre de sauvegarde - ...Groupe D.FI
 

Similaire à Haute disponibilité my sql avec group réplication (20)

Les containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicienLes containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicien
 
Alphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM AdministrationAlphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM Administration
 
NetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vueNetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vue
 
Stabiliser salt stack_avec_ansible
Stabiliser salt stack_avec_ansibleStabiliser salt stack_avec_ansible
Stabiliser salt stack_avec_ansible
 
La Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SILa Maîtrise de Java au sein du SI
La Maîtrise de Java au sein du SI
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateRéplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden Gate
 
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...
Webcast Oracle - Gestion des risques liés à l'obsolescence et la sécurité de ...
 
Administration glassfish 3
Administration glassfish 3Administration glassfish 3
Administration glassfish 3
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
 
Présentation de Vagrant
Présentation de VagrantPrésentation de Vagrant
Présentation de Vagrant
 
Oracle Cloud Café - Cloud backup et Disaster recovery
Oracle Cloud Café - Cloud backup et Disaster recoveryOracle Cloud Café - Cloud backup et Disaster recovery
Oracle Cloud Café - Cloud backup et Disaster recovery
 
GUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the Web
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateur
 
Alphorm.com Formation Splunk : Maitriser les fondamentaux
Alphorm.com Formation Splunk : Maitriser les fondamentauxAlphorm.com Formation Splunk : Maitriser les fondamentaux
Alphorm.com Formation Splunk : Maitriser les fondamentaux
 
Présentation LifeRay
Présentation LifeRayPrésentation LifeRay
Présentation LifeRay
 
Une IDS scalable et résiliente avec geOrchestra & Docker
Une IDS scalable et résiliente avec geOrchestra & DockerUne IDS scalable et résiliente avec geOrchestra & Docker
Une IDS scalable et résiliente avec geOrchestra & Docker
 
Jenkins
JenkinsJenkins
Jenkins
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
 
[Café Techno] Veeam 8 : Réduire au strict minimum la fenêtre de sauvegarde - ...
[Café Techno] Veeam 8 : Réduire au strict minimum la fenêtre de sauvegarde - ...[Café Techno] Veeam 8 : Réduire au strict minimum la fenêtre de sauvegarde - ...
[Café Techno] Veeam 8 : Réduire au strict minimum la fenêtre de sauvegarde - ...
 

Plus de Frederic Descamps

MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...Frederic Descamps
 
MySQL Day Roma - MySQL Shell and Visual Studio Code Extension
MySQL Day Roma - MySQL Shell and Visual Studio Code ExtensionMySQL Day Roma - MySQL Shell and Visual Studio Code Extension
MySQL Day Roma - MySQL Shell and Visual Studio Code ExtensionFrederic Descamps
 
RivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and HistogramsRivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and HistogramsFrederic Descamps
 
RivieraJUG - MySQL 8.0 - What's new for developers.pdf
RivieraJUG - MySQL 8.0 - What's new for developers.pdfRivieraJUG - MySQL 8.0 - What's new for developers.pdf
RivieraJUG - MySQL 8.0 - What's new for developers.pdfFrederic Descamps
 
MySQL User Group NL - MySQL 8
MySQL User Group NL - MySQL 8MySQL User Group NL - MySQL 8
MySQL User Group NL - MySQL 8Frederic Descamps
 
State of the Dolphin - May 2022
State of the Dolphin - May 2022State of the Dolphin - May 2022
State of the Dolphin - May 2022Frederic Descamps
 
Percona Live 2022 - MySQL Shell for Visual Studio Code
Percona Live 2022 - MySQL Shell for Visual Studio CodePercona Live 2022 - MySQL Shell for Visual Studio Code
Percona Live 2022 - MySQL Shell for Visual Studio CodeFrederic Descamps
 
Percona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemPercona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemFrederic Descamps
 
Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesFrederic Descamps
 
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database SystemLinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database SystemFrederic Descamps
 
Open Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and HistogramsOpen Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and HistogramsFrederic Descamps
 
Pi Day 2022 - from IoT to MySQL HeatWave Database Service
Pi Day 2022 -  from IoT to MySQL HeatWave Database ServicePi Day 2022 -  from IoT to MySQL HeatWave Database Service
Pi Day 2022 - from IoT to MySQL HeatWave Database ServiceFrederic Descamps
 
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...Frederic Descamps
 
Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0Frederic Descamps
 
Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0Frederic Descamps
 
State of The Dolphin - May 2021
State of The Dolphin - May 2021State of The Dolphin - May 2021
State of The Dolphin - May 2021Frederic Descamps
 
Deploying Magento on OCI with MDS
Deploying Magento on OCI with MDSDeploying Magento on OCI with MDS
Deploying Magento on OCI with MDSFrederic Descamps
 
From single MySQL instance to High Availability: the journey to MySQL InnoDB ...
From single MySQL instance to High Availability: the journey to MySQL InnoDB ...From single MySQL instance to High Availability: the journey to MySQL InnoDB ...
From single MySQL instance to High Availability: the journey to MySQL InnoDB ...Frederic Descamps
 

Plus de Frederic Descamps (20)

MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...
 
MySQL Day Roma - MySQL Shell and Visual Studio Code Extension
MySQL Day Roma - MySQL Shell and Visual Studio Code ExtensionMySQL Day Roma - MySQL Shell and Visual Studio Code Extension
MySQL Day Roma - MySQL Shell and Visual Studio Code Extension
 
RivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and HistogramsRivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and Histograms
 
RivieraJUG - MySQL 8.0 - What's new for developers.pdf
RivieraJUG - MySQL 8.0 - What's new for developers.pdfRivieraJUG - MySQL 8.0 - What's new for developers.pdf
RivieraJUG - MySQL 8.0 - What's new for developers.pdf
 
MySQL User Group NL - MySQL 8
MySQL User Group NL - MySQL 8MySQL User Group NL - MySQL 8
MySQL User Group NL - MySQL 8
 
State of the Dolphin - May 2022
State of the Dolphin - May 2022State of the Dolphin - May 2022
State of the Dolphin - May 2022
 
Percona Live 2022 - MySQL Shell for Visual Studio Code
Percona Live 2022 - MySQL Shell for Visual Studio CodePercona Live 2022 - MySQL Shell for Visual Studio Code
Percona Live 2022 - MySQL Shell for Visual Studio Code
 
Percona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemPercona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database System
 
Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL Architectures
 
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database SystemLinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
 
Open Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and HistogramsOpen Source 101 2022 - MySQL Indexes and Histograms
Open Source 101 2022 - MySQL Indexes and Histograms
 
Pi Day 2022 - from IoT to MySQL HeatWave Database Service
Pi Day 2022 -  from IoT to MySQL HeatWave Database ServicePi Day 2022 -  from IoT to MySQL HeatWave Database Service
Pi Day 2022 - from IoT to MySQL HeatWave Database Service
 
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
 
Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0
 
Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0
 
State of The Dolphin - May 2021
State of The Dolphin - May 2021State of The Dolphin - May 2021
State of The Dolphin - May 2021
 
MySQL Shell for DBAs
MySQL Shell for DBAsMySQL Shell for DBAs
MySQL Shell for DBAs
 
Deploying Magento on OCI with MDS
Deploying Magento on OCI with MDSDeploying Magento on OCI with MDS
Deploying Magento on OCI with MDS
 
MySQL Router REST API
MySQL Router REST APIMySQL Router REST API
MySQL Router REST API
 
From single MySQL instance to High Availability: the journey to MySQL InnoDB ...
From single MySQL instance to High Availability: the journey to MySQL InnoDB ...From single MySQL instance to High Availability: the journey to MySQL InnoDB ...
From single MySQL instance to High Availability: the journey to MySQL InnoDB ...
 

Haute disponibilité my sql avec group réplication

  • 2. 6 septembre 2016 MySQL Meetup, OpenTech - Paris Frédéric Descamps MySQL Community Manager MySQL Group Replication - Haute Disponibilité avec Multi-Masters MySQL High Availability made easy         Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 2 / 118
  • 3.   Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purpose only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied up in making purchasing decisions. The development, release and timing of any features or functionality described for Oracle's product remains at the sole discretion of Oracle. Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 3 / 118
  • 5. Frédéric Descamps @lefred MySQL Evangelist Managing MySQL since 3.23 devops believer http://lefred.be Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 5 / 118
  • 7. Haute Disponibilité Lahautedisponibilitéestuntermesouventutiliséeninformatique,àpropos d'architecturedesystèmeoud'unservicepourdésignerlefaitquecettearchitectureouce serviceauntauxdedisponibilitéconvenable. Deux moyens complémentaires sont utilisés pour améliorer la haute disponibilité : la mise en place d'une infrastructure matérielle spécialisée, généralement en se basant sur de la redondance matérielle. Est alors créé un cluster de haute- disponibilité (par opposition à un cluster de calcul) : une grappe d'ordinateurs dont le but est d'assurer un service en évitant au maximumles indisponibilités ; la mise en place de processus adaptés permettant de réduire les erreurs, et d'accélérer la reprise en cas d'erreur. ITIL contient de nombreux processus de ce type. Source: WikipédiaCopyright @ 2016 Oracle and/or its affiliates. All rights reserved. 7 / 118
  • 8. Les principes de la Haute Disponibilité Redondance des services/des données Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 8 / 118
  • 9. Les principes de la Haute Disponibilité Redondance des services/des données Réduire l'impact d'une panne Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 9 / 118
  • 10. Les principes de la Haute Disponibilité Redondance des services/des données Réduire l'impact d'une panne Basculement lors d'un problème ou en cas de maintenance Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 10 / 118
  • 11. Les principes de la Haute Disponibilité Redondance des services/des données Réduire l'impact d'une panne Basculement lors d'un problème ou en cas de maintenance Récupération de la perte de redoncance Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 11 / 118
  • 12. Redondance de bases de données Comment y parvient-on ? Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 12 / 118
  • 13. Redondance de bases de données Comment y parvient-on ? Il existe plusieurs solutions, certaines bien pires que d'autres ;-) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 13 / 118
  • 14. Redondance de bases de données Comment y parvient-on ? Il existe plusieurs solutions, certaines bien pires que d'autres ;-) utilisation d'un disque partagé (SAN) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 14 / 118
  • 15. Redondance de bases de données Comment y parvient-on ? Il existe plusieurs solutions, certaines bien pires que d'autres ;-) utilisation d'un disque partagé (SAN) utilisation de blocs partagés via le réseau (drbd) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 15 / 118
  • 16. Redondance de bases de données Comment y parvient-on ? Il existe plusieurs solutions, certaines bien pires que d'autres ;-) utilisation d'un disque partagé (SAN) utilisation de blocs partagés via le réseau (drbd) utilisation de la réplication Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 16 / 118
  • 17. Redondance de bases de données Comment y parvient-on ? Il existe plusieurs solutions, certaines bien pires que d'autres ;-) utilisation d'un disque partagé (SAN) utilisation de blocs partagés via le réseau (drbd) utilisation de la réplication C'est effectivement cette dernière technique qui est la plus fiable et la plus répendue. Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 17 / 118
  • 18. Réplication MySQL Il existe plusieurs types de réplication dans MySQL: Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 18 / 118
  • 19. Réplication MySQL Il existe plusieurs types de réplication dans MySQL: réplication asynchrone (async) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 19 / 118
  • 20. Réplication MySQL Il existe plusieurs types de réplication dans MySQL: réplication asynchrone (async) réplication semi-synchrone (semi-sync) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 20 / 118
  • 21. Réplication MySQL Il existe plusieurs types de réplication dans MySQL: réplication asynchrone (async) réplication semi-synchrone (semi-sync) réplication de groupe (group replication) - Nouveau!! Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 21 / 118
  • 22. Réplication(s) Asynchrone(s) les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 22 / 118
  • 23. Réplication(s) Asynchrone(s) les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf semi-sync) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 23 / 118
  • 24. Réplication(s) Asynchrone(s) les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf semi-sync) l'initialisation (provisioning) des esclaves est manuelle Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 24 / 118
  • 25. Réplication(s) Asynchrone(s) les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf semi-sync) l'initialisation (provisioning) des esclaves est manuelle la cohérense (consistency) des esclaves est assummée et nécessite une vérification manuelle Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 25 / 118
  • 26. Réplication(s) Asynchrone(s) les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf semi-sync) l'initialisation (provisioning) des esclaves est manuelle la cohérense (consistency) des esclaves est assummée et nécessite une vérification manuelle des topologies très complexes peuvent être construites Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 26 / 118
  • 27. Réplication(s) Asynchrone(s) les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf semi-sync) l'initialisation (provisioning) des esclaves est manuelle la cohérense (consistency) des esclaves est assummée et nécessite une vérification manuelle des topologies très complexes peuvent être construites il est possible (et fort déconseillé) de créer des replications circulaires Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 27 / 118
  • 28. Réplication(s) Asynchrone(s) les esclaves (slaves) "stream" les logs de réplication à partir d'un maître unique les esclaves peuvent être retardés (lag), il n' y a aucune garantie de livraison (sauf semi-sync) l'initialisation (provisioning) des esclaves est manuelle la cohérense (consistency) des esclaves est assummée et nécessite une vérification manuelle des topologies très complexes peuvent être construites il est possible (et fort déconseillé) de créer des replications circulaires les écritures ne sont sûr qu'à partir d'un unique maître global Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 28 / 118
  • 29. Architectures de HA avec la réplication asynchrone Les architectures sont multiples et les outils pour les mettre en oeuvre également. Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 29 / 118
  • 30. Architectures de HA avec la réplication asynchrone Les architectures sont multiples et les outils pour les mettre en oeuvre également. Elles se basent toutes sur le même principe: Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 30 / 118
  • 31. Architectures de HA avec la réplication asynchrone Les architectures sont multiples et les outils pour les mettre en oeuvre également. Elles se basent toutes sur le même principe: 1 maître (master) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 31 / 118
  • 32. Architectures de HA avec la réplication asynchrone Les architectures sont multiples et les outils pour les mettre en oeuvre également. Elles se basent toutes sur le même principe: 1 maître (master) 1 ou plusieurs esclaves (slaves) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 32 / 118
  • 33. Architectures de HA avec la réplication asynchrone Les architectures sont multiples et les outils pour les mettre en oeuvre également. Elles se basent toutes sur le même principe: 1 maître (master) 1 ou plusieurs esclaves (slaves) Si le maître a un problème, le slave le plus à jours doit prendre le relais et être promu maître aux yeux des autres escalves encore en ligne. Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 33 / 118
  • 35. Automatisation Et c'est là que c'est plus compliqué ;-) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 35 / 118
  • 36. Automatisation Et c'est là que c'est plus compliqué ;-) En fait il existe beaucoup d'outils externes qui peuvent être utilisés pour cette tâche. La majorité ne sont compatible qu'avec GNU/Linux. Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 36 / 118
  • 37. Automatisation Et c'est là que c'est plus compliqué ;-) En fait il existe beaucoup d'outils externes qui peuvent être utilisés pour cette tâche. La majorité ne sont compatible qu'avec GNU/Linux. Leur problème est qu'ils viennent complexifier l'architecture. Il faut être sysadmin pour pouvoir maintenir ces solutions: Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 37 / 118
  • 38. Automatisation Et c'est là que c'est plus compliqué ;-) En fait il existe beaucoup d'outils externes qui peuvent être utilisés pour cette tâche. La majorité ne sont compatible qu'avec GNU/Linux. Leur problème est qu'ils viennent complexifier l'architecture. Il faut être sysadmin pour pouvoir maintenir ces solutions: MySQL-Utilities (mysqlrplcheck, mysqlrpladmin) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 38 / 118
  • 39. Automatisation Et c'est là que c'est plus compliqué ;-) En fait il existe beaucoup d'outils externes qui peuvent être utilisés pour cette tâche. La majorité ne sont compatible qu'avec GNU/Linux. Leur problème est qu'ils viennent complexifier l'architecture. Il faut être sysadmin pour pouvoir maintenir ces solutions: MySQL-Utilities (mysqlrplcheck, mysqlrpladmin) Pacemaker avec un OCF dédié à MySQL Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 39 / 118
  • 40. Automatisation Et c'est là que c'est plus compliqué ;-) En fait il existe beaucoup d'outils externes qui peuvent être utilisés pour cette tâche. La majorité ne sont compatible qu'avec GNU/Linux. Leur problème est qu'ils viennent complexifier l'architecture. Il faut être sysadmin pour pouvoir maintenir ces solutions: MySQL-Utilities (mysqlrplcheck, mysqlrpladmin) Pacemaker avec un OCF dédié à MySQL MHA Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 40 / 118
  • 41. MySQL Group Replication Mais qu'est-ce que c'est ? Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 41 / 118
  • 42. MySQL Group Replication Mais qu'est-ce que c'est ? C'est un plugin pour MySQL fourni avec MySQL par MySQL ! Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 42 / 118
  • 43. MySQL Group Replication Mais qu'est-ce que c'est ? C'est un plugin pour MySQL fourni avec MySQL par MySQL ! Il permet d'écrire sur tous les membres du groupe (noeuds du cluster) si nécessaire Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 43 / 118
  • 44. MySQL Group Replication Mais qu'est-ce que c'est ? C'est un plugin pour MySQL fourni avec MySQL par MySQL ! Il permet d'écrire sur tous les membres du groupe (noeuds du cluster) si nécessaire Il détecte les conflits Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 44 / 118
  • 45. MySQL Group Replication Mais qu'est-ce que c'est ? C'est un plugin pour MySQL fourni avec MySQL par MySQL ! Il permet d'écrire sur tous les membres du groupe (noeuds du cluster) si nécessaire Il détecte les conflits Et permet la récupération distribuée automatique Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 45 / 118
  • 46. Et pour les utilisateurs ? Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 46 / 118
  • 47. Et pour les utilisateurs ? Il n'est plus nécessaire d'effectuer un basculement du rôle des serveurs manuellement ou avec un script compliqué Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 47 / 118
  • 48. Et pour les utilisateurs ? Il n'est plus nécessaire d'effectuer un basculement du rôle des serveurs manuellement ou avec un script compliqué Mise à jours des données sur des serveurs Actifs/Actifs Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 48 / 118
  • 49. Et pour les utilisateurs ? Il n'est plus nécessaire d'effectuer un basculement du rôle des serveurs manuellement ou avec un script compliqué Mise à jours des données sur des serveurs Actifs/Actifs Gère les pannes distribuées (quorum) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 49 / 118
  • 50. Et pour les utilisateurs ? Il n'est plus nécessaire d'effectuer un basculement du rôle des serveurs manuellement ou avec un script compliqué Mise à jours des données sur des serveurs Actifs/Actifs Gère les pannes distribuées (quorum) Facilite grandement la mise en place d'un service MySQL hautement disponible ! Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 50 / 118
  • 51. Mais comment ça marche ? Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 51 / 118
  • 52. Mais comment ça marche ? par magie ! Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 52 / 118
  • 53. Mais comment ça marche ? par magie ! Non, au fait, la réplication des "writesets" se fait de manière synchrone, ensuite la certification et l'application des changements se font de manière asynchrone... Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 53 / 118
  • 54. Mais comment ça marche ? par magie ! Non, au fait, la réplication des "writesets" se fait de manière synchrone, ensuite la certification et l'application des changements se font de manière asynchrone... C'est peut-être un peu compliqué comme ça... voyons voir avec un dessin.. Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 54 / 118
  • 55. MySQL Group Replication (autocommit) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 55 / 118
  • 56. MySQL Group Replication (autocommit) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 56 / 118
  • 57. MySQL Group Replication (autocommit) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 57 / 118
  • 58. MySQL Group Replication (autocommit) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 58 / 118
  • 59. MySQL Group Replication (autocommit) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 59 / 118
  • 60. MySQL Group Replication (autocommit) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 60 / 118
  • 61. MySQL Group Replication (autocommit) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 61 / 118
  • 62. MySQL Group Replication (full transaction) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 62 / 118
  • 63. MySQL Group Replication (full transaction) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 63 / 118
  • 64. MySQL Group Replication (full transaction) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 64 / 118
  • 65. MySQL Group Replication (full transaction) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 65 / 118
  • 66. MySQL Group Replication (full transaction) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 66 / 118
  • 67. MySQL Group Replication (full transaction) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 67 / 118
  • 68. MySQL Group Replication (full transaction) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 68 / 118
  • 69. MySQL Group Replication (full transaction) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 69 / 118
  • 70. MySQL Group Replication (full transaction) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 70 / 118
  • 83. Optimistic Locking on renvoie l'erreur 149 -> ERROR 1180 (HY000): Got error 149 during COMMIT Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 83 / 118
  • 84. Réplication et Communication Comme on a vu, la réplication des données comme on la perçoit en asynchrone est ici divisée en 4 parties: Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 84 / 118
  • 85. Réplication et Communication Comme on a vu, la réplication des données comme on la perçoit en asynchrone est ici divisée en 4 parties: la réplication des writesets (transactions) via GCS/XCOM(Group Communication System&une solution interne dérivée de Paxos) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 85 / 118
  • 86. Réplication et Communication Comme on a vu, la réplication des données comme on la perçoit en asynchrone est ici divisée en 4 parties: la réplication des writesets (transactions) via GCS/XCOM(Group Communication System&une solution interne dérivée de Paxos) la certification Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 86 / 118
  • 87. Réplication et Communication Comme on a vu, la réplication des données comme on la perçoit en asynchrone est ici divisée en 4 parties: la réplication des writesets (transactions) via GCS/XCOM(Group Communication System&une solution interne dérivée de Paxos) la certification l'application (apply) Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 87 / 118
  • 88. Réplication et Communication Comme on a vu, la réplication des données comme on la perçoit en asynchrone est ici divisée en 4 parties: la réplication des writesets (transactions) via GCS/XCOM(Group Communication System&une solution interne dérivée de Paxos) la certification l'application (apply) le commit Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 88 / 118
  • 89. Certification La certification est le processus qui a pour but de répondre à cette unique question: Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 89 / 118
  • 90. Certification La certification est le processus qui a pour but de répondre à cette unique question: est-ce-quecetteécriture(writeset)peutêtreappliquée? Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 90 / 118
  • 91. Certification La certification est le processus qui a pour but de répondre à cette unique question: est-ce-quecetteécriture(writeset)peutêtreappliquée? en se basant sur les transactions précédentes qui ne sont pas encore appliquées Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 91 / 118
  • 92. Certification La certification est le processus qui a pour but de répondre à cette unique question: est-ce-quecetteécriture(writeset)peutêtreappliquée? en se basant sur les transactions précédentes qui ne sont pas encore appliquées ce type de conflit provient toujours des autres membres Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 92 / 118
  • 93. Certification La certification est le processus qui a pour but de répondre à cette unique question: est-ce-quecetteécriture(writeset)peutêtreappliquée? en se basant sur les transactions précédentes qui ne sont pas encore appliquées ce type de conflit provient toujours des autres membres La certification se fait sur chaque membre du groupe Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 93 / 118
  • 94. Certification La certification est le processus qui a pour but de répondre à cette unique question: est-ce-quecetteécriture(writeset)peutêtreappliquée? en se basant sur les transactions précédentes qui ne sont pas encore appliquées ce type de conflit provient toujours des autres membres La certification se fait sur chaque membre du groupe Doit être déterministe sur chaque noeud Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 94 / 118
  • 95. Certification La certification est le processus qui a pour but de répondre à cette unique question: est-ce-quecetteécriture(writeset)peutêtreappliquée? en se basant sur les transactions précédentes qui ne sont pas encore appliquées ce type de conflit provient toujours des autres membres La certification se fait sur chaque membre du groupe Doit être déterministe sur chaque noeud Le résultat n'est pas communiqué au cluster en retour Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 95 / 118
  • 96. Certification La certification est le processus qui a pour but de répondre à cette unique question: est-ce-quecetteécriture(writeset)peutêtreappliquée? en se basant sur les transactions précédentes qui ne sont pas encore appliquées ce type de conflit provient toujours des autres membres La certification se fait sur chaque membre du groupe Doit être déterministe sur chaque noeud Le résultat n'est pas communiqué au cluster en retour Réussite: entre dans la queue pour être appliqué Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 96 / 118
  • 97. Certification La certification est le processus qui a pour but de répondre à cette unique question: est-ce-quecetteécriture(writeset)peutêtreappliquée? en se basant sur les transactions précédentes qui ne sont pas encore appliquées ce type de conflit provient toujours des autres membres La certification se fait sur chaque membre du groupe Doit être déterministe sur chaque noeud Le résultat n'est pas communiqué au cluster en retour Réussite: entre dans la queue pour être appliqué Échec: la transaction est rejetée Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 97 / 118
  • 98. Certification La certification est le processus qui a pour but de répondre à cette unique question: est-ce-quecetteécriture(writeset)peutêtreappliquée? en se basant sur les transactions précédentes qui ne sont pas encore appliquées ce type de conflit provient toujours des autres membres La certification se fait sur chaque membre du groupe Doit être déterministe sur chaque noeud Le résultat n'est pas communiqué au cluster en retour Réussite: entre dans la queue pour être appliqué Échec: la transaction est rejetée Sérialisé par l'ordre établi dans GCS/XCOM+ GTID Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 98 / 118
  • 99. Certification La certification est le processus qui a pour but de répondre à cette unique question: est-ce-quecetteécriture(writeset)peutêtreappliquée? en se basant sur les transactions précédentes qui ne sont pas encore appliquées ce type de conflit provient toujours des autres membres La certification se fait sur chaque membre du groupe Doit être déterministe sur chaque noeud Le résultat n'est pas communiqué au cluster en retour Réussite: entre dans la queue pour être appliqué Échec: la transaction est rejetée Sérialisé par l'ordre établi dans GCS/XCOM+ GTID Le coût varie en fonction du nombres d'index et d'enregistrements Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 99 / 118
  • 100. GTID Les GTIDs utilisés sont identiques aux GTID utilisés en réplication asynchrone. mysql> SELECT * FROM performance_schema.replication_connection_statusG ************************** 1. row *************************** CHANNEL_NAME: group_replication_applier GROUP_NAME: afb80f36-2bff-11e6-84e0-0800277dd3bf SOURCE_UUID: afb80f36-2bff-11e6-84e0-0800277dd3bf THREAD_ID: NULL SERVICE_STATE: ON COUNT_RECEIVED_HEARTBEATS: 0 LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00 RECEIVED_TRANSACTION_SET: afb80f36-2bff-11e6-84e0-0800277dd3bf:1-57, f037578b-46b1-11e6-8005-08002774c31b:1-48937 LAST_ERROR_NUMBER: 0 LAST_ERROR_MESSAGE: LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00 Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 100 / 118
  • 101. Mais c'est le GTID du cluster qui est mélangé aux autres mysql> show master statusG ************************** 1. row *************************** File: mysql4-bin.000001 Position: 1501 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: afb80f36-2bff-11e6-84e0-0800277dd3bf:1-57, f037578b-46b1-11e6-8005-08002774c31b:1-48937 Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 101 / 118
  • 102. Exigences Les données doivent impérativement être sauvergardées dans des tables en InnoDB Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 102 / 118
  • 103. Exigences Les données doivent impérativement être sauvergardées dans des tables en InnoDB Chaques tables doivent avoir une clé primaire Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 103 / 118
  • 104. Exigences Les données doivent impérativement être sauvergardées dans des tables en InnoDB Chaques tables doivent avoir une clé primaire Ne fonctionne qu'en IPV4 Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 104 / 118
  • 105. Exigences Les données doivent impérativement être sauvergardées dans des tables en InnoDB Chaques tables doivent avoir une clé primaire Ne fonctionne qu'en IPV4 Un bon réseau avec peu de latence est important Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 105 / 118
  • 106. Exigences Les données doivent impérativement être sauvergardées dans des tables en InnoDB Chaques tables doivent avoir une clé primaire Ne fonctionne qu'en IPV4 Un bon réseau avec peu de latence est important Un maximumde 9 membres par groupe Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 106 / 118
  • 107. Exigences Les données doivent impérativement être sauvergardées dans des tables en InnoDB Chaques tables doivent avoir une clé primaire Ne fonctionne qu'en IPV4 Un bon réseau avec peu de latence est important Un maximumde 9 membres par groupe log­bin doit être activé et seul le format ROWest supporté Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 107 / 118
  • 108. Exigences (2) les GTIDs doivent être activés Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 108 / 118
  • 109. Exigences (2) les GTIDs doivent être activés Les meta données de réplication doivent être sauvergardées dans des tables systèmes --master-info-repository=TABLE --relay-log-info-repository=TABLE Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 109 / 118
  • 110. Exigences (2) les GTIDs doivent être activés Les meta données de réplication doivent être sauvergardées dans des tables systèmes --master-info-repository=TABLE --relay-log-info-repository=TABLE L'extraction des "writesets" de réplication doit être activée --transaction-write-set-extraction=XXHASH64 Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 110 / 118
  • 111. Exigences (2) les GTIDs doivent être activés Les meta données de réplication doivent être sauvergardées dans des tables systèmes --master-info-repository=TABLE --relay-log-info-repository=TABLE L'extraction des "writesets" de réplication doit être activée --transaction-write-set-extraction=XXHASH64 log­slave­updates doit aussi être présent Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 111 / 118
  • 112. Limites Le checksumdes évenements répliqués n'est pas supporté --binlog-checksum=NONE Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 112 / 118
  • 113. Limites Le checksumdes évenements répliqués n'est pas supporté --binlog-checksum=NONE Les "Savepoints" ne sont pas supportés Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 113 / 118
  • 114. Limites Le checksumdes évenements répliqués n'est pas supporté --binlog-checksum=NONE Les "Savepoints" ne sont pas supportés On ne peut utiliser SERIALIZABLEcomme niveau d'isolation des transactions Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 114 / 118
  • 115. Exemple d'architecures MySQL Group Replication est la fondation d'une future solution complète de Haute Disponibilité pour MySQL. En attendant l'avancement des autres composants de cette solution (comme mysql- router), il est déjà possible d'utiliser Group Replication avec d'autres logiciels. Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 115 / 118
  • 118. Des Questions ? Merci !       Copyright @ 2016 Oracle and/or its affiliates. All rights reserved. 118 / 118