Files
Baradb/docs/de/lsm.md
T
dimgigov c95bc4cd44
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
docs: synchronize documentation across all languages
- 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.
2026-05-17 16:29:28 +03:00

2.1 KiB

LSM-Tree Speicher-Engine

Die primäre Speicher-Engine in BaraDB mit Log-Structured Merge-Tree Architektur.

Architektur

┌─────────────────────────────────────────────┐
│                   Writes                     │
│         (append to WAL + MemTable)           │
└─────────────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────┐
│                  MemTable                    │
│         (in-memory sorted buffer)            │
└─────────────────────────────────────────────┘
                       │
            (when full, flush to SSTable)
                       │
                       ▼
┌─────────────────────────────────────────────┐
│                  SSTable                     │
│          (sorted string table on disk)       │
└─────────────────────────────────────────────┘

Verwendung

import barabadb/storage/lsm

var db = newLSMTree("./data")

# Schreiben
db.put("key1", cast[seq[byte]]("value1"))

# Lesen
let (found, value) = db.get("key1")

# Löschen
db.delete("key1")

db.close()

Funktionen

  • Write-optimiert: Append-only Log-Struktur
  • Dauerhaftigkeit: Write-Ahead Log (WAL) sichert Crash-Wiederherstellung
  • Bloom-Filter: Schnelle negative Lookups
  • Compaction: Size-tiered Strategie mischt SSTables
  • Page-Cache: LRU-Cache für häufig zugegriffene Seiten

Konfiguration

var db = newLSMTree(
  path = "./data",
  memTableSize = 64 * 1024 * 1024,  # 64MB
  walEnabled = true,
  bloomFpRate = 0.01
)