You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document lists all known behavioral differences between ExtendDB and real
Amazon DynamoDB. Use it to understand what works identically and what requires
adaptation when switching between ExtendDB and the real service.
Storage and Infrastructure
Area
DynamoDB
ExtendDB
Storage backend
Proprietary distributed storage
PostgreSQL
Global Tables
CreateGlobalTable, replication
Not implemented (returns UnknownOperationException)
DAX (Accelerator)
In-memory caching layer
Not applicable
PartiQL
ExecuteStatement, BatchExecuteStatement
Not implemented (returns UnknownOperationException)
Authentication and Authorization (AWS IAM/STS auth surface used by DynamoDB)
Area
DynamoDB
ExtendDB
Credential management
AWS IAM console/API
extenddb manage CLI and /management REST API
Access key prefixes
AKIA (long-term), ASIA (session) AWS-wide IAM/STS conventions
AKIAEXTENDDB (long-term), ASIAEXTENDDB (session)
Federated roles
AssumeRoleWithSAML, AssumeRoleWithWebIdentity
Not implemented
Role chaining
Supported
Not implemented
SourceIdentity, TransitiveTagKeys
Supported
Not implemented
Resource policies
Supported
Not implemented (deferred)
Import and Export
Area
DynamoDB
ExtendDB
Import source
S3BucketSource (S3 bucket)
FileSource (local filesystem path)
Export destination
S3 bucket
Local filesystem path
Import formats
CSV, DYNAMODB_JSON, ION
CSV, DYNAMODB_JSON, ION
Export formats
DYNAMODB_JSON, ION
DYNAMODB_JSON, ION
Import execution
Asynchronous (background job)
Synchronous (completes before returning)
Export execution
Point-in-time snapshot
Current snapshot, synchronous
Control Plane
Area
DynamoDB
ExtendDB
Table creation delay
Returns CREATING immediately; transitions to ACTIVE typically within seconds. Same behavior for on-demand and provisioned
Configurable via control_plane_delay_seconds runtime setting (default: 5s)
DeletionProtectionEnabled
Enforced
Enforced (accepted and stored, DeleteTable rejects when enabled)
Time to Live (TTL)
Area
DynamoDB
ExtendDB
TTL attribute name
Any UTF-8 string (1–255 bytes)
Restricted to [a-zA-Z0-9._-]+ (1–255 bytes). Names with spaces, quotes, or other special characters are rejected. This eliminates SQL injection risk in the TTL expression index.
TTL deletion
Background process, items deleted within 48 hours of expiry
Background worker with indexed sweep, configurable target via ttl_deletion_target_seconds (default: 300s)
TTL stream records
REMOVE events with userIdentity: {type: "Service", principalId: "dynamodb.amazonaws.com"}
Supported — TTL deletions generate REMOVE stream records with the same userIdentity
TTL modification cooldown
Enforces a cooldown period between enable/disable changes ("Time to live has been modified multiple times within a fixed interval")
No cooldown — TTL can be enabled and disabled immediately. Intentional divergence for faster local development.
Tagging
Area
DynamoDB
ExtendDB
TagResource / UntagResource
Validates resource ARN exists, returns ResourceNotFoundException for missing tables
Matches DynamoDB — validates resource ARN and returns ResourceNotFoundException for missing tables.
Secondary Indexes
Area
DynamoDB
ExtendDB
GSI update propagation
Eventually consistent (milliseconds to seconds)
Per-GSI propagation delay. System default: gsi_propagation_delay_ms setting (default 10ms). Each GSI can override with its own propagation_delay_ms (stored in catalog). A value of 0 means synchronous (future sync GSI feature).
Multi-part base table keys
Not supported
Preview extension (opt-in via enable_multipart_keys setting). Standard single/composite keys work identically.
Capacity and Throttling
Area
DynamoDB
ExtendDB
Provisioned throughput
Token bucket per table/partition
Token bucket per table/partition, matching DynamoDB's burst and refill behavior
Allow importing credentials via the management API
Web Console
ExtendDB includes a built-in web management console at /console for credential
and account management. DynamoDB uses the AWS Management Console.
License
Copyright 2026 ExtendDB contributors. Licensed under the Apache License, Version 2.0.
See LICENSE for the full text.
This software is provided "as is" without warranty of any kind. ExtendDB is not
affiliated with, endorsed by, or sponsored by Amazon Web Services. "DynamoDB" is a trademark
of Amazon.com, Inc.