1.6 KiB
1.6 KiB
JormunDB
A high-performance, DynamoDB-compatible database server written in Odin, backed by RocksDB.
DynamoDB-Compatible Database · Powered by RocksDB + Odin
What is JormunDB?
JormunDB (formerly ZynamoDB) is a Self-Hosted DynamoDB replacement that speaks the DynamoDB wire protocol. Point your AWS SDK or CLI at it and use it as a drop-in replacement.
Why Odin? The original Zig implementation suffered from explicit allocator threading—every function taking an allocator parameter, every allocation needing errdefer cleanup. Odin's implicit context allocator system eliminates this ceremony: one context.allocator = arena_allocator at the request handler entry and everything downstream just works.
Features
- ✅ DynamoDB Wire Protocol: Works with AWS SDKs and CLI out of the box
- ✅ Binary Storage: Efficient TLV encoding for items, varint-prefixed keys
- ✅ Arena-per-Request: Zero explicit memory management in business logic
- ✅ Table Operations: CreateTable, DeleteTable, DescribeTable, ListTables
- ✅ Item Operations: PutItem, GetItem, DeleteItem
- ✅ Query & Scan: With pagination support (Limit, ExclusiveStartKey)
- ✅ Expression Parsing: KeyConditionExpression for Query operations
- ✅ Persistent Storage: RocksDB-backed with full ACID guarantees
- ✅ Concurrency: Table-level RW locks for safe concurrent access
