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:
@@ -0,0 +1,25 @@
|
||||
type
|
||||
BaraConfig* = object
|
||||
address*: string
|
||||
port*: int
|
||||
dataDir*: string
|
||||
maxConnections*: int
|
||||
walEnabled*: bool
|
||||
compactionStrategy*: CompactionStrategy
|
||||
|
||||
CompactionStrategy* = enum
|
||||
csSizeTiered = "size_tiered"
|
||||
csLeveled = "leveled"
|
||||
|
||||
proc defaultConfig*(): BaraConfig =
|
||||
BaraConfig(
|
||||
address: "127.0.0.1",
|
||||
port: 5432,
|
||||
dataDir: "./data",
|
||||
maxConnections: 1000,
|
||||
walEnabled: true,
|
||||
compactionStrategy: csLeveled,
|
||||
)
|
||||
|
||||
proc loadConfig*(): BaraConfig =
|
||||
result = defaultConfig()
|
||||
Reference in New Issue
Block a user