MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Сравняване на MariaDB сървър с MariaDB клъстер

MariaDB Server и MariaDB Cluster са продукти с отворен код, задвижвани от MariaDB Corporation. MariaDB Server е една от най-популярните релационни бази данни, първоначално е разклонена от MySQL сървър.

MariaDB Cluster е решение с висока достъпност, изградено от MariaDB Server, използващо библиотека wsrep Galera Cluster за синхронизиране на данните между възлите. Методът на репликация на Galera е синхронен (или „виртуално синхронен“), което гарантира, че данните ще бъдат еднакви на всички възли.

Сървърът на MariaDB може също да се направи високодостъпен чрез стандартна репликация. Репликацията може да бъде асинхронна или полусинхронна.

И така, как сървърът на MariaDB със стандартна репликация се различава от MariaDB Cluster с Galera Cluster? В този блог ще сравним тези две. Ще използваме ClusterControl, за да илюстрираме някои от разликите.

Архитектура на сървъра MariaDB

Архитектурата на MariaDB Server може да бъде единична/самостоятелна инстанция или главна/подчинена репликация, както е показано на диаграмата по-долу.

Архитектурата на MariaDB Server с един екземпляр означава само един възел. Недостатъкът на наличието на един екземпляр е единична точка на отказ за базата данни. Ако вашата база данни се срине и не се възстанови, нямате никакъв механизъм за преодоляване на срив и трябва да извършите възстановяване, за да възстановите базата данни от последното архивиране.

Архитектурата главен/подчинен е разпределена настройка, като главният действа като записващо устройство, а подчинено(ите) като четец(и). Използвайки балансьор на натоварване като Maxscale или ProxySQL, можете да разделите трафика на базата данни, така че записите да се изпращат към главния и да се четат към подчинения(ите). Наличието на настройка за репликация ще елиминира една точка на повреда за базата данни, но трябва да можете да превключвате автоматично, ако главният се повреди. В противен случай приложенията няма да могат да пишат в базата данни и ще бъдат засегнати. ClusterControl може да бъде конфигуриран да осигурява автоматично преминаване при отказ и възстановяване за репликация на MariaDB.

Клъстерна архитектура на MariaDB

MariaDB Cluster е решение с висока достъпност, състоящо се от MariaDB Server и Galera Replication, както е показано на архитектурната диаграма по-долу:

Това е синхронно („практически синхронно“) репликация, всички възли са записани. Синхронната репликация гарантира, че ако  промените се случат в един от възлите на galera, тя ще бъде достъпна на всички останали възли в клъстера, преди да бъде ангажирана.

Голямата разлика е, че всички възли са еднакви от гледна точка на приложението, те могат да изпращат трафик за запис към всеки от екземплярите на базата данни. Освен това всички възли трябва да имат точно еднакви данни, така че да няма загуба на данни в случай на повреда на възела.

Разгръщане на MariaDB

Както MariaDB репликация, така и MariaDB Cluster могат да бъдат разгърнати чрез ClusterControl. Когато разгръщате MariaDB Server, трябва да започнете, като изберете MySQL репликация, докато за MariaDB Cluster трябва да изберете MySQL Galera.

За MariaDB Server можете или да разгърнете екземпляр на MariaDB с един възел, или можете да настроите главен/подчинен и двупосочна репликация. Минималният брой възли в настройката за репликация е два, имате нужда от един главен и поне един подчинен. Просто попълнете IP адреса за главния и добавете подчинени (ако искате да имате архитектура главен/подчинен). Можете да използвате полето Add Second Master, ако искате да настроите двупосочна репликация. Настройката главен-главен ще бъде осигурена с двупосочна репликация, но един от възлите ще бъде зададен като само за четене. Причината е да се сведе до минимум рискът от отклоняване на данни и „грешни транзакции“.

За MariaDB Cluster се нуждаете от поне 3 хоста за целеви възли на базата данни, за да бъде инсталиран. Това е така, защото трябва да може да се справи с разделянето на мрежата или синдрома на „разделен мозък“. Просто трябва да попълните ip адреса при добавяне на възел при дефиниране на конфигурация на MySQL сървъри.

Не забравяйте да изберете MariaDB като доставчик на база данни, версия на базата данни, която искате да инсталирате и попълнете root паролата. Можете също да промените datadir, който не е по подразбиране, на всеки друг път.

След като конфигурираме всички неща, просто разгръщайте клъстера. Това ще задейства ново задание за разполагане на база данни.

Обърнете внимание, че също така е възможно да имате 2 възела на Galera и един арбитър на Galera, известен още като garbd, на трети хост.

Наблюдение на сървъри и клъстери на MariaDB

Наблюдението на базата данни е критична част от базата данни, можете да знаете текущото състояние на състоянието на базата данни. Разликата между MariaDB Server и MariaDB Cluster мониторинг е Galera Metrics за синхронизация.

На MariaDB Server можете да проверите текущото си състояние на базата данни чрез MySQL Metrics; MySQL Server - Общи, MySQL Server - Кешове, MySQL InnoDB метрики, които също се виждат в MariaDB Cluster, както е показано по-долу:

MySQL сървър - Общи ви дава информация за текущото състояние на съотношението на посещения на буферния пул на InnoDB, връзката с базата данни, заявките, заключването и използването на паметта на базата данни.

MySQL сървър - Кешове, има много информация, предоставена в Кешове. Най-вече свързани с кеширането в базата данни, например:размер на буферния пул, екземпляр на буферния пул. Също така има информация за използването на кеша на таблицата, съотношението на хитове, попаденията в кеша и пропуските. Можете също да намерите информация за използването на кеша на нишките и за съотношението на посещения.

MySQL сървър - InnoDB Metrics показва показатели, свързани със съхранението на InnoDB, напр.:активност на буферния пул, операции на InnoDB Row, размер на InnoDB лог файл, четене/запис на InnoDB данни.

На MariaDB Server, ако настроите главен/подчинен репликация, има едно подкатегория метрики под MySQL репликация - Master. Има информация, свързана с главния двоичен регистрационен файл, позицията на главния двоичен регистрационен файл и честотата на създаване на регистрационни файлове.

MariaDB Server има много информация, свързана с базата данни, те са достъпни и за MariaDB Cluster. Разликата е, че има две табла за управление на MariaDB Cluster - Galera Overview и Galera Server Charts.

Преглед на Galera дава информация, свързана с текущото състояние на репликацията на Galera. Има информация като размер на клъстера, изпратен контрол на потока, получен контрол на потока, поставен на пауза контролът на потока.

Galera Server Charts съдържа информация за името на клъстера, състоянието на клъстера, размера, размера на глобалния кеш.

Заключение

MariaDB Server със стандартна репликация и MariaDB Cluster не са наистина различни продукти по отношение на услугата за база данни, но имат различни характеристики в зависимост от вашите изисквания за наличност и мащабируемост. ClusterControl поддържа както MariaDB Server със стандартна репликация, така и внедряване на MariaDB Cluster, така че опитайте и двете настройки и ни уведомете какво мислите.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Благодарим ви, Amazon, че ни вдъхновявате да предоставим по-добър DBaaS:SkySQL

  2. Първи стъпки с ProxySQL - Урок за балансиране на натоварването на MySQL и MariaDB

  3. MariaDB JSON_UNQUOTE() Обяснено

  4. Как да конвертирате в главни букви в MariaDB

  5. 2 начина за конкатенация на низове и числа в MariaDB