Files
Baradb/docs/tr/storage.md

1.4 KiB
Raw Permalink Blame History

Depolama Motorları

BaraDB farklı erişim kalıpları için optimize edilmiş birden fazla depolama motoru sağlar.

LSM-Tree (Anahtar-Değer)

Yazma için optimize edilmiş append-only log yapılı birincil depolama motoru.

Kullanım

import barabadb/storage/lsm

var db = newLSMTree("./data")
db.put("key1", cast[seq[byte]]("value1"))
let (found, value) = db.get("key1")
db.close()

Bileşenler

  • MemTable: Bellek içi sıralı tampon
  • WAL: Dayanıklılık için write-ahead log
  • SSTable: Disk üzerinde sıralı string tabloları
  • Bloom Filter: Hızlı negatif aramalar için olasılıksal yapı
  • Compaction: Seviye yönetimi ile boyut katmanlı strateji
  • Page Cache: Hit oranı izlemeli LRU önbellek

B-Tree İndeksi

Aralık taramaları ve nokta aramaları için sıralı indeks.

Kullanım

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)

Yazma işlemlerinin dayanıklılığını sağlar.

import barabadb/storage/wal

var wal = newWAL("./wal")
wal.append("txn1", "SET key1 value1")
wal.flush()

Bloom Filter

Hızlı negatif aramalar için olasılıksal veri yapısı.

import barabadb/storage/bloom

var filter = newBloomFilter(10000, 0.01)
filter.add("key1")
if filter.mightContain("key1"):
  echo "muhtemelen var"