Переосмысление Picodata как cluster-first-СУБД

Базы данных и системы хранения

Picodata

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Ярослав много лет разрабатывал Tarantool, а теперь использует его в создании базы данных Picodata. Он расскажет, зачем бизнесу сейчас нужны распределенные OLTP-решения, как разные продукты реализуют «распределенность» и какими принципами руководствовалась компания, собирая свое решение в 2024 году.

Целевая аудитория

Те, кому любопытно послушать, как устроена распределенная база данных.

Тезисы

Объемы обрабатываемой информации неуклонно растут, и распределенными системами уже сложно кого-либо удивить. В мир СУБД этот тренд проник с небольшим опозданием, но распределенных СУБД на рынке уже немало.

Отличаются они друг от друга почти всем, но в первую очередь нас интересует два основных компонента — это движок локального хранилища и кластер-менеджер. Так, например, в CockroachDB локальным движком выступает RocksDB, а консистентность кластера обеспечивает алгоритм Raft. В Cassandra ставка сделана на eventual consistency.

Команда Picodata долгое время разрабатывала и внедряла решения на основе Tarantool, а теперь мы переосмыслили его в cluster-first-парадигме. В докладе я расскажу о продуктовых и архитектурных решениях, которые этому сопутствовали:
* кластер-менеджер мы построили на Raft без использования внешнего state provider и объединили в нем хранение топологии и хранение схемы данных;
* для хранения данных мы используем глобальные и шардированные таблицы, а доступ к ним реализуем посредством языка SQL;
* за компанию реализовали близкие к стандарту средства управления доступом;
* а для расширения функциональности предоставляем Plugin API.

Начинал с вычислительной гидродинамики, потом разрабатывал видеонаблюдение для ЕГЭ и выборов, а последние годы строит распределенные системы — сначала Tarantool Cartridge, а теперь Picodata.

Picodata

Компания занимается разработкой и поддержкой решений для работы с быстрыми данными, а также развивает свой одноименный продукт Picodata — распределенную СУБД с плагинами на Rust.

Видео