sql >> Database >  >> RDS >> MariaDB

MariaDB Server vergelijken met MariaDB Cluster

MariaDB Server en MariaDB Cluster zijn open source-producten die worden aangedreven door MariaDB Corporation. MariaDB Server is een van de meest populaire relationele databases, het is oorspronkelijk gevorkt van de MySQL-server.

MariaDB Cluster is een oplossing met hoge beschikbaarheid die is gebouwd op MariaDB Server en die gebruikmaakt van een Galera Cluster wsrep-bibliotheek om de gegevens tussen knooppunten te synchroniseren. De replicatiemethode van Galera is synchroon (of 'vrijwel synchroon'), zodat de gegevens op alle knooppunten hetzelfde zijn.

MariaDB-server kan ook maximaal beschikbaar worden gemaakt via standaardreplicatie. Replicatie kan asynchroon of semi-synchroon zijn.

Dus hoe verschilt de MariaDB-server met standaardreplicatie van MariaDB Cluster met Galera Cluster? In deze blog vergelijken we die twee. We zullen ClusterControl gebruiken om enkele van de verschillen te illustreren.

MariaDB-serverarchitectuur

De architectuur van MariaDB Server kan een enkele/zelfstandige instantie of master/slave-replicatie zijn, zoals weergegeven in het onderstaande diagram.

De MariaDB Server-architectuur met één instantie staat voor slechts één knooppunt. Het nadeel van het hebben van een enkele instantie is een enkel storingspunt voor de database. Als uw database crasht en geen back-up krijgt, heeft u geen failover-mechanisme en moet u een herstel uitvoeren om uw database vanaf de laatste back-up te herstellen.

De master/slave-architectuur is een gedistribueerde opstelling, waarbij de master optreedt als schrijver en de slave(s) als lezer(s). Met behulp van een load balancer zoals Maxscale of ProxySQL kunt u het databaseverkeer splitsen, zodat schrijfbewerkingen naar de master worden verzonden en naar de slave(s) worden gelezen. Het hebben van een replicatie-installatie elimineert een enkel storingspunt voor de database, maar u moet automatisch een failover kunnen uitvoeren als de master faalt. Anders kunnen toepassingen niet naar de database schrijven en worden ze beïnvloed. ClusterControl kan worden geconfigureerd om automatische failover en herstel voor MariaDB-replicatie te bieden.

MariaDB-clusterarchitectuur

MariaDB Cluster is een oplossing met hoge beschikbaarheid die bestaat uit MariaDB Server en Galera Replication, zoals weergegeven in het onderstaande architectuurdiagram:

Het is synchrone ("vrijwel synchrone") replicatie, alle knooppunten zijn beschrijfbaar. De synchrone replicatie garandeert dat als de wijzigingen plaatsvinden in een van de galera-knooppunten, deze beschikbaar zullen zijn op alle andere knooppunten in het cluster voordat ze worden vastgelegd.

Het grote verschil is dat alle knooppunten gelijk zijn vanuit het oogpunt van de toepassing, ze kunnen schrijfverkeer naar elk van de database-instanties sturen. Ook moeten alle knooppunten exact dezelfde gegevens hebben, zodat er geen gegevensverlies is in het geval van een knooppuntstoring.

MariaDB-implementatie

Zowel MariaDB Replication als MariaDB Cluster kunnen worden geïmplementeerd via ClusterControl. Wanneer u MariaDB Server implementeert, moet u beginnen met MySQL-replicatie te kiezen, terwijl u voor MariaDB Cluster MySQL Galera moet kiezen.

Voor MariaDB Server kunt u ofwel een MariaDB-instantie met één knooppunt implementeren of u kunt master/slave en bidirectionele replicatie instellen. Het minimum aantal nodes in een replicatie-setup is twee, je hebt één master en ten minste één slave nodig. Vul gewoon het IP-adres voor de master in en voeg slaves toe (als je een master/slave-architectuur wilt hebben). U kunt het veld Tweede master toevoegen gebruiken als u bidirectionele replicatie wilt instellen. Een master-masterconfiguratie wordt voorzien van bidirectionele replicatie, maar een van de knooppunten wordt ingesteld als alleen-lezen. De reden is om het risico op data drift en ‘dwalende transacties’ te minimaliseren.

Voor MariaDB Cluster hebt u ten minste 3 hosts nodig voor doeldatabaseknooppunten om worden geïnstalleerd. Dit komt omdat het netwerkpartitionering of het "split brain" -syndroom moet kunnen verwerken. U hoeft alleen het ip-adres in te vullen wanneer u Node toevoegt bij het definiëren van de MySQL Servers-configuratie.

Vergeet niet MariaDB te kiezen als de leverancier van database, databaseversie die u wilt installeren en vul het root-wachtwoord in. U kunt de niet-standaard datadir ook wijzigen in een ander pad.

Nadat we alle dingen hebben geconfigureerd, implementeert u gewoon het cluster. Het zal een nieuwe taak voor database-implementatie activeren.

Merk op dat het ook mogelijk is om 2 Galera-knooppunten en één Galera-arbiter of garbd op een derde host te hebben.

MariaDB Server &Cluster Monitoring

Databasecontrole is een cruciaal onderdeel van de database, u kunt de huidige status van de database kennen. Het verschil tussen MariaDB Server en MariaDB Cluster-monitoring is Galera Metrics voor synchronisatie.

Op MariaDB Server kunt u uw huidige databasestatus controleren via de MySQL Metrics; MySQL Server - Algemeen, MySQL Server - Caches, MySQL InnoDB Metrics die ook zichtbaar zijn op de MariaDB Cluster zoals hieronder getoond:

MySQL-server - Algemeen geeft u informatie over de huidige status van de hitratio van de InnoDB-bufferpool, databaseverbinding, query's, vergrendeling en databasegeheugengebruik.

MySQL-server - Caches, er is veel informatie in Caches. Meestal gerelateerd aan de cache in de database, bijvoorbeeld:bufferpoolgrootte, bufferpoolinstantie. Er is ook informatie over het gebruik van de tafelcache, hitratio, cachehits en -missers. U kunt ook informatie over het gebruik van de threadcache en de hitratio vinden.

MySQL-server - InnoDB Metrics toont statistieken met betrekking tot InnoDB-opslag, bijvoorbeeld:Bufferpool-activiteit, InnoDB-rijbewerkingen, InnoDB-logbestandsgrootte, InnoDB-gegevens lezen/schrijven.

Als u master/slave-replicatie op MariaDB Server instelt, is er een subcategorie van metrische gegevens onder MySQL-replicatie - Master. Er is informatie met betrekking tot het master binaire logbestand, de master binaire logpositie en de aanmaakfrequentie van de binlog.

MariaDB Server heeft veel informatie over de database, deze is ook beschikbaar voor MariaDB Cluster. Het verschil is dat er twee dashboards zijn voor MariaDB Cluster:Galera Overview en Galera Server Charts.

Galera-overzicht geeft informatie over de huidige staat van Galera-replicatie. Er is informatie zoals clustergrootte, stroomregeling verzonden, stroomregeling ontvangen, stroomregeling gepauzeerd.

Galera Server Charts bevat informatie over clusternaam, clusterstatus, grootte, globale cachegrootte.

Conclusie

MariaDB Server met standaardreplicatie en MariaDB Cluster zijn niet echt verschillende producten op het gebied van databaseservice, maar ze hebben verschillende kenmerken, afhankelijk van uw vereisten op het gebied van beschikbaarheid en schaalbaarheid. ClusterControl ondersteunt zowel MariaDB Server met standaardreplicatie als MariaDB Cluster-implementaties, dus probeer beide setups eens en laat ons uw mening weten.


  1. MongoDB Basics:Role-Based Access Control (RBAC) configureren

  2. Escape-functie voor reguliere expressie of LIKE-patronen

  3. SQL Server 2008 - volgorde op tekenreeksen met numeriek nummer

  4. ORA-65139:Mismatch tussen XML-metadatabestand en databestand