c95bc4cd44
- Add mcp.md to: bg, fa, ru, tr, zh, ar - Add index.md to Bulgarian (bg) - Add 24 missing German (de) documentation files Translations for all supported languages now complete.
1.6 KiB
1.6 KiB
Speicher-Engines
BaraDB bietet mehrere Speicher-Engines, optimiert für verschiedene Zugriffsmuster.
LSM-Tree (Key-Value)
Die primäre Speicher-Engine mit write-optimierter Append-only Log-Struktur.
Verwendung
import barabadb/storage/lsm
var db = newLSMTree("./data")
db.put("key1", cast[seq[byte]]("value1"))
let (found, value) = db.get("key1")
db.close()
Komponenten
- MemTable: In-Memory sortierter Puffer
- WAL: Write-Ahead Log für Dauerhaftigkeit
- SSTable: Sortierte String-Tabellen auf Disk
- Bloom-Filter: Probabilistische Mengenmitgliedschaft
- Compaction: Size-tiered Strategie mit Level-Management
- Page-Cache: LRU-Cache mit Trefferraten-Verfolgung
B-Tree Index
Geordneter Index für Bereichsabfragen und Point-Lookups.
Verwendung
import barabadb/storage/btree
var btree = newBTreeIndex[string, string]()
btree.insert("key1", "value1")
let values = btree.get("key1")
let range = btree.scan("key_a", "key_z")
Write-Ahead Log (WAL)
Sichert Dauerhaftigkeit von Schreiboperationen.
import barabadb/storage/wal
var wal = newWAL("./wal")
wal.append("txn1", "SET key1 value1")
wal.flush()
Bloom-Filter
Probabilistische Datenstruktur für schnelle negative Lookups.
import barabadb/storage/bloom
var filter = newBloomFilter(10000, 0.01)
filter.add("key1")
if filter.mightContain("key1"):
echo "possibly exists"
Memory-mapped I/O
Effizienter Dateizugriff mittels mmap.
import barabadb/storage/mmap
var mapped = mmapFile("./data/file.dat")
let data = mapped.read(0, 100)