MySQL a beaucoup de solutions différentes très disponibles, j'aimerais savoir quelles sont les différences entre toutes les implémentations actuelles, voici les implémentations qui semblent actuellement à jour:
Quelles seraient les options recommandées (ou les autres) pour une configuration disponible élevée avec un basculement automatique? (Pour quelque chose d'équivalent de la mise en miroir SQL Server dB avec une réplication synchrone)
Galera == pxc == mariadb w/galera - ils sont proches de la même chose. Pour HA, vous avez besoin de 1 (ou plus) nœud dans chacun des 3 centres de données. (Pensez les tremblements de terre, les tornades, les inondations, même les pannes de datacenter - qui DO se produisent.)
La réplication du groupe Oracle est assez nouvelle, mais a beaucoup de promesses.
Le "tissu" d'Oracle est probablement abandonné. (Probablement en raison d'une insuffisance unique à résoudre.)
L'orchestrateur est très bon à défaillance des arbres arbitraires (pensez aux serveurs de relais) de lots (même des centaines) d'esclaves. Je ne sais pas sur le basculement du maître. (Voir les conférences de Booking.com.)
Le MHA est plutôt bon - mais quand il découvre une situation "cerveau fendu", elle nécessite une intervention manuelle.
NDB Cluster a un certain nombre de choses différentes dans son "moteur". C'est-à-dire que ce n'est pas un remplacement "Drop-in" pour Innodb, que tout le reste du reste. Pour une chose, il emploie une "consistance éventuelle", dans laquelle vous devez spécifier la manière de résoudre les conflits.
Je pense que les solutions basées sur Galera, plus la réplication du groupe sont les seules à réparer automatiquement un serveur défaillant lorsqu'il est ramené. (Je pourrais me tromper ici.)
Mes préférences Aujourd'hui: PXC de Percona ou Mariadb avec Galera - chacun se développe et prend en charge Galera. Mais je garde mes yeux sur la réplication du groupe.
Quelques mots plus à une autre réponse (des commentaires non bien formatés):
Tout comme remarque:
spéciale pour la dernière raison, je suis très sceptique environ 1 noeud par datacenter, selon les besoins de l'entreprise, vous pouvez choisir quel meilleur - quelques secondes retardent l'esclave derrière le maître ou le ralentissement par chaque changement. Il n'a pas pu être affecté sur de très petites transactions et pourrait être tueur sur plus compliqué.
Une solution simple que vous voudrez peut-être envisager est une configuration active/passive PACEMAKER/COROSYNC avec DRBD. Le plus gros inconvénient est qu'un basculement implique une récupération d'accident, mais si vos ib_logfiles ne sont pas énormes et que vous pouvez rester un peu de temps en cas de défaillance (la récupération de l'accident de longue date peut-elle être quelques secondes, pourrait être Beaucoup de temps plus long en fonction de la quantité nécessaire à Rejouer les journaux de Redo), il peut simplifier votre vie.
Avec DRBD, la réplication de données se produit en dehors de MySQL et au niveau du bloc, de sorte que vous évitez de résoudre tout problème avec des touches en double et une cohérence des données sur plusieurs maîtres. Cela peut également être combiné avec des esclaves de réplication MySQL qui lisent à partir du serveur actif dans la paire.
Il n'y a plus de solution HA qui est la meilleure pour chaque cas, et il existe de nombreuses opinions contradictoires. Celui-ci n'est pas une solution "écrire n'importe où", donc si c'est ce que vous recherchez, vous pouvez probablement le gratter la liste.