| Crates.io | toondb-storage |
| lib.rs | toondb-storage |
| version | 0.3.4 |
| created_at | 2026-01-01 03:41:37.255825+00 |
| updated_at | 2026-01-08 05:52:33.385685+00 |
| description | ToonDB storage engine (WAL, block store, compaction, sync-first I/O) |
| homepage | https://toondb.dev |
| repository | https://github.com/toondb/toondb |
| max_upload_size | |
| id | 2015707 |
| size | 2,570,351 |
High-performance storage engine for ToonDB with ACID transactions and crash recovery.
toondb-storage provides the persistence layer for ToonDB, featuring:
[dependencies]
toondb-storage = "0.2.5"
Most users should use the high-level toondb crate:
use toondb::Database;
let db = Database::open("./my_data")?;
// Transactional writes
let txn = db.transaction()?;
txn.put("users/1", b"Alice")?;
txn.commit()?;
┌─────────────────────────────────────────┐
│ toondb-storage │
├─────────────────────────────────────────┤
│ Transaction Layer (MVCC, Isolation) │
├─────────────────────────────────────────┤
│ WAL (Write-Ahead Log, Durability) │
├─────────────────────────────────────────┤
│ Page Cache (Buffer Pool, LRU) │
├─────────────────────────────────────────┤
│ Storage Engine (LSM-tree, Compaction) │
└─────────────────────────────────────────┘
| Operation | Throughput |
|---|---|
| Point reads | ~500K ops/sec |
| Sequential writes | ~200K ops/sec |
| Batch writes (1000) | ~2M ops/sec |
| Recovery time | <100ms for 1GB WAL |
| Crate | Purpose |
|---|---|
toondb |
High-level client API (start here) |
toondb-core |
Core types and traits |
toondb-storage |
Storage engine (this crate) |
toondb-index |
HNSW vector indexing |
toondb-query |
Query planning and execution |
Apache-2.0 - see LICENSE for details.