rqlite, отлична разпределена и лека релационна СУБД

Si търсите разпределена СУБД който използва SQLite като механизъм за съхранение, нека ви кажа това rqlite е този за вас, тъй като позволява да се организира работата на клъстер от хранилища, синхронизирани помежду си.

От функциите на rqlite, подчертава се лекотата на инсталиране, внедряване и поддръжка на разпределено съхранение устойчив на неизправности, което е донякъде подобно на etcd и Consul, но той използва релационен модел на данни вместо формат ключ / стойност.

Относно rqlite

Алгоритъмът за консенсус Raft се използва за синхронизиране на всички възли. Rqlite използвайте оригинална библиотека на SQLite и go-sqlite3 драйвер, в допълнение към което изпълнява слой, който обработва клиентски заявки, репликира се в други възли и наблюдава постигнатия консенсус относно избора на основния възел.

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

Основният акцент е върху толерантността към грешки, така СУБД мащабиране само при операции за четене, и операциите за писане са пречка. Възможно е да стартирате rqlite клъстер от един възел и такова решение може да се използва за осигуряване на достъп до SQLite през HTTP, без да се осигурява толерантност към грешки.

SQLite данни във всеки възел те не се съхраняват във файл, а в памет. На ниво слой с изпълнението на протокола Raft се води запис на всички команди на SQLite, които водят до промяна в базата данни.

Този запис се използва за репликация (репликация на ниво повторение на заявката към други възли), при стартиране на нов възел, или за възстановяване от загуба на свързаност.

За да се намали размерът на записа, се използва автоматично опаковане, което започва след определен брой промени и води до потвърждаване на моментна снимка, срещу която започва нов запис (състоянието на базата данни в паметта е идентично на моментната снимка + дневник на натрупаните промени).

От характеристиките на rqlite:

  • Лесно разполагане на клъстери, без да е необходима отделна инсталация на SQLite.
  • Възможност за бързо получаване на репликирано SQL съхранение.
  • Готов за използване в производствени проекти.
  • Наличие на HTTP (S) API, който позволява актуализиране на данни в групов режим и определяне на водещия възел на клъстера. Предлагат се също интерфейс на командния ред и клиентски библиотеки за различни езици за програмиране.
  • Наличието на услуга за дефиниране на други възли, която ви позволява динамично да създавате клъстери.
  • Поддръжка за криптиране на обмен на данни между възли.
  • Възможността да персонализирате нивото на проверка за уместност и последователност на данните при четене.
  • Незадължителна възможност за свързване на възли само за четене, които не участват в определянето на консенсус и се използват за увеличаване на мащабируемостта на клъстера за операции на четене.
  • Поддръжка на естествената форма на транзакции, базирана на комбиниране на команди в една заявка (транзакции, базирани на BEGIN, COMMIT, ROLLBACK, SAVEPOINT и RELEASE, не се поддържат).

Относно rqlite 6.0

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

Rqlite възли сега може да мултиплексира множество логически връзки между тях, използвайки TCP връзките, установени между възлите от протокола Raft. Ако заявката изисква авторитета на лидерния възел, но е изпратена на вторичния възел, вторичният възел може да определи адреса на лидера и да го предаде на клиента, без да извършва изчислението на консенсуса на Raft.

Промяната също премахна отделния компонент за синхронизиране на метаданни и премахна отделната обработка на състоянието и метаданните на Raft.

Вторичните възли вече изпращат заявки към водещия възел само когато е необходимо, когато е необходимо да се открие адресът на водещия възел. API предоставя възможността за получаване на информация за състоянието на други възли в клъстера. Командата Sysdump е добавена към CLI.

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


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.