Dynoxide
A DynamoDB emulator backed by SQLite. No Docker, no JVM - runs as an HTTP server, MCP server, or embedded library.
https://github.com/nubo-db/dynoxide ↗
About Dynoxide
I wrote about why I built Dynoxide and how it evolved from an embedded library into a standalone tool. Here's the short version.
I built Dynoxide because DynamoDB Local was driving me mad. It needs Docker or a JVM, takes seconds to start, and eats memory just sitting there. I wanted something I could spin up instantly for local development and testing without all that overhead. I also needed something we could embed directly into a native app we're building - which ruled out anything that runs as a separate process.
Dynoxide is a single ~3MB Rust binary backed by SQLite. It covers pretty much everything DynamoDB can do - table management, item CRUD, batch processing, transactions, PartiQL queries, TTL, and DynamoDB Streams. It passes 526 conformance tests that verify behaviour against real DynamoDB.
Three ways to run it
- HTTP server - drop-in replacement for DynamoDB Local, works with any AWS SDK
- Embedded library - link directly into Rust applications for zero-overhead testing
- MCP server - built for AI coding agents that need to work with DynamoDB
Performance
Cold startup in about 15ms as an HTTP server, or ~0.2ms in embedded mode (vs ~2,287ms for DynamoDB Local). Idle memory footprint of ~4.9MB. No JVM warmup, no Docker overhead.
Install
Available via Homebrew, npm, crates.io, or as a standalone binary from GitHub releases.
Conformance testing
I built a standalone DynamoDB conformance test suite to make sure Dynoxide actually behaves like real DynamoDB - 526 tests that run against both and check for identical behaviour. It's also listed on the open-source projects page.