dllb

Мультимодельная NoSQL-база данных на Rust с нуля: документы, графы, полнотекстовый поиск и векторные эмбеддинги в одном движке

Active RustredbTantivyHNSWElixir client 1 2486
dllb

— мультимодельный движок NoSQL-баз данных, написанный на Rust с нуля, который нативно поддерживает документы, графы, полнотекстовый поиск и векторные эмбеддинги в едином пространстве ключей, вместо склейки отдельных баз под каждую модель.

Хранилище построено на чистом Rust-движке redb (ACID, MVCC, copy-on-write B-деревья), полнотекстовый поиск — на Tantivy (BM25), а векторное сходство — на индексе HNSW; один запрос может сочетать обход графа, полнотекстовое совпадение и поиск по векторному сходству. Сам рантайм построен как дерево супервизии joerl — акторная модель на Rust, вдохновлённая Erlang/OTP, — что даёт подсистемам (хранилище, индексация) автоматическое восстановление после сбоев.

dllb спроектирован как хранилище первого класса для AST- и MetaAST-эмбеддингов кода: каждый узел AST — документ, структурные связи (графы вызовов, импорты) — рёбра графа, а эмбеддинги кода — векторы. Проект достиг релиза 1.0.0 GA со стабильным API и поставляется вместе с клиентом для Elixir (пакет dllb из репозитория dllb_ex ).