feat: initial BaraDB — multimodal database engine in Nim

- LSM-Tree storage engine with WAL, bloom filter, MemTable
- BaraQL query language: lexer (80+ tokens), recursive descent parser, AST
- Vector engine: HNSW + IVF-PQ indexes, 4 distance metrics
- Graph engine: adjacency list, BFS/DFS, Dijkstra, PageRank
- Full-Text Search: inverted index, BM25 ranking, stemming, stop words
- Type system: 17 types (int/float/string/uuid/json/vector/...)
- Async TCP server
- 21 passing tests
This commit is contained in:
2026-05-06 00:22:12 +03:00
commit 6935889877
18 changed files with 2676 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# Package
version = "0.1.0"
author = "BaraDB Team"
description = "BaraDB — Multimodal database written in Nim"
license = "Apache-2.0"
srcDir = "src"
bin = @["baradadb"]
binDir = "build"
# Dependencies
requires "nim >= 2.2.0"
# Tasks
task build_debug, "Build debug version":
exec "nim c --debugger:native --linedir:on -o:build/baradadb src/baradadb.nim"
task build_release, "Build release version":
exec "nim c -d:release --opt:speed -o:build/baradadb src/baradadb.nim"
task test, "Run all tests":
exec "nim c -r tests/test_all.nim"
task bench, "Run benchmarks":
exec "nim c -d:release -r benchmarks/bench_storage.nim"