docs: add multi-language documentation (ru, fa, zh, tr, ar)

This commit is contained in:
2026-05-07 23:42:55 +03:00
parent abb382c419
commit e9d3c7e9de
157 changed files with 14339 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
# LSM-Tree хранилище
Основной движок хранилища в BaraDB с архитектурой Log-Structured Merge-Tree.
## Архитектура
```
┌─────────────────────────────────────────────┐
│ Writes │
│ (append to WAL + MemTable) │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ MemTable │
│ (in-memory sorted buffer) │
└─────────────────────────────────────────────┘
(when full, flush to SSTable)
┌─────────────────────────────────────────────┐
│ SSTable │
│ (sorted string table on disk) │
└─────────────────────────────────────────────┘
```
## Использование
```nim
import barabadb/storage/lsm
var db = newLSMTree("./data")
db.put("key1", cast[seq[byte]]("value1"))
let (found, value) = db.get("key1")
db.delete("key1")
db.close()
```
## Функции
- **Оптимизация записи**: Append-only log структура
- **Долговечность**: Write-ahead log (WAL) обеспечивает восстановление после сбоев
- **Bloom Filter**: Быстрые отрицательные поиски
- **Compaction**: Size-tiered стратегия объединяет SSTables
- **Page Cache**: LRU кэш для часто доступных страниц
## Конфигурация
```nim
var db = newLSMTree(
path = "./data",
memTableSize = 64 * 1024 * 1024,
walEnabled = true,
bloomFpRate = 0.01
)
```