Run DynamoDB workloads anywhere

An open source adapter that speaks the DynamoDB wire protocol and stores data in the backend you choose.

Same SDKs. Same code. Your infrastructure.

Maintained by
AWS
Why ExtendDB

One API, your infrastructure

Write once, run anywhere

The same code runs against ExtendDB and the DynamoDB service. Endpoint configuration is the only change.

Pluggable storage

PostgreSQL for the enterprise. Cassandra for scale. Community backends welcome.

Apache 2.0

Open source, open governance, explicit patent grant. Fork it, run it anywhere.

How it works

An adapter, not a database

ExtendDB architecture diagram A DynamoDB client sends API requests to ExtendDB. ExtendDB translates each request and routes it to a pluggable storage backend such as Apache Cassandra, PostgreSQL, or other backends. Your app Any DynamoDB SDK ExtendDB API adapter Cassandra pluggable PostgreSQL reference backend Other backends pluggable ExtendDB reference backend pluggable
A DynamoDB client sends API requests to ExtendDB. ExtendDB translates each request and routes it to a pluggable storage backend.

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.

Use cases

Why teams pick ExtendDB

Develop locally

High-fidelity DynamoDB API on your laptop. No network, no AWS account.

Local dev CI / integration tests Offline

Standardize across cloud and data center

Run the DynamoDB API on databases your team already operates, with no new dependency.

On-prem Hybrid cloud Pluggable backends

Ship to disconnected environments

Runs at factories, stores, vehicles, and remote sites without dependence on cloud connectivity.

Edge Air-gapped Intermittent network
FAQ

Frequently asked questions

What is ExtendDB?

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.

How is ExtendDB different from the DynamoDB service?

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.

What storage backends are supported?

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.

Is ExtendDB open source?

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.

Do I need to change my application code?

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.

How does performance compare to cloud DynamoDB?

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.

What does ExtendDB cost?

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.

Can I use ExtendDB for local development and CI?

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.

Writing about ExtendDB

Posts and announcements