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

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

Из функций rqlite, подчеркнута простота установки, внедрения и обслуживания распределенного хранилища отказоустойчивый, чем-то похож на etcd и Consul, но он использует реляционную модель данных вместо формата ключ / значение.

О rqlite

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

Изменения в базе данных может вносить только узел, выбранный в качестве лидера., но соединения с операциями записи могут быть направлены на другие узлы кластера, которые вернут адрес лидера для повторения запроса (в следующей версии обещают добавить автоматическую переадресацию вызова лидеру).

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

Данные SQLite в каждом узле они хранятся не в файле, а в памяти. На уровне слоя с реализацией протокола Raft ведется запись всех команд SQLite, которые приводят к изменению в базе данных.

Эта запись используется для репликации (репликации на уровне воспроизведения запроса на другие узлы), при запуске нового узла или для восстановления после потери связи.

Для уменьшения размера записи используется автоматическая упаковка, которая запускается после указанного количества изменений и приводит к подтверждению моментального снимка, против которого начинается новая запись (состояние базы данных в памяти идентично snapshot + накопленный журнал изменений).

Из возможностей rqlite:

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

О rqlite 6.0

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

Узлы Rqlite сейчас может мультиплексировать несколько логических соединений между ними с помощью TCP-соединений, установленных между узлами по протоколу Raft. Если запрос требует полномочий ведущего узла, но отправляется вторичному узлу, вторичный узел может определить адрес лидера и передать его клиенту, не выполняя расчет консенсуса Raft.

Изменения также удалили отдельный компонент для синхронизации метаданных и удалили отдельную обработку статуса и метаданных в Raft.

Вторичные узлы теперь отправляют запросы ведущему узлу только при необходимости, когда необходимо узнать адрес ведущего узла. API предоставляет возможность получать информацию о состоянии других узлов в кластере. В интерфейс командной строки добавлена ​​команда Sysdump.

В конце концов если вам интересно узнать об этом больше или обратитесь к инструкции по установке и руководству пользователя, вы можете это сделать по ссылке ниже.


Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

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