MariaDB Galera Cluster

cruci

  • *
  • 21
  • plz be kind
    • Zobrazit profil
MariaDB Galera Cluster
« kdy: 08. 07. 2019, 16:48:55 »
Ahojte,
mame MySQL 5.5 databazu beziacu na jednom srv a plan je aby tam bola nejaka replikacia.

Varianta 1 - upgrade na najnovsiu verziu MySQL a nastavenie replikacie pomocou MySQL Clustera (NDB Cluster), len neviem ci NDB je plateny komponent alebo nie.

Varianta 2 - zmigrovat to na MariaDB na najnovsiu verziu a ako clusterove riesenie pouzit Galera Cluster (3 nody).

Cele to bude bezat na CentOS 7, co je podla Vas lepsia volba? Diky


Vilith

  • *****
  • 660
    • Zobrazit profil
Re:MariaDB Galera Cluster
« Odpověď #1 kdy: 08. 07. 2019, 18:00:29 »

Re:MariaDB Galera Cluster
« Odpověď #2 kdy: 09. 07. 2019, 09:59:38 »
Varianta 2

Re:MariaDB Galera Cluster
« Odpověď #3 kdy: 11. 07. 2019, 13:09:44 »
záleží jaký je cíl a jaké jsou tvoje technické znalosti, provozovat galera cluster není zrovna procházka (https://galeracluster.com/library/documentation/monitoring-cluster.html).

Osobně bych to spíše seřadil podle obtížnosti, na:

A) běžný mysql-dump, který přes cp/rsync nahraješ na jiný server, pokud ti stačí hodinové zálohy a máš dostatečně malou db

B) Mysql cluster s asynchronní replikací - sice dochází ke zpoždění, ale při provozu to není náchylné na spousty problémů, lépe se řeší údržba, máš druhou slave databázi

C) Galera cluster - master-master replikace, nepotřebuješ 3 instance, galera umí používat váhu jednotlivých instancí a můžeš mít jednu hlavní a druhá bude jen pro backup, ale bude plně konzistentní. Je s tím řada problémů vč. samotného nastartování. Při špatné konfiguraci se to rádo rozpojuje do dvou clusterů a pokud nepotřebuješ výhodu master-master replikace, na produkci bych to bez zkušeností nedával.

Vilith: Mariadb 10.1 a aktuální verze? Je to 3 roky starý návod a třeba konfigurace wsrep_cluster_address s uvozovkami nejspíš fungovat nebude s dnešní verzí galery

Re:MariaDB Galera Cluster
« Odpověď #4 kdy: 11. 07. 2019, 19:39:50 »
Bych se taky připojil k názoru, že master-master replikace je docela komplexní záležitost a už se ani ta DB nechová zcela standardně.
Každý přednášející na toto téma končí slovy, dobře si rozmyslete, jestli to potřebujete (je to celkem drahé na údržbu).
Master-slave je jednoduchá a ověřená varianta.

Obecně pokud se na distribuovaných řešeních šetří, dopadá to hrozně. Někdy je to vyloženě nebezpečné.
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci


cruci

  • *
  • 21
  • plz be kind
    • Zobrazit profil
Re:MariaDB Galera Cluster
« Odpověď #5 kdy: 11. 07. 2019, 20:39:36 »
Dakujem moc za rady, nakoniec sme sa predsalen rozhodli pre mysql cluster, riesenie master slave. Jednoduche a spolahlive  8)

Re:MariaDB Galera Cluster
« Odpověď #6 kdy: 28. 07. 2019, 12:57:46 »
MariaDB je trochu mimo me, nicmene MySQL az tak ne. Jsem zastancem postgresu. Zalezi na typu aplikace kterou jedete, ale z postgresu na stejnem stroji je mozne vymackat 4x vetsi rychlost a mate vetsi kontrolu nad "zdroji" (ram/swap usage). Replikace a basebackup je neco co na postgresu nastavite bez vetsich problemu a s trochou rsync to slape opravdu rychle a spolehlive.

Postgres ma nastroje na migraci dat z Mysql a pokud nemate nejake vylozene specificke/custom bastleni primo v DB (funkce, procedury atd.) funguje to krasne a spolehlive (pgLoader).

Jak uz bylo zmineno vyse cluster je preci jen slozitejsi reseni, dlouho jsem hledal neco jako Galera cluster na Postgres, jejich BDR a XL neni apriory spatne, ale porad to neni cluster/Galera (nejsem DBA, rad se neco priucim). Aktualne testuji CockroachDB a rozhodne je to srovnatelne s Galera clusterem, nicmene je to pomerne nove, takze vys jak na staging si to zatim nepoustim, ma to hezke funkce jako inkrementalni backup coz pri testovani/vyvoji rozhodne potesi. Zatim jsem nenarazil na problem s kompatibilitou (pouziva to postgres driver v railsech napr. a CockroachDB tvrdi ze jsou 100% postgres/sql compatible).

https://www.cockroachlabs.com/docs/stable/

Re:MariaDB Galera Cluster
« Odpověď #7 kdy: 28. 07. 2019, 16:24:56 »
galera cluster je mozne riesenie. bolo tu spomenute cockroachdb, ktore je momentalne najlepsie out-of-the-box riesenie ak ide o skalovanu db(seriozne, nema konkurenciu, proste plug'n'play). avsak pouziva pgsql protokol a nie mysql takze si treba zvazit ci prepisanie softveru za to stoji(ja som hlavne narazil na problem s odlisnymi tokenmi v query ale to moze poriesit driver, horsie to je ak sa protokoly lisia napr v tom co vratia alebo aku maju syntax pre rozne prikazy).

potom je tu este tidb ktora je skalovatelna a bezi na mysql protokole avsak je trochu zlozitejsia na rozbehanie oproti cockroachu lebo cockroach ma jednu binarku kdezto tidb ma tri urovne ktore treba medzi sebou prepojit(kv store, pd koorinator a tidb nadstavba). kvoli tomu som sa aj na to vykaslal a dal prednost cockroachu. na druhu stranu ich riesenie moze byt solidnejsie pre masivnejsie skalovanie.

tym ze mas skalovanu db sice zvladnes vyssi napor avsak tym aj prinasas do systemu latenciu takze necakaj vyssie rychlosti, skor naopak.

anyhow, ak ide o skalovanie tak by som sa urcite vyhybal multi-master rieseniu a urcite isiel cestou cqrs - jeden master server na write a 1+ slave serverov na read.

eventuelne to nechat na cloud a nemenezovat nic, len si to naklikat a platit.

vo firme si musite sami zhodnotit ktory model vam viac vyhovuje.

Re:MariaDB Galera Cluster
« Odpověď #8 kdy: 17. 08. 2019, 14:16:31 »
Používám pro eshop galera cluster (3 nody) a zatím si nemůžu stěžovat. Ale asi bych to nedával na aplikace, kde je hodně zápisů. Tady se jen občas zapíše objednávka, registrace. Statistiky je lepší mít odděleně. Určitě bych to nedával z fleku na produkci, protože jsou tam dobrý špeky (např. dojde místo na jednom nodu, takže INSERT nejede, ale SELECT jo, takže pohoda, necháme node aktivní :D). Tabulky musí být INNODB. Předem si vyzkoušet odpadnutí jednoho/dvou/všech nodů. Zpětný nahození může potrápit. Zkoušel jsem to i ddosovat a to se pak půl dne vzpamatovávalo (na nodu se drasticky sníží výkon, než se vše znovu zesynchronizuje), ale pak to zase jelo dobře.   
« Poslední změna: 17. 08. 2019, 14:22:52 od kotelgg »

Re:MariaDB Galera Cluster
« Odpověď #9 kdy: 20. 08. 2019, 13:43:01 »
případně pokud jste se rozhodli pro master-slave tak ještě pouvažujte nad tím to upravit na master-master s přepínanou adresou tak aby to bylo všechno HA a mohla se dělat údržba na těch strojích bez nutnosti výpadku.