web-dev-qa-db-fra.com

Délai de mise à jour de masse MySQL Galera Galera

J'ai migré ma configuration Mariadb unique sur un cluster à 3 nœuds Galera. Je suis actuellement en train de mettre en scène et la plupart des opérations normales fonctionnent bien.

J'ai un problème cependant: si je fais une mise à jour de masse d'une colonne d'une table (1 500K lignes), la nouvelle valeur est disponible sur le nœud où j'ai exécuté la mise à jour SQL immédiatement après que la transaction soit effectuée pendant qu'il faut plusieurs secondes pour se propager. aux autres nœuds.

Je pensais que Galera Cluster était synchrone à 100% et donc surpris pour voir que, car cela signifie que les utilisateurs pouvaient voir différentes données ...

Ma conf est:

[mysqld]
binlog_format=ROW
default_storage_engine=InnoDB
innodb_flush_log_at_trx_commit=0
innodb_autoinc_lock_mode=2
innodb_doublewrite=1
query_cache_size=0
wsrep_provider=/usr/lib/libgalera_smm.so
wsrep_provider_options="gcache.size=300M; gcache.page_size=300M"
wsrep_cluster_name="xxxxx"
wsrep_cluster_address="gcomm://192.168.0.100,192.168.0.101,192.168.0.102"
wsrep_node_address="192.168.0.102"
wsrep_sst_auth="sst:yyyyyy"
wsrep_sst_method=xtrabackup-v2
wsrep_on=ON

Est-ce vraiment attendu ou y a-t-il quelque chose à peaufiner?

Merci!

2
nbonamy

Si votre application ira bien avec les "mises à jour de masse" dans de petits morceaux, alors faites-le.

Faites 1000 rangées à la fois, assurez-vous de COMMIT (ou d'utiliser autocommit) après chaque morceau.

Plus ( Détails

2
Rick James