Выпуск rqlite 7.0, распределённой отказоустойчивой СУБД на основе SQLite
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Состоялся релиз распределённой СУБД rqlite 7.0, которая использует SQLite в качестве движка хранения и позволяет организовать работу кластера из синхронизированных между собой хранилищ. Из особенностей rqlite отмечается простота установки, развёртывания и сопровождения распределённого отказоустойчивого хранилища, чем-то похожего на etcd и Consul, но использующего реляционную модель работы с данными вместо формата ключ/значения. Код проекта написан на языке Go и распространяется под лицензией MIT.
Для поддержания всех узлов в синхронизированном состояния используется алгоритм достижения консенсуса Raft. Rqlite использует оригинальную библиотеку SQLite и драйвер go-sqlite3, поверх которых запускается прослойка, обрабатывающая запросы клиентов, выполняющая репликацию на другие узлы и отслеживающая достижение консенсуса по выбору лидирующего узла.
Изменения в базу данных могут вноситься только узлом, который выбран в качестве лидирующего, но соединения с операциями записи могут направляться и к другим узлам кластера, которые вернут адрес лидера для повторения запроса (в следующей версии обещают добавить автоматический проброс обращения к лидеру). Главный упор делается на отказоустойчивость, поэтому СУБД масштабируется только по операциям чтения, а операции записи являются узким местом. Возможно запустить кластер rqlite из одного узла и такое решение может использоваться для организации доступа к SQLite поверх HTTP без предоставления отказоустойчивости.
Данные SQLite на каждом узле хранятся не в файле, а в памяти. На уровне слоя с реализацией протокола Raft ведётся журнал всех команд SQLite, приводящих к изменению базы данных. Данный журнал используется при репликации (репликация на уровне воспроизведения запросов на других узлах), при запуске нового узла или для восстановления после потери связности. Для сокращения размера журнала применяется автоматическая упаковка, которая запускается после заданного числа изменений и приводит к фиксации снимка, относительно которого начинает вестись новый журнал (состояние базы в памяти идентично снимку + накопившемуся журналу изменений).
Особенности rqlite:
- Простота развёртывания кластера, без необходимости отдельной установки SQLite.
- Возможность быстро получить реплицированное SQL-хранилище.
- Готовность для использования в рабочих проектах (production-grade).
- Наличие HTTP(S) API, позволяющего обновлять данные в пакетном режиме и определять лидирующий узел кластера. Также предоставляется интерфейс командной строки и клиентские библиотеки для различных языков программирования.
- Наличие сервиса для определения других узлов, позволяющего создавать кластеры динамически.
- Поддержка шифрования обмена данных между узлами.
- Возможность настройки уровня проверки актуальности и согласованности данных при чтении.
- Опциональная возможность подключения узлов в режиме только для чтения, не принимающих участие в определении консенсуса и используемых для увеличения масштабируемости кластера по операциям чтения.
- Поддержка собственной формы транзакций на базе объединения команд в одном запросе (транзакции на базе BEGIN, COMMIT, ROLLBACK, SAVEPOINT и RELEASE не поддерживаются).
- Поддержка создания горячих резервных копий.
В новом выпуске:
- Добавлкена поддержка автоматического кластеринга rqlite с использованием нового сервиса определения узлов, который может работать на базе распределённых хранилищ Consul и etcd. Сервис позволяет узлам rqlite автоматичкески находить друг друга - администратору достаточно запустить несколько узлов на разных серверах, указав общий адрес кластера Consul или etcd (например, "example.com:8500"), и узлы автоматически будут объединены в кластер. Лидирующий узел периодически обновляет в хранилище Consul или etcd информацию о своём адресе, что позволяет в последующем изменить лидера без необходимости перенастройки остальных узлов, а также добавлять новые узлы даже после изменения лидера. Поддержка старого сервиса определения узлов (Discovery mode), работающего на базе AWS Lambda, прекращена.
- В CLI интерфейсе разрешено указание сразу нескольких хостов - если первый узел окажется недоступен, будет осуществлено обращение к следующим хостам.
- Переработан код для разбора аргументов командной строки rqlited.
- Прекращено использование устаревшего пакета protobuf.
- Хранилище BoltDB, применяемое в реализации протокола Raft, заменено на bbolt, форк от проекта etcd.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://www.philipotoole.com/r...)
- OpenNews: Доступен Dqlite 1.0, распределённый вариант SQLite от компании Canonical
- OpenNews: Выпуск rqlite 6.0, распределённой отказоустойчивой СУБД на основе SQLite
- OpenNews: В рамках проекта LiteTree развивается вариант SQLite с поддержкой ветвления БД
- OpenNews: Удалённо эксплуатируемая уязвимость в SQLite, затрагивающая браузеры на базе Chromium
- OpenNews: Проект DuckDB развивает вариант SQLite для аналитических запросов
Похожие новости:
- Выпуск СУБД SQLite 3.37
- [Разработка мобильных приложений, Разработка под Android, SQLite] Использование Android App Search для full-text поиска данных в android-приложениях
- [Delphi, SQLite] Delphi и SQLite. Альтернатива хранимым процедурам
- Выпуск СУБД SQLite 3.36
- [Я пиарюсь] sqlite-gui: еще один редактор SQLite для Windows
- Выпуск rqlite 6.0, распределённой отказоустойчивой СУБД на основе SQLite
- [*nix, DNS, C, SQLite] The Implementation of a Custom Domain Name Server by Using С Sockets
- [Python, Программирование, SQL, Микросервисы, Flask] Чтобы первый блин не вышел комом. Советы начинающему разработчику сервиса
- [Python, SQL, Big Data, Визуализация данных, Data Engineering] Первые шаги в BI-аналитике. Роль Data Engineering
- [Python, API, SQLite] Подключаем Sqlite3 к Telegram боту
Теги для поиска: #_rqlite, #_sqlite
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 25-Ноя 05:11
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Состоялся релиз распределённой СУБД rqlite 7.0, которая использует SQLite в качестве движка хранения и позволяет организовать работу кластера из синхронизированных между собой хранилищ. Из особенностей rqlite отмечается простота установки, развёртывания и сопровождения распределённого отказоустойчивого хранилища, чем-то похожего на etcd и Consul, но использующего реляционную модель работы с данными вместо формата ключ/значения. Код проекта написан на языке Go и распространяется под лицензией MIT. Для поддержания всех узлов в синхронизированном состояния используется алгоритм достижения консенсуса Raft. Rqlite использует оригинальную библиотеку SQLite и драйвер go-sqlite3, поверх которых запускается прослойка, обрабатывающая запросы клиентов, выполняющая репликацию на другие узлы и отслеживающая достижение консенсуса по выбору лидирующего узла. Изменения в базу данных могут вноситься только узлом, который выбран в качестве лидирующего, но соединения с операциями записи могут направляться и к другим узлам кластера, которые вернут адрес лидера для повторения запроса (в следующей версии обещают добавить автоматический проброс обращения к лидеру). Главный упор делается на отказоустойчивость, поэтому СУБД масштабируется только по операциям чтения, а операции записи являются узким местом. Возможно запустить кластер rqlite из одного узла и такое решение может использоваться для организации доступа к SQLite поверх HTTP без предоставления отказоустойчивости. Данные SQLite на каждом узле хранятся не в файле, а в памяти. На уровне слоя с реализацией протокола Raft ведётся журнал всех команд SQLite, приводящих к изменению базы данных. Данный журнал используется при репликации (репликация на уровне воспроизведения запросов на других узлах), при запуске нового узла или для восстановления после потери связности. Для сокращения размера журнала применяется автоматическая упаковка, которая запускается после заданного числа изменений и приводит к фиксации снимка, относительно которого начинает вестись новый журнал (состояние базы в памяти идентично снимку + накопившемуся журналу изменений). Особенности rqlite:
В новом выпуске:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 25-Ноя 05:11
Часовой пояс: UTC + 5