Files
Baradb/docs/tr/storage.md
T

67 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```nim
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
```nim
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.
```nim
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ı.
```nim
import barabadb/storage/bloom
var filter = newBloomFilter(10000, 0.01)
filter.add("key1")
if filter.mightContain("key1"):
echo "muhtemelen var"
```