| Crates.io | alopex-core |
| lib.rs | alopex-core |
| version | 0.4.2 |
| created_at | 2025-12-17 09:35:20.764364+00 |
| updated_at | 2026-01-22 04:36:00.999347+00 |
| description | Core storage engine for Alopex DB - LSM-tree, columnar storage, and vector index |
| homepage | |
| repository | https://github.com/alopex-db/alopex |
| max_upload_size | |
| id | 1989831 |
| size | 1,163,476 |
Core storage engine for Alopex DB - a unified database engine that scales from embedded to distributed.
[dependencies]
alopex-core = "0.3"
[dependencies]
alopex-core = { version = "0.3", features = ["compression-zstd", "compression-lz4"] }
| Feature | Description |
|---|---|
compression-zstd |
Zstandard compression support |
compression-lz4 |
LZ4 compression support |
checksum-xxh64 |
XXHash64 checksum |
wasm-indexeddb |
WebAssembly with IndexedDB backend |
memory-profiling |
Memory profiling tools |
use alopex_core::lsm::LsmTree;
use alopex_core::config::LsmConfig;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create LSM-Tree with default config
let config = LsmConfig::default();
let tree = LsmTree::open("./data", config)?;
// Write data
tree.put(b"key1", b"value1")?;
tree.put(b"key2", b"value2")?;
// Read data
if let Some(value) = tree.get(b"key1")? {
println!("Found: {:?}", value);
}
// Flush to disk
tree.flush()?;
Ok(())
}
alopex-core
├── lsm/ # LSM-Tree implementation
│ ├── memtable # In-memory sorted table
│ ├── sstable # Sorted string table (on-disk)
│ └── wal # Write-ahead log
├── columnar/ # Columnar storage engine
├── vector/ # Vector index (HNSW, Flat)
└── kv/ # Key-value abstraction layer
Apache-2.0