Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Доступен Dqlite 1.0, распределённый вариант SQLite от компании Canonical

Компания Canonical опубликовала значительный выпуск проекта Dqlite 1.0 (Distributed SQLite), развивающего совместимый с SQLite встраиваемый SQL-движок, поддерживающий репликацию данных, автоматическое восстановление после сбоев и обеспечение отказоустойчивости через разнесение обработчиков на несколько узлов. СУБД реализована в форме прикрепляемой к приложениям Си-библиотеки и распространяется под лицензией Apache 2.0 (оригинальный SQLite поставляется как общественное достояние). Доступны биндинги для языка Go.

Библиотека является надстройкой над существующей кодовой базой SQLite, которая добавляет поддержку сетевого протокола для связывания между собой нескольких экземпляров приложения, запущенных на разных хостах. Собранное с Dqlite приложение может функционировать как самодостаточный отказоустойчивый кластер, не зависящий от внешних СУБД. На практике Dqlite используется компанией Canonical в системе управления контейнерами LXD. Среди областей применения библиотеки также упоминается создание отказоустойчивых устройств интернета-вещей и обработчиков в системах Edge-вычислений.

Для обеспечения непротиворечивости при репликации данных применяется метод достижения консенсуса на базе алгоритма Raft, который используется в таких проектах, как etcd, RethinkDB, CockroachDB и OpenDaylight. В Dqlite применяется собственная асинхронная реализация C-raft, написанная на языке Си. Для мультиплексирования обработки соединений и организации запуска сопрограмм используются готовые библиотеки libuv и libco.

По сравнению с похожим проектом rqlite, Dqlite обеспечивает полную поддержку транзакций, может связываться с любыми проектами на языке Си, позволяет использовать функцию time() и применяет репликацию на основе кадров вместо репликации на основе трансляции SQL-выражений.

Особенности Dqlite:

  • Выполнение всех дисковых и сетевых операций в асинхронном режиме;
  • Наличие тестового набора для подтверждения корректности данных;
  • Низкое потребление памяти и эффективный обмен данными по сети;
  • Постоянное хранение на диске БД и лога транзакций (c возможностью кэширования в памяти);
  • Быстрое восстановление после сбоев;
  • Стабильный CLI-клиент на языке Go, который можно использовать для инициализации БД, настройки репликации и подключения/отключения узлов;
  • Поддержка архитектур ARM, X86, POWER и IBM Z;
  • Реализация алгоритма Raft оптимизирована для минимизации задержек при фиксации транзакций.

OpenNET

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...