1 pointby texuguito5 hours ago1 comment
  • texuguito5 hours ago
    Hi HN, I recently started learning Rust and decided to build ApexStore to put the language's safety and performance concepts into practice. It is an embedded key-value storage engine based on the Log-Structured Merge-Tree (LSM-Tree) architecture. My goal was to implement a functional storage motor from scratch to understand the trade-offs in write-heavy systems and how to apply SOLID principles within the Rust ecosystem. Technical details: SSTable V2 Format: Block-based storage with sparse indexing and LZ4 compression. Durability: ACID-compliant Write-Ahead Logging (WAL) with configurable sync modes. Read Path: Optimized using Bloom Filters and a block cache to minimize disk I/O. Performance: Currently reaching ~1M ops/s for batch writes on an NVMe drive (Ryzen 9 5900X). It is published on Crates.io (apex-store-rs) and I have documented the architecture using mdBook. As someone still getting comfortable with Rust idioms, I would love to hear your feedback on the architecture—especially regarding the orchestration between the MemTable and the WAL during flushes. GitHub: https://github.com/ElioNeto/ApexStore Documentation: https://elioneto.github.io/ApexStore/ Thanks for taking a look!