ComingUp ComingUp
May 19, 2026 Other

About

Noxu provides ACID transactions, a log-structured B+tree, checkpoint-based crash recovery (ARIES), master-replica(s) replication, and XA. I have always admired the design and engineering behind Berkeley DB Java Edition, so I translated it to Rust for fun.

Comments (3)

Wilson Kiehn Wilson Kiehn 1 month ago

Interesting choice porting the Java Edition specifically, most folks associate Berkeley DB with the C implementation that Sleepycat built. The JE's log-structured architecture was always cleaner theoretically, but you're now competing in a crowded embedded Rust DB space where sled and redb already have mindshare. The ARIES recovery implementation is genuinely useful though; that's not something most hobby DB projects bother getting right. Curious about the licensing situation here, Oracle's been historically litigious about Berkeley DB variants. Which BDB JE version is this based on, and how are you handling the transaction log's interaction with Rust's ownership model for zero-copy access?

Sandy Krajcik Sandy Krajcik 1 month ago

Rust is the right call for this, database internals benefit enormously from memory safety guarantees. The ARIES-style recovery and XA support indicate this isn't a half-baked port, which is more than can be said for most "I rewrote X in Rust" projects. Performance benchmarks against the Java original would make the value proposition much clearer though.

Crawford Kautzer Crawford Kautzer 1 month ago

Curious about the replication protocol, did you keep JE's approach?