Как SQLite учили работать в распределенных системах SQLite — пример для нас всех. Это маленькая и легкая СУБД, которая создавалась изначально для небольших проектов и мобильных приложений, но потенциал у нее огромный и использовать ее можно где угодно, было бы желание. Например, в распределенных системах. Автор rqlite вспомнил, как создал свой проект и что было после него. 🔵В 2014 году ему понадобилось создать небольшое реляционное хранилище для кластерной системы. Он решил взять SQLite и прикрутить к ней протокол консенсуса Raft. В это системе В кластере был лидер, через которого новые записи принимались и реплицировались на остальные узлы. Запись должно было принять большинство, если какой-то узел не мог этого сделать, он изолировался. Так появился rqlite — один из первых проектов такого плана, но не последний. 🔵В 2017 компания Canonical разработала dqlite. Задача была похожей, а главное отличие было в способе использования. Если rqlite — это самостоятельный сервер БД, который запускается вместе с приложением, то dqlite — это встраиваемая библиотека. 🔵В 2021 году Litestream выбрали другой подход: не пытаться превратить SQLite в полноценную распределенную базу, а найти способ восстановить данные, если сервер выйдет из строя. Их решение — сохранять WAL SQLite в Amazon S3. 🔵В 2022 появилась cr-sqlite, где записи независимо вносятся на несколько узлов, а потом синхронизируются. В libSQL разработчики вообще переписали движок СУБД и за счет этого сильно расширили функционал. Из этого проекта потом выросла Turso, которую купили Supabase. 🔵Логичным следующим этапом стали облачные сервисы — например, Cloudflare D1. В итоге можно сделать два ключевых вывода: 🔵Нет единого правильного способа создать распределенную систему. Подход зависит от задач и главной проблемы, которую вы хотите решить: например, обеспечить надежность, как в rqlite, или быстрое восстановление, как сделали Litestream. 🔵За 12 лет проекты с распределенной SQLite прошли путь от open source-решений до платных облачных сервисов от больших корпораций. Видимо, это неизбежно происходит со всеми идеями в IT.
Как SQLite учили работать в распределенных системах SQLite — пример для нас…
Из этого канала
- #2108Датавиз и классовое неравенство Разница между состоянием какого-нибудь Джеффа…
Датавиз и классовое неравенство Разница между состоянием какого-нибудь Джеффа Безоса и обычного человека со средней зарплатой настолько огромна, что словами ее…
- #2109Разыгрываем 3 билета на Матемаркетинг’26! 🔵 Как ИИ меняет работу аналитиков,…
Разыгрываем 3 билета на Матемаркетинг’26! 🔵 Как ИИ меняет работу аналитиков, маркетологов и продактов? 🔵 Как посчитать, сколько людей на самом деле используют…
- #210620 лет отношений через призму данных Если бы вам нужно было на графиках…
20 лет отношений через призму данных Если бы вам нужно было на графиках отобразить свою жизнь, как бы выглядел ваш дашборд? В этом посте от 2014 года автор…
- #2105Clickhouse на больших объемах данных: опыт основателя Tinybird Tinybird —…
Clickhouse на больших объемах данных: опыт основателя Tinybird Tinybird — аналитическая платформа для разработчиков.
- #2104PostgreSQL 19 откладывается на ноябрь Новая версия должна была выйти в конце…
PostgreSQL 19 откладывается на ноябрь Новая версия должна была выйти в конце сентября/начале октября, но дату релиза сдвинули на 19 ноября.