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

Преглед на MariaDB Xpand (бивш ClustrixDB)

MariaDB Xpand е нов продукт от MariaDB. По-рано беше известен като ClustrixDB, който беше придобит през септември 2018 г. от MariaDB Corporation.

ClustrixDB вече не е наличен като отделен обект, но вече е включен като част от MariaDB Enterprise Server. Сега наречен Xpand, той разширява MariaDB Enterprise Server с разпределени данни и обработка на транзакции, трансформирайки го в разпределена SQL база данни, способна да мащабира до милиони транзакции в секунда с архитектура за споделено нищо. Въпреки това, Xpand не е всичко или нищо, тъй като DBA могат да изберат да използват както репликирани, така и разпределени таблици. Xpand е добър за сложни заявки и обработка на анализи, тъй като може да изпълнява паралелни заявки в наличните възли в клъстера.

По принцип Xpand е архитектура без споделено нищо и е проектирана като мащабирана SQL база данни, изградена от самото начало, която първоначално може да работи на стандартен хардуер с автоматично преразпределение на данни (така че никога не е необходимо да разделяте ). Той има вградена толерантност към грешки, всички достъпни чрез прост SQL интерфейс и поддръжка за критични за бизнеса функции на MySQL (репликация, тригери, съхранени рутинни програми и т.н.). Лицензът му е достъпен само като собствен, така че ако искате да се възползвате от този продукт, първо трябва да се свържете с отдела за продажби на MariaDB, за да получите валиден лиценз.

Кога да използвате MariaDB Xpand

Xpand е проектиран да обработва големи обеми данни и това ви позволява да мащабирате вашата база данни по-ефективно. Това означава, че мащабирането на вашия клъстер се извършва лесно и автоматично от самия Xpand. След пускането на платформата MariaDB X5, ​​Xpand вече е част от платформата, предоставяна на клиентите като част от разпределеното SQL решение. Интелигентният двигател Xpand позволява на клиентите да мащабират отвъд сладкото място на системата за съхранение на InnoDB на високопроизводителни смесени работни натоварвания за четене/запис на един възел с опция за добавяне на мащаб чрез репликация и използване на високодостъпно устойчиво на грешки разпределено решение за големи мащабиране на работните натоварвания.

С Xpand имате гъвкавостта да мащабирате на база на таблица. Започнете с използване на Xpand само за една таблица и разширете употребата, докато нуждите ви надхвърлят това, което един възел може да се справи. Увеличете използването на разпределения SQL, тъй като нуждите на вашето предприятие надхвърлят репликацията или клъстерирането. Когато обемите на данни или заявки се увеличат до точката на влошаване на производителността, можете да използвате Xpand за разпространение на таблици или цялата база данни за подобрена пропускателна способност и едновременност. Xpand има вградена висока достъпност и еластичност, така че възлите могат да се добавят или премахват прозрачно, ако е необходимо, за да се мащабират.

Точно както при MariaDB ColumnStore, колонната интелигентна машина, кръстосаните JOIN са възможни (и насърчавани) между репликирани и разпределени таблици. За разлика от други реализации на разпределения SQL, които разпределят цялата база данни и следователно имат значителни разходи за по-малки таблици, MariaDB позволява комбинираното използване на InnoDB за репликирани малки набори от данни и масивни разпределени набори от данни чрез Xpand.

За съжаление, няма официална документация относно състоянието на промяна от ClustrixDB към MariaDB Xpand, така че все пак може да искате да разчитате на https://docs.clustrix.com/ за документация относно това как работи ClustrixDB. Също така е известно, че GTID не се поддържа от ClustrixDB, въпреки че това може да се е променило след пускането на MariaDB 10.5.

Как работи MariaDB Xpand?

Разгръщането с помощта на MariaDB Xpand изисква да имате MariaDB Enterprise Servers с инсталиран плъгин Xpand, след което възлите Xpand да работят заедно. По същия начин е точно както настройвате настройката за репликация на MaxScale и MariaDB Server за висока достъпност и можете да поставите MaxScale отгоре, за да управлявате връзките и прозрачно да превключвате между екземплярите на предния Enterprise Server с репликирани по-малки набори от данни в InnoDB. Също така се препоръчва да за най-добра производителност с Xpand, предните сървъри и възли трябва да се изпълняват на отделни физически сървъри. Вижте архитектурата на топологията на MariaDB Xpand по-долу от MariaDB за това как работи това:

https://mariadb.com/resources/blog/mariadb-adds-xpand-for-distributed-sql /

За да обясним по-горе, Xpand разделя определен брой срезове за всяка таблица, която е изградена с помощта на Xpand. Всеки срез се съхранява на първичен възел и след това се репликира на един или повече други възли, за да се осигури толерантност към грешки. Всеки възел на Xpand може да извършва както четене, така и запис. И всеки възел има карта на разпределението на данните.

За операции за четене по-голямата част от заявката се избутва надолу към Xpand, където заявката се оценява и съответните части от заявката след това се изпращат до съответните възли на Xpand. MariaDB Enterprise Server събира върнатите данни от възлите на Xpand, за да генерира набор от резултати.

За операции по запис MariaDB Xpand използва компонент, наречен „ребалансьор“, за автоматично и прозрачно разпространение на данни между наличните възли на Xpand.

MariaDB Xpand като разпределен SQL

Всеки възел на Xpand може да извършва както четене, така и запис. Когато заявка бъде получена от MariaDB Enterprise Server, тя се оценява от оптимизатор на заявки и части от заявката се изпращат до съответните възли на Xpand. Резултатите се събират и единичен набор от резултати се връща на клиента.

MariaDB Xpand използва архитектура без споделено нищо; един възел обработва всяка заявка, а паметта и съхранението не се споделят.

MariaDB Xpand HA и отказоустойчивост

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

При повреда на възел данните се балансират отново от останалите възли, като автоматично се възстановява защитата на данните без намеса. При повреда на зона ребалансерът извършва същата операция между възлите и останалите зони.

Когато неуспешният възел бъде заменен, ребалансерът преразпределя данните, възстановявайки MariaDB Xpand до предвидения брой възли.

Хоризонтално мащабиране с MariaDB Xpand

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

Ако натоварването на MariaDB Xpand се увеличи, можете да намалите мащаба, като добавите нови възли. Когато добавите Xpand възел към внедряването, процесът на пребалансиране преразпределя данните от съществуващите възли. След като приключи, възелът Xpand вече може да обработва операции за четене и запис от MariaDB Enterprise Servers.

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

Какво прави MariaDB Xpand мащабируем?

Няма пречки и отделни точки на отказ. Всички процесори са включени в поддръжка на обработката на заявки. Заявките се паралелизират и разпределят в клъстера към съответните данни. Новите възли се разпознават автоматично и се включват в клъстера. Работните натоварвания и данните се балансират автоматично във всички възли в клъстера. SQL релационното изчисление в клъстер и свойствата на ACID елиминират сложността на много възли от разработването и управлението на многостепенни приложения. Елиминирана е сложността, която обикновено се изисква за мащабиране на съществуващите db модели за обработка на големи обеми данни. И докато вашата база данни нараства, просто добавете възли.

Има няколко неща, които влияят на мащабируемостта и производителността:

  • Архитектура на споделено нищо, която елиминира потенциалните пречки. Сравнете това с архитектурите на споделен диск/споделен кеш, които създават тесни места, не се мащабират и са трудни за управление.
  • Паралелизиране на заявки, които се разпределят към възела(ите) със съответните данни. Резултатите се създават възможно най-близо до данните, след което се насочват обратно към заявения възел за консолидация и се връщат на клиента.

Това е много различно от другите системи, които рутинно преместват големи количества данни към възела, който обработва заявката, след което елиминират всички данни, които не отговарят на заявката (обикновено много данни) . Чрез преместване само на квалифицирани данни в мрежата към искащия възел, Xpand значително намалява пречките в мрежовия трафик. В допълнение, повече процесори участват в процеса на избор на данни. Чрез паралелно избиране на данни на множество възли, системата произвежда резултати по-бързо, отколкото ако всички данни са избрани от един възел, който първо трябва да събере всички необходими данни от другия възли в системата.

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

Внедряване на MariaDB Xpand

Има две отделни разгръщания на MariaDB Xpand, за да започнете да използвате MariaDB Xpand. Разгръщанията на Xpand се състоят от екземпляри на MariaDB Enterprise Server, наречени предни сървъри, с инсталирана приставка Xpand, след което възлите на Xpand работят заедно с тези предни сървъри. За най-добра производителност Enterprise Server и Xpand възел могат да бъдат инсталирани на отделни физически сървъри.

  1. Трябва да настроите възела MariaDB Xpand. Възлите на Xpand са конфигурирани в разгръщане, за да осигурят бекенд за съхранение за MariaDB Enterprise Servers с плъгин за хранилище Xpand. Сървърите съхраняват данни за Xpand таблици на Xpand възли, а не в локалната файлова система. Инсталирането на Xpand Node изисква лиценз, който е JSON обект,  и можете да го придобиете само като се свържете с MariaDB Sales. Процесът на инсталиране не е толкова бърз, колкото само една команда или щракване, така че ви предлагаме да отидете на тяхното ръководство за инсталиране на Xpand Node.
  2. Разгръщане на преден сървър. Както забелязах тук при промените, които направиха, изглежда, че най-препоръчителният начин за използване на Xpand е използването на MariaDB Enterprise Server 10.5. Xpand 

Съвместимост на хардуера MariaDB Xpand

Ако се интересувате от хардуерната му съвместимост, платформата MariaDB може да работи в различни среди. Докато вашите MariaDB сървъри могат да работят или хостват в среди, които използвате в момента, стига да можете да настроите Xpand Nodes заедно със сървърите на MariaDB и да имате инсталирани плъгини Xpand, тогава това определено ще работи. От тяхната документация, списъкът с физически и облачни среди е изброен по-долу:

  • Локално (on-prem)
  • Разположени (colo)
  • Частен облак
  • Обществен облак
  • Хибридизиран

За хардуерната архитектура заслужава да се отбележи, че от MariaDB Enterprise Server 10.4.10-4 (2019-11-18) MariaDB Enterprise Server поддържа само платформи с хардуерна архитектура x86_64.

Заключение

MariaDB Xpand опростява ефективността и разширяемостта по много удобен начин. Най-привлекателният аспект на този продукт е, че можете да използвате и стандартните SQL функции на MariaDB. Той може да бъде вграден чрез вашата съществуваща среда MariaDB, която може да се възползва от нейните функции и мащабируемост. Въпреки че това може да е примамливо, изисква специално лицензиране и големи такси, за да можете да използвате този продукт. Ако служи за целта на вашето корпоративно приложение, тогава този MariaDB Xpand може да си струва да опитате.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Въведение в пълнотекстово търсене в MariaDB

  2. Как работи DAYOFWEEK() в MariaDB

  3. Балансиране на натоварването на базата данни с ProxySQL &AWS Aurora

  4. 3 начина да получите наличните съпоставяния в MariaDB

  5. Планиране за аварийно възстановяване за MySQL и MariaDB