Introducing ExtendDB: an open source DynamoDB-compatible adapter with pluggable storage backends
Launch announcement covering the problem ExtendDB solves, the pluggable architecture, and how to run it on the storage backend you choose.
An open source adapter that speaks the DynamoDB wire protocol and stores data in the backend you choose.
Same SDKs. Same code. Your infrastructure.
The same code runs against ExtendDB and the DynamoDB service. Endpoint configuration is the only change.
PostgreSQL for the enterprise. Cassandra for scale. Community backends welcome.
Open source, open governance, explicit patent grant. Fork it, run it anywhere.
ExtendDB speaks the DynamoDB wire protocol and delegates persistence to the backend you choose. Applications use any DynamoDB SDK; endpoint configuration is the only change.
PostgreSQL is the reference backend, validated against the full ExtendDB test suite. Cassandra and other community backends plug in through the same public interface. Supported operations include CRUD, Query, Scan, batch, transactions, Streams, expressions, and TTL.
High-fidelity DynamoDB API on your laptop. No network, no AWS account.
Run the DynamoDB API on databases your team already operates, with no new dependency.
Runs at factories, stores, vehicles, and remote sites without dependence on cloud connectivity.
ExtendDB is a DynamoDB-compatible API adapter that runs on infrastructure you manage. It accepts the same requests a DynamoDB client sends to the service and delegates data persistence to a pluggable storage backend. PostgreSQL is the reference backend, with Apache Cassandra and other backends supported through the same pluggable interface. ExtendDB ships under the Apache 2.0 license.
The DynamoDB service is fully managed and operated by AWS in AWS Regions. ExtendDB implements the DynamoDB API on infrastructure you run yourself, which extends the programming model to local development, on-premises data centers, and edge locations. ExtendDB is wire-protocol compatible with the service. Features tied to fully managed operations such as global tables, auto-scaling, backup and restore, and DAX are not available in a self-hosted deployment.
At launch, ExtendDB ships with PostgreSQL as the reference backend, feature-complete and validated against the full ExtendDB test suite. The storage backend is defined as an interface, so additional backends (Apache Cassandra, MySQL, and more) can be added by the community without modifying ExtendDB itself. You can switch between backends as your needs change.
Yes. ExtendDB is released under the Apache 2.0 license, the same license used by AWS CDK, Firecracker, and Bottlerocket. Apache 2.0 provides an explicit patent grant and permits use, modification, and redistribution.
No. Supported operations accept the same HTTP request format and return the same response structures that DynamoDB clients use with the service. Your existing application code works without modification for any supported operation. This includes AWS SDKs (JavaScript, Python, Java, Go, and others) and higher-level libraries that wrap them (PynamoDB, Dynamoose, DynamoDB Toolbox, awswrangler) because they delegate to the underlying SDK for HTTP communication. You change the endpoint configuration and nothing else.
Performance depends on your infrastructure sizing and storage backend choice. With PostgreSQL on appropriately sized instances, single-item operations achieve sub-10ms latency for reads and writes. With Apache Cassandra as the backend, ExtendDB supports horizontal scaling to thousands of requests per second. Performance characteristics differ from cloud DynamoDB because the underlying storage architectures differ, but the API behavior is identical across backends.
There is no charge for ExtendDB itself. You pay for the underlying compute and storage infrastructure based on your deployment and backend choice, or for your own infrastructure costs outside AWS.
Yes. ExtendDB is designed for development and continuous integration use. It matches cloud DynamoDB behavior with full expression support, condition evaluation, and error code parity. Run it via Docker against a lightweight backend for fast startup on developer machines.
Launch announcement covering the problem ExtendDB solves, the pluggable architecture, and how to run it on the storage backend you choose.