sql >> Databáze >  >> RDS >> MariaDB

Porovnání serveru MariaDB s clusterem MariaDB

MariaDB Server a MariaDB Cluster jsou open source produkty založené na MariaDB Corporation. MariaDB Server je jednou z nejpopulárnějších relačních databází, původně byla vytvořena ze serveru MySQL.

MariaDB Cluster je řešení s vysokou dostupností vytvořené ze serveru MariaDB, které k synchronizaci dat mezi uzly používá knihovnu Galera Cluster wsrep. Metoda replikace Galery je synchronní (neboli „virtuálně synchronní“), což zajišťuje, že data budou stejná na všech uzlech.

Server MariaDB může být také vysoce dostupný prostřednictvím standardní replikace. Replikace může být asynchronní nebo semisynchronní.

Jak se tedy MariaDB server se standardní replikací liší od MariaDB Cluster s Galera Cluster? V tomto blogu je porovnáme. K ilustraci některých rozdílů použijeme ClusterControl.

Architektura serveru MariaDB

Architektura serveru MariaDB může být jednoduchá/samostatná instance nebo replikace master/slave, jak je znázorněno na obrázku níže.

Jednoinstanční architektura serveru MariaDB představuje pouze jeden uzel. Nevýhodou jediné instance je jediný bod selhání databáze. Pokud se vaše databáze zhroutí a neobnoví se, nemáte žádný mechanismus převzetí služeb při selhání a musíte provést obnovu, abyste obnovili databázi z poslední zálohy.

Architektura master/slave je distribuované nastavení, kde master funguje jako zapisovač a slave (podřízené) jako čtečky. Pomocí nástroje pro vyrovnávání zatížení, jako je Maxscale nebo ProxySQL, můžete rozdělit databázový provoz tak, aby se zápisy odesílaly hlavnímu serveru a čtení podřízenému (podřízeným). Nastavení replikace odstraní jediný bod selhání databáze, ale musíte mít možnost automatického převzetí služeb při selhání, pokud selže hlavní server. Jinak aplikace nebudou moci zapisovat do databáze a budou ovlivněny. ClusterControl lze nakonfigurovat tak, aby poskytoval automatické převzetí služeb při selhání a obnovu pro replikaci MariaDB.

Architektura clusteru MariaDB

MariaDB Cluster je řešení s vysokou dostupností sestávající z MariaDB Server a Galera Replication, jak je znázorněno na níže uvedeném schématu architektury:

Jde o synchronní („virtuálně synchronní“) replikaci, všechny uzly jsou zapisovatelné. Synchronní replikace zaručuje, že pokud ke změnám dojde v jednom z uzlů galerie, bude před potvrzením k dispozici na všech ostatních uzlech v clusteru.

Velký rozdíl je v tom, že všechny uzly jsou si z hlediska aplikace rovny, mohou posílat zápisový provoz do kterékoli instance databáze. Všechny uzly by také měly mít přesně stejná data, aby nedocházelo ke ztrátě dat v případě selhání uzlu.

Nasazení MariaDB

Jak MariaDB Replication, tak MariaDB Cluster lze nasadit prostřednictvím ClusterControl. Když nasadíte server MariaDB, musíte začít výběrem replikace MySQL, zatímco pro cluster MariaDB musíte vybrat MySQL Galera.

Pro server MariaDB můžete buď nasadit instanci MariaDB s jedním uzlem, nebo můžete nastavit replikaci master/slave a obousměrnou replikaci. Minimální počet uzlů v nastavení replikace jsou dva, potřebujete jeden master a alespoň jeden slave. Stačí vyplnit IP adresu pro master a přidat slave (pokud chcete mít architekturu master/slave). Pokud chcete nastavit obousměrnou replikaci, můžete použít pole Přidat druhou předlohu. Nastavení master-master bude zřízeno s obousměrnou replikací, ale jeden z uzlů bude nastaven jako pouze pro čtení. Důvodem je minimalizace rizika posunu dat a „chybných transakcí“.

Pro MariaDB Cluster potřebujete alespoň 3 hostitele pro uzly cílové databáze, aby být nainstalován. Je to proto, že musí být schopen zvládnout rozdělení sítě nebo syndrom „rozděleného mozku“. Při definování konfigurace serverů MySQL stačí vyplnit IP adresu při Add Node.

Nezapomeňte vybrat MariaDB jako dodavatele databáze, verzi databáze, která chcete nainstalovat a vyplnit heslo uživatele root. Můžete také změnit jiný než výchozí datový adresář na jakoukoli jinou cestu.

Až nakonfigurujeme všechny věci, stačí nasadit cluster. Spustí novou úlohu pro nasazení databáze.

Všimněte si, že je také možné mít 2 uzly Galera a jeden arbitr Galera alias garbd na třetím hostiteli.

MariaDB Server &Cluster Monitoring

Sledování databáze je kritickou součástí databáze, můžete znát aktuální stav databáze. Rozdíl mezi monitorováním MariaDB Server a MariaDB Cluster je Galera Metrics pro synchronizaci.

Na serveru MariaDB můžete zkontrolovat aktuální stav databáze prostřednictvím metrik MySQL; MySQL Server – Obecné, MySQL Server – Mezipaměti, Metriky MySQL InnoDB, které jsou také viditelné na MariaDB Cluster, jak je znázorněno níže:

MySQL Server - Obecné poskytuje informace o aktuálním stavu poměru přístupů k vyrovnávací paměti InnoDB, připojení k databázi, dotazech, zamykání a využití paměti databáze.

Server MySQL - Cache, v Cache je mnoho informací. Většinou souvisí s ukládáním do mezipaměti v databázi, např.:velikost bufferu, instance bufferu. Nechybí ani informace o využití mezipaměti tabulky, poměru zásahů, výskytech a chybách mezipaměti. Můžete také najít informace o využití mezipaměti vláken a poměru zásahů.

Server MySQL - Metriky InnoDB zobrazují metriky související s úložištěm InnoDB, např.:aktivita Bufferpool, operace řádků InnoDB, velikost souboru protokolu InnoDB, čtení/zápis dat InnoDB.

Pokud na serveru MariaDB nastavíte replikaci master/slave, existuje jedna podkategorie metrik pod MySQL Replication - Master. Jsou zde informace týkající se hlavního binárního souboru protokolu, pozice hlavního binárního protokolu a frekvence vytváření binárního protokolu.

MariaDB Server má mnoho informací souvisejících s databází, ty jsou také dostupné pro MariaDB Cluster. Rozdíl je v tom, že pro klastr MariaDB existují dva řídicí panely – přehled Galera a grafy serveru Galera.

Přehled aplikace Galera poskytuje informace související s aktuálním stavem replikace Galera. Jsou zde informace jako velikost clusteru, odeslané řízení toku, přijaté řízení toku, pozastavené řízení toku.

Galera Server Charts obsahuje informace o názvu clusteru, stavu clusteru, velikosti a velikosti globální mezipaměti.

Závěr

MariaDB Server se standardní replikací a MariaDB Cluster nejsou ve skutečnosti různé produkty, pokud jde o databázové služby, ale mají různé vlastnosti v závislosti na vašich požadavcích na dostupnost a škálovatelnost. ClusterControl podporuje jak MariaDB Server se standardní replikací, tak nasazení MariaDB Cluster, takže vyzkoušejte obě nastavení a dejte nám vědět, co si o tom myslíte.


  1. Jak převést celé číslo na desítkové v SQL Server

  2. 🆕 SQL Server 2022 První pohled – 5 nejlepších nových funkcí (Bonus 5 funkcí)

  3. Zkrátit všechny tabulky v databázi MySQL jedním příkazem?

  4. Jak aktualizovat řádky s náhodným datem