LumeDB — собственная СУБД с нуля на Rust: paging, WAL, checkpoints, индексы, Hot/BufferPool, транзакции, MVCC
  • Rust 99.3%
  • Python 0.7%
REPOSITORY / OVERVIEW

Project at a glance

Browse files ↓
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
naizek 919d164b99
Some checks failed
CI / fmt (push) Has been cancelled
CI / clippy (push) Has been cancelled
CI / test (push) Has been cancelled
CI / doc (push) Has been cancelled
fix: сообщать версию сервера DB 0.1.2 в health-ответе
2026-10-30 22:43:41 +03:00
.forgejo Инфраструктура: первый CI (fmt/clippy/test/doc) + MSRV 1.99 + README quick start 2026-10-27 00:42:12 +03:00
benchmarks Этап 28: жизненный цикл MVCC (snapshot-aware GC, автополитика, crash/fuzz-доказательства) 2026-10-05 22:51:39 +03:00
crates fix: сообщать версию сервера DB 0.1.2 в health-ответе 2026-10-30 22:43:41 +03:00
docs fix: сообщать версию сервера DB 0.1.2 в health-ответе 2026-10-30 22:43:41 +03:00
.dockerignore Бенчмарки: PostgreSQL 17 в Docker (compose, psycopg2, сравнение логов) 2026-10-04 14:22:32 +03:00
.gitignore LumeDB stages 0-11: storage, WAL, indexes, hot/buffer, txn, MVCC 2026-10-03 20:43:34 +03:00
Cargo.lock fix: сообщать версию сервера DB 0.1.2 в health-ответе 2026-10-30 22:43:41 +03:00
Cargo.toml fix: сообщать версию сервера DB 0.1.2 в health-ответе 2026-10-30 22:43:41 +03:00
Dockerfile Бенчмарки: PostgreSQL 17 в Docker (compose, psycopg2, сравнение логов) 2026-10-04 14:22:32 +03:00
LICENSE Initial commit 2026-10-03 17:41:14 +00:00
lumedb.conf.example security: PBKDF2 600k итераций (OWASP) + [auth] pbkdf2_iterations + rehash при логине 2026-10-27 01:36:20 +03:00
README.md fix: сообщать версию сервера DB 0.1.2 в health-ответе 2026-10-30 22:43:41 +03:00
rust-toolchain.toml Инфраструктура: первый CI (fmt/clippy/test/doc) + MSRV 1.99 + README quick start 2026-10-27 00:42:12 +03:00

LumeDB

Версия: 0.1.2 · Релиз v0.1.2.

СУБД на Rust с собственным страничным хранением, WAL, MVCC и SQL.

Возможности

  • SQL, транзакции, индексы, версии данных и snapshot-aware GC.
  • Сетевые роли, репликация primary → replica и резервные копии LUMB.
  • Метрики, проверка целостности и согласованные checkpoints.

Требования

Rust 1.99 из rust-toolchain.toml, Git и системный линковщик. Требования к соседним репозиториям перечислены в первом запуске.

Быстрый старт

Рабочий каталог — корень LumeDB; для нового checkout сначала выполните подготовку окружения.

cargo build --release --locked -p lumedb-cli -p lumedb-server
./target/release/lumedb db-create ./data/demo
./target/release/lumedb db-sql ./data/demo "CREATE TABLE items (name TEXT);"
./target/release/lumedb db-sql ./data/demo "INSERT INTO items VALUES ('Hello Lume');"
./target/release/lumedb db-sql ./data/demo "SELECT * FROM items;"

Полный сценарий с проверкой результата, остановкой и диагностикой: Первый запуск.

Ограничения и безопасность

Ядро использует стандартную библиотеку Rust. Сетевой LumeUNT/CSL-адаптер имеет отдельные зависимости и настройки. Plaintext-порты предназначены для доверенного окружения; защищённый периметр описан в руководстве развёртывания.

Документация

Разработка

Порядок проверок и бенчмарков — в руководстве разработчика.

Лицензия

MIT. См. LICENSE.

Версия запущенного сервера

Начиная с 0.1.2 команда lumedb srv-health 127.0.0.1:7777 возвращает ok uptime_secs=… last_event_id=… application_version=0.1.2. Версия относится к сборке на сервере. Поля живости сохранены; клиенты старых выпусков продолжают работать. Health, как и прежде, доступен без аутентификации и не раскрывает содержимое базы. Встроенный транспорт UNT сообщает свою версию отдельным методом lumeunt.info/version (при сборке с feature lumeunt).