Files
Baradb/docs/ar/storage.md
T

1.7 KiB

محركات التخزين

توفر BaraDB محركات تخزين متعددة محسنة لأنماط الوصول المختلفة.

LSM-Tree (مفتاح-قيمة)

محرك التخزين الأساسي المحسن للكتابة مع بنية log-only إلحاقية.

الاستخدام

import barabadb/storage/lsm

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

المكونات

  • MemTable: مخزن مؤقت مرتب في الذاكرة
  • WAL: سجل write-ahead للدائمة
  • SSTable: جداول السلاسل المرتبة على القرص
  • Bloom Filter: بنية احتمالية للبحث السلبي السريع
  • الضغط: استراتيجية ذات طبقات بحجم مع إدارة المستويات
  • ذاكرة الصفحة: ذاكرة مؤقتة LRU مع تتبع معدل الإصابة

فهرس B-Tree

فهرس مرتب للبحث بالنطاق والبحث النقطي.

الاستخدام

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)

يضمن دائمة عمليات الكتابة.

import barabadb/storage/wal

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

Bloom Filter

هيكل بيانات احتمالي للبحث السلبي السريع.

import barabadb/storage/bloom

var filter = newBloomFilter(10000, 0.01)
filter.add("key1")
if filter.mightContain("key1"):
  echo "ربما موجود"