AWS History and Timeline regarding Amazon DynamoDB - Overview, Functions, Features, Summary of Updates, and Introduction

First Published:
Last Updated:

This is another installment in the series that I started with the "AWS History and Timeline - Almost All AWS Services List, Announcements, General Availability(GA)", where I extract features from the history and timeline of AWS services (I've previously written about Amazon S3, AWS Systems Manager, Amazon Route 53, Amazon EventBridge, AWS KMS, Amazon SQS, AWS Lambda, Amazon Cognito).

This time, I have created a historical timeline for Amazon DynamoDB, a fully managed NoSQL database service announced as Generally Available on January 18, 2012.
Amazon DynamoDB was born out of the 2007 Dynamo paper from Amazon's research on highly available distributed key-value stores, and has evolved through major milestones such as Local Secondary Indexes (LSI), Global Secondary Indexes (GSI), DynamoDB Streams, Point-in-Time Recovery (PITR), Global Tables, On-Demand capacity mode, Transactions, the Standard-Infrequent Access table class, and Zero-ETL integrations with Amazon OpenSearch Service, Amazon Redshift, and Amazon SageMaker Lakehouse.
Just like before, I am summarizing the main features while following the birth of Amazon DynamoDB and tracking its feature additions and updates as a Current Overview, Functions, Features of Amazon DynamoDB.
I hope these will provide clues as to what has remained the same and what has changed, in addition to the features and concepts of Amazon DynamoDB.

Background and Method of Creating Amazon DynamoDB Historical Timeline

The reason for creating a historical timeline of Amazon DynamoDB this time is that it has been more than a decade since the service became generally available in January 2012, and the surface area of DynamoDB has grown considerably with secondary indexes, change data capture, multi-Region replication, transactions, two distinct capacity modes, tiered table classes, and Zero-ETL integrations into other AWS analytics and AI services.

Since Amazon DynamoDB was announced in January 2012, it has steadily expanded its query capabilities, replication topology, backup story, security controls, and integration surface. Therefore, I wanted to organize the information of Amazon DynamoDB with the following approaches.
  • Tracking the history of Amazon DynamoDB and organizing the transition of updates
  • Summarizing the feature list and characteristics of Amazon DynamoDB
This timeline primarily references the following blogs and document content regarding Amazon DynamoDB.
There may be slight variations in the dates on the timeline due to differences in the timing of announcements or article postings in the references used.
The content posted is limited to major features related to the current Amazon DynamoDB and necessary for the feature list and overview description.
In other words, please note that the items on this timeline are not all updates to Amazon DynamoDB features, but are representative updates that I have picked out.

Amazon DynamoDB Historical Timeline (Updates from January 18, 2012)

Now, here is a timeline related to the functions of Amazon DynamoDB. As of the time of writing this article, the history of Amazon DynamoDB spans more than 14 years since its general availability on January 18, 2012.

* The table can be sorted by clicking on the column names.
DateSummary
2012-01-18Amazon DynamoDB is announced as Generally Available (GA). A fully managed NoSQL database service offering single-digit millisecond performance at any scale, storing data on Solid State Drives (SSDs) and replicating it synchronously across multiple Availability Zones within an AWS Region. At launch, throughput was specified through provisioned read and write capacity units, and the AWS Free Tier included DynamoDB capacity for getting started.

References: AWS Announces DynamoDB
2013-04-18Local Secondary Indexes (LSI) are introduced. An LSI uses the same partition key as the base table but a different sort key. LSIs must be defined at table creation time and share provisioned throughput with the base table; up to 5 LSIs are allowed per table.

References: Local Secondary Indexes for Amazon DynamoDB
2013-12-12Global Secondary Indexes (GSI) are launched. A GSI can have a partition key and a sort key different from those of the base table, has its own provisioned throughput settings, can span all partitions of the base table, and can be added to or removed from an existing table after creation.

References: Taking DynamoDB beyond Key-Value: Now with Faster, More Flexible, More Powerful Query Capabilities
2014-10-08JSON document data type support, expanded Free Tier, flexible scaling, and larger items are announced. DynamoDB tables can now store nested document data with up to 32 levels of nesting using Map and List attribute types in addition to scalar types, and the maximum item size is increased to 400 KB.

References: DynamoDB Update - JSON, Expanded Free Tier, Flexible Scaling, Larger Items
2014-11-10DynamoDB Streams is announced as a sneak preview. A time-ordered sequence of item-level modifications in any DynamoDB table is captured and stored on a rolling 24-hour basis, enabling change data capture (CDC) workflows; a preview Cross-Region Replication Library built on top of Streams is also announced.

References: Sneak Preview - DynamoDB Streams
2015-07-16DynamoDB Streams becomes Generally Available (GA), DynamoDB Triggers (AWS Lambda integration) launch, and Cross-Region Replication is announced. Applications can consume Streams in near real time, and Lambda functions can subscribe to a table's stream as triggers to react to item-level changes.

References: Amazon DynamoDB: Available now - Cross-region Replication, Triggers, and Streams
2017-02-27Time to Live (TTL) is launched. An attribute in each item can be specified to store an expiration time as a Unix epoch timestamp; DynamoDB then deletes expired items in the background without consuming write throughput. Deletions are reflected immediately in LSIs and eventually in GSIs.

References: New - Manage DynamoDB Items Using Time to Live (TTL)
2017-06-14DynamoDB Auto Scaling is announced. Auto Scaling continuously monitors actual throughput consumption with Amazon CloudWatch and scales read or write capacity up or down to keep utilization near a target value, both for tables and for Global Secondary Indexes.

References: Announcing Amazon DynamoDB Auto Scaling
2017-06-21Amazon DynamoDB Accelerator (DAX) becomes Generally Available. DAX is a fully managed, highly available, in-memory read-through / write-through cache for DynamoDB that delivers microsecond response times and is API-compatible with DynamoDB, requiring no application logic changes.

References: Amazon DynamoDB Accelerator (DAX) Now Generally Available
2017-08-16VPC Endpoints for DynamoDB become Generally Available. A gateway VPC endpoint allows resources inside a VPC to access DynamoDB without traversing the public internet, and endpoint policies can scope which DynamoDB operations are allowed through the endpoint.

References: VPC Endpoints for Amazon DynamoDB Now Generally Available
2017-11-29Amazon DynamoDB Global Tables (version 2017.11.29, now referred to as Legacy / V1) is launched. Multi-Region, multi-active replication is enabled by creating a global table from a set of empty Regional tables and invoking CreateGlobalTable.

References: DynamoDB global tables versions
2017-11-29On-Demand Backup and Restore is launched. Full backups of a DynamoDB table can be created in seconds with no performance impact on the table's request throughput, and the backups can be restored to a new table later.

References: New - Amazon DynamoDB Continuous Backups and Point-In-Time Recovery (PITR)
2018-02-08Encryption at Rest is launched for new DynamoDB tables. Server-side encryption with AES-256 is provided using a service-default key managed by AWS Key Management Service (AWS KMS), protecting table data, local secondary indexes, and global secondary indexes; the encryption adds no storage overhead and is transparent to applications.

References: New - Encryption at Rest for DynamoDB
2018-03-26Continuous Backups and Point-in-Time Recovery (PITR) are launched. Once enabled, PITR continuously backs up table data so that you can restore the table to any point in time during the preceding 35 days. PITR works with encrypted tables and records every API call in AWS CloudTrail.

References: Amazon DynamoDB Adds Support for Continuous Backups and Point-In-Time Recovery (PITR)
2018-08-13Adaptive Capacity is clarified to apply continuously, not only during sustained throttling. The AWS Database Blog clarifies that Adaptive Capacity—originally introduced in November 2017 to mitigate hot-key throttling—redistributes throughput across partitions whenever workloads are imbalanced rather than only during sustained throttling events. DynamoDB automatically smooths out skewed access patterns so that frequently accessed items do not consume capacity proportional to the table's total provisioning, mitigating hot-key throttling without manual intervention.

References: How Amazon DynamoDB adaptive capacity accommodates uneven data access patterns
2018-11-27Amazon DynamoDB Transactions are announced. The TransactWriteItems and TransactGetItems APIs provide ACID semantics across one or more tables within an AWS account and Region, supporting all-or-nothing batch writes with conditional checks. (At launch the per-transaction limit was 10 items; later raised to 25, then 100.)

References: New - Amazon DynamoDB Transactions
2018-11-28On-Demand capacity mode is announced. A pay-per-request billing option that instantly accommodates traffic spikes without capacity planning is added alongside the existing provisioned capacity mode. On-Demand supports all DynamoDB features including PITR, Global Tables, and encryption at rest.

References: Announcing Amazon DynamoDB On-Demand
2019-01-16AWS Backup launches with native Amazon DynamoDB support. AWS Backup becomes Generally Available as a fully managed, centralized backup service, and DynamoDB on-demand backups can be scheduled, retained, and governed through AWS Backup plans and vaults from launch, alongside Amazon EBS, Amazon RDS, Amazon EFS, and AWS Storage Gateway.

References: Announcing AWS Backup - A Fully Managed, Centralized Backup Service
2019-05-23Instant Adaptive Capacity is announced. Adaptive Capacity is enhanced so that throughput redistribution across partitions becomes effectively instant—responding within seconds rather than minutes—further reducing the operational impact of hot keys and skewed workloads without operator intervention.

References: How Amazon DynamoDB adaptive capacity handles imbalanced workloads
2019-11-21Amazon DynamoDB Global Tables (version 2019.11.21, "Current" / V2) is launched. Replicas can be added to or removed from an existing Regional table without first emptying the data; write capacity consumption per replicated write is reduced, only one Streams record is published per write, and settings such as encryption at rest and GSI configuration are synchronized across replicas.

References: New - Convert Your Single-Region Amazon DynamoDB Tables to Global Tables
2020-02-13Cross-Region restore of DynamoDB on-demand backups is launched. A backup of a DynamoDB table can be restored as a new table in any AWS Region in the same account, simplifying disaster recovery and migration scenarios.

References: Cross-Region DynamoDB table restore
2020-03-30NoSQL Workbench for Amazon DynamoDB becomes Generally Available. NoSQL Workbench is a free client-side application that supports data modeling, visualization, and query development for DynamoDB.

References: NoSQL Workbench for Amazon DynamoDB is now Generally Available
2020-04-07CloudWatch Contributor Insights for DynamoDB is Generally Available. Top-N reports of partition keys, GSI keys, and other access patterns are produced so that operators can identify hot keys and skewed traffic at scale.

References: Amazon CloudWatch Contributor Insights for Amazon DynamoDB is now generally available
2020-11-09DynamoDB Export to Amazon S3 is launched. Table data can be exported to an Amazon S3 bucket in DynamoDB JSON or Amazon Ion format without consuming any of the table's read capacity, enabling analytics with services like Amazon Athena, Amazon EMR, and AWS Glue.

References: DynamoDB table export to Amazon S3
2020-11-23PartiQL support for Amazon DynamoDB is announced. Items can be queried, inserted, updated, and deleted using PartiQL, a SQL-compatible query language for NoSQL data. Operations honor the same read/write capacity model and IAM authorization as native DynamoDB APIs.

References: PartiQL for Amazon DynamoDB
2020-11-23Amazon Kinesis Data Streams for Amazon DynamoDB is launched. Item-level changes in a DynamoDB table can be captured directly into a Kinesis data stream, providing a longer retention horizon than DynamoDB Streams and broader downstream consumer support.

References: Amazon Kinesis Data Streams for DynamoDB
2020-11-30Faster table restores from on-demand backups are announced. The time to restore a DynamoDB on-demand backup as a new table is significantly reduced, especially for larger tables, accelerating recovery and migration workflows.

References: Faster DynamoDB table restores
2020-11-30Customer-managed AWS KMS keys for DynamoDB Global Tables are supported. Global tables can now be encrypted using customer-managed CMKs in AWS KMS, satisfying compliance scenarios that require key custody at the customer.

References: Encrypt your DynamoDB Global Tables using your own encryption keys
2021-11-23AWS Backup advanced features for Amazon DynamoDB are enabled by default for new customers. Advanced features extend AWS Backup beyond DynamoDB on-demand backups so that AWS Backup can manage DynamoDB continuous backups (PITR-based), cross-Region and cross-account backup copy, cold storage transitions, and cost allocation tags through backup plans and vaults. Customers who created their first backup vault on or after November 21, 2021 have advanced DynamoDB backup features enabled by default.

References: Advanced DynamoDB backup - AWS Backup
2021-12-01Amazon DynamoDB Standard-Infrequent Access (Standard-IA) table class is launched. A second table class is added: Standard-IA offers lower per-GB storage cost than the Standard table class in exchange for higher per-request cost, suiting workloads where storage dominates the bill. Table class can be switched between Standard and Standard-IA in place.

References: Amazon DynamoDB Standard-Infrequent Access table class
2022-08-18Import from Amazon S3 to a new DynamoDB table is launched. Data in CSV, DynamoDB JSON, or Amazon Ion in an S3 bucket can be imported directly into a new DynamoDB table without consuming write capacity, accelerating bulk loads and migrations.

References: Amazon DynamoDB now supports bulk imports from Amazon S3 to new DynamoDB tables
2022-09-06The maximum number of actions per transaction is increased from 25 to 100. TransactWriteItems and TransactGetItems can now coordinate up to 100 actions per transaction, easing the design of complex atomic workflows that previously had to be split across multiple transactions.

References: Amazon DynamoDB now supports up to 100 actions per transaction
2023-11-28Zero-ETL integration between Amazon DynamoDB and Amazon OpenSearch Service is announced. Using Amazon OpenSearch Ingestion, table data is automatically replicated from DynamoDB into an OpenSearch managed cluster or serverless collection in near real time, without custom code and without consuming the source table's read or write capacity.

References: AWS announces Amazon DynamoDB zero-ETL integration with Amazon OpenSearch Service
2024-03-19AWS PrivateLink support for Amazon DynamoDB is announced. Interface VPC endpoints (powered by AWS PrivateLink) are added so that DynamoDB API traffic can stay entirely within a customer's private network without using a gateway VPC endpoint or public AWS endpoints.

References: Amazon DynamoDB now supports AWS PrivateLink
2024-03-20Resource-based policies for Amazon DynamoDB are announced. IAM policies can be attached directly to a DynamoDB table or index resource, simplifying cross-account access and fine-grained access control alongside identity-based policies.

References: Amazon DynamoDB resource-based policies
2024-05-03Configurable maximum throughput for on-demand tables and indexes is launched. An upper bound on read and write throughput can be set per table or per GSI in on-demand capacity mode, enabling cost guard-rails against runaway workloads.

References: DynamoDB configurable maximum throughput for on-demand tables
2024-10-15Zero-ETL integration between Amazon DynamoDB and Amazon Redshift becomes Generally Available. Table data is automatically replicated from DynamoDB to Amazon Redshift, enabling near real-time analytics on operational data without managing pipelines.

References: Amazon DynamoDB zero-ETL integration with Amazon Redshift
2024-11-13Warm throughput for tables and indexes is announced. Warm throughput indicates the peak read and write request rate that a table or index has previously sustained without any internal partitioning changes, providing operational visibility into pre-scaled capacity for predictable high-traffic events.

References: DynamoDB warm throughput for on-demand and provisioned tables
2024-11-14Price reductions for DynamoDB on-demand throughput and Global Tables are announced. Per-request prices for on-demand reads and writes are reduced, and replicated write costs for Global Tables are reduced, lowering total cost of ownership for high-throughput and multi-Region workloads.

References: Amazon DynamoDB reduces prices for on-demand throughput and global tables
2024-11-18Attribute-based access control (ABAC) for DynamoDB becomes Generally Available. IAM session tags and resource tags can be combined in IAM policy conditions to authorize access to DynamoDB resources at scale, complementing identity-based and resource-based policies.

References: Amazon DynamoDB general availability of attribute-based access control
2024-12-03Multi-Region strong consistency (MRSC) for Global Tables enters preview. Global tables can be configured for strongly consistent reads across all replicas, in addition to the default eventually consistent multi-Region replication, easing certain global active-active architectures.

References: DynamoDB global tables previews multi-Region strong consistency
2024-12-03Zero-ETL integration between Amazon DynamoDB and Amazon SageMaker Lakehouse is announced. DynamoDB table data can be replicated into a lakehouse with native support for Apache Iceberg-style analytics, making operational data usable for downstream machine learning workflows without custom ETL.

References: Amazon DynamoDB zero-ETL integration with Amazon SageMaker Lakehouse
2024-12-13FIPS 140-3 compliant interface VPC and Streams endpoints for DynamoDB are launched. Interface VPC endpoints for DynamoDB and DynamoDB Streams that satisfy FIPS 140-3 cryptographic requirements are added, broadening DynamoDB's reach into regulated workloads.

References: Amazon DynamoDB FIPS 140-3 interface VPC and Streams endpoints
2025-06-30Multi-Region strong consistency (MRSC) for Amazon DynamoDB global tables becomes Generally Available. MRSC global tables synchronously replicate item-level writes across Regions before acknowledging the write, providing a Recovery Point Objective (RPO) of zero and strongly consistent reads from any replica Region. An MRSC global table must be deployed in exactly three Regions, configured either as three full replicas or as two replicas plus one witness Region; LSIs are not supported for MRSC global tables.

References: Amazon DynamoDB global tables with multi-Region strong consistency is now generally available

Current Overview, Functions, Features of Amazon DynamoDB

From here, I explain in detail the main features of the current Amazon DynamoDB.
Amazon DynamoDB is a fully managed NoSQL database service that delivers single-digit millisecond performance at any scale, with serverless operations and built-in high availability across multiple Availability Zones.

Amazon DynamoDB simplifies database operations by removing capacity planning friction (with both Provisioned and On-Demand capacity modes), by replicating data synchronously across multiple Availability Zones, and by integrating tightly with other AWS services such as AWS Lambda, Amazon Kinesis, Amazon S3, Amazon OpenSearch Service, Amazon Redshift, Amazon SageMaker, AWS KMS, and AWS IAM.
It also achieves high security through access management with AWS Identity and Access Management (IAM), resource-based policies, encryption at rest using AWS KMS, encryption in transit, VPC endpoints (gateway and AWS PrivateLink), and integration with AWS CloudTrail.
Along with these features, it can flexibly scale capacity, replicate across AWS Regions with Global Tables, and emit change events through DynamoDB Streams or Amazon Kinesis Data Streams for near real-time downstream processing.

Amazon DynamoDB Use Cases

Amazon DynamoDB is used in scenarios that demand consistent low-latency reads and writes at very high scale.
The main use cases of the NoSQL database service provided by Amazon DynamoDB include the following:
  • Internet-scale web and mobile applications
    DynamoDB powers user profiles, session stores, leaderboards, and game state for applications that need single-digit millisecond response times across millions of users.
  • Serverless application backends
    DynamoDB pairs with AWS Lambda and Amazon API Gateway as the storage tier for serverless backends, with On-Demand capacity mode that scales without capacity planning.
  • Event-driven microservices and change data capture
    DynamoDB Streams and Amazon Kinesis Data Streams for DynamoDB capture every item-level change, feeding event-driven workflows, materialized views, search indexes, and analytics pipelines.
  • Multi-Region active-active applications
    With Global Tables (version 2019.11.21), the same logical table can be hosted in multiple AWS Regions with automatic, multi-active replication, enabling low-latency reads close to end users and Region-level failure isolation.
  • Operational analytics and machine learning
    Through DynamoDB Export to Amazon S3 and the Zero-ETL integrations with Amazon OpenSearch Service, Amazon Redshift, and Amazon SageMaker Lakehouse, operational data can flow into analytical engines and ML workflows without custom ETL pipelines.
For access-pattern-driven schema design that exploits these features in a real production workload, see Amazon DynamoDB Single Table Design Guide.

Amazon DynamoDB Conceptual Diagram

From here, I explain the main features and characteristics of Amazon DynamoDB. Before that, the following diagram summarizes how DynamoDB's major capabilities have evolved over the years.

Amazon DynamoDB Feature Evolution Tree
Amazon DynamoDB feature evolution tree from the 2012 GA to recent zero-ETL integrations.

This diagram organizes major DynamoDB features along six branches that grew out of the 2012 GA: Core Data Model (JSON / Map / List, Time to Live, Adaptive Capacity, Transactions, PartiQL), Secondary Indexes (LSI, GSI), Replication & Change Capture (DynamoDB Streams, Global Tables v1, Global Tables v2, Multi-Region Strong Consistency, Kinesis Data Streams integration), Backup & Recovery (On-Demand Backup, Point-in-Time Recovery, AWS Backup integration), Capacity & Table Classes (Encryption at Rest, Auto Scaling, On-Demand Capacity, Standard-IA table class, Warm Throughput), and Integrations & Analytics (DAX, VPC Endpoints, Export to S3 / Import from S3, Zero-ETL with OpenSearch / Redshift / SageMaker Lakehouse).

In the following sections, I provide more details about these features and configurations of Amazon DynamoDB.

Tables, Items, and Attributes

A DynamoDB table is a collection of items; each item is a collection of attributes; and each attribute has a name and a typed value. Supported attribute types include scalar types (string, number, binary, boolean, null), document types (list, map, with up to 32 levels of nesting), and set types (string set, number set, binary set).

Each item is identified by a primary key. The primary key can be a partition key only (simple primary key) or a partition key plus a sort key (composite primary key). Items that share a partition key form an "item collection" and are stored together to enable efficient range queries on the sort key.

Partition Keys and Sort Keys

Partition keys map items to physical partitions through an internal hash function. A well-chosen partition key has high cardinality and balanced traffic distribution; a poorly chosen partition key creates "hot partitions" that throttle even when the table-level throughput is far below its provisioned ceiling, although Adaptive Capacity (introduced in 2017, made instant in 2019) mitigates many such cases automatically by redistributing throughput.

Sort keys define the order of items within a partition and are the basis for range conditions in Query operations. Composite-key designs that pack hierarchical or time-based access patterns into the sort key are the foundation of single-table designs in DynamoDB.

For the decision matrix on partition / sort key design with 20 reusable patterns, see Amazon DynamoDB Key Design - GSI / LSI Dictionary.

Local Secondary Indexes (LSI)

A Local Secondary Index (LSI), introduced in April 2013, uses the same partition key as the base table but a different sort key. Up to 5 LSIs are allowed per table, the index shares provisioned throughput with the base table, and an LSI can be projected with all attributes, only keys, or a selected list of attributes.

LSIs must be defined at table creation time and cannot be added or deleted later. When a table has one or more LSIs, the size of the item collection for any single partition key value—that is, the combined size of the base table items and all LSI entries that share that partition key value—is limited to 10 GB; once that limit is reached, no additional items can be inserted under that partition key value.

Global Secondary Indexes (GSI)

A Global Secondary Index (GSI), launched in December 2013, has its own partition key and (optionally) sort key, independent of the base table's primary key. GSIs have their own provisioned throughput, support up to 20 GSIs per table by default, and (unlike LSIs) can be created or deleted on an existing table.

A GSI is eventually consistent by design; the index is updated asynchronously after each base table write. GSIs make access patterns that the primary key alone cannot satisfy (for example, "find all orders for this user", or "find all open tickets in this status") practical at scale.

For the GSI vs LSI decision matrix and 20 reusable key design patterns, see Amazon DynamoDB Key Design - GSI / LSI Dictionary.

DynamoDB Streams

DynamoDB Streams, introduced in November 2014 and generally available in July 2015, captures a time-ordered sequence of item-level modifications in a DynamoDB table and retains the records for up to 24 hours. Each stream record can include the keys only, the new image of the item, the old image, or both old and new images.

Streams is the primary change data capture (CDC) primitive for DynamoDB. AWS Lambda functions can subscribe to a stream directly through event source mappings, allowing reactive workflows such as fan-out to Amazon SNS, indexing into Amazon OpenSearch Service, or maintaining aggregate counters in another DynamoDB table. For longer retention or for fan-out beyond a single consumer, Amazon Kinesis Data Streams for DynamoDB (launched in November 2020) emits item-level changes to a Kinesis data stream with retention up to 7 days (extended retention up to 1 year).

For access-pattern-driven schema design that uses Streams to maintain materialized views and aggregates, see Amazon DynamoDB Single Table Design Guide.

Time to Live (TTL)

Time to Live (TTL), launched in February 2017, lets you designate an item attribute as the expiration timestamp (in Unix epoch seconds). DynamoDB scans for expired items in the background and deletes them without consuming write throughput; expired items are removed immediately from any LSI and eventually from any GSI.

TTL is the canonical way to age out session data, transient caches, and other time-bounded records. TTL-driven deletions also appear in DynamoDB Streams as DELETE events (with a user identity of "Service: DynamoDB" and a principal of "dynamodb.amazonaws.com"), so downstream pipelines can react to TTL expiry just like to any other delete.

Capacity Modes

DynamoDB supports two capacity modes:
  • Provisioned capacity — Reads and writes are billed by provisioned RCUs (Read Capacity Units) and WCUs (Write Capacity Units), and the table may be combined with DynamoDB Auto Scaling (launched in June 2017) to track a target utilization automatically. Reserved Capacity is available for predictable long-running workloads.
  • On-Demand capacity — Reads and writes are billed per request (launched in November 2018). On-Demand instantly accommodates traffic up to a table's previously reached peak (now visible as Warm Throughput, announced in November 2024) and supports all DynamoDB features. Configurable maximum throughput for on-demand (launched in May 2024) lets you set an upper bound for cost protection.
The capacity mode can be switched in place; typical patterns include starting in On-Demand to discover traffic shape and switching to Provisioned + Auto Scaling once the load is stable enough to capture savings.

Table Classes (Standard / Standard-IA)

DynamoDB tables can be created in one of two table classes:
  • DynamoDB Standard — The default class for all features, optimized for typical workloads where reads, writes, and storage are all material to the bill.
  • DynamoDB Standard-Infrequent Access (Standard-IA) — Announced in December 2021, this class offers lower storage cost in exchange for higher per-request cost, making it the cost-optimal choice for tables dominated by storage (for example, multi-year audit logs or archived order history). All DynamoDB features are still available, and the table class can be changed in place up to twice per 30 days.
The choice of table class is a cost optimization that does not change schema, APIs, or operational semantics.

Backups and Point-in-Time Recovery (PITR)

DynamoDB offers two complementary backup mechanisms:
  • On-Demand Backup (launched in November 2017) — A full backup of a table can be created in seconds without affecting application traffic, and can be retained indefinitely. AWS Backup integration (launched with AWS Backup GA in January 2019) lets you centralize DynamoDB on-demand backups via backup plans and vaults, alongside other AWS data services.
  • Point-in-Time Recovery (PITR) (launched in March 2018) — Once enabled, PITR continuously backs up the table at per-second granularity for the preceding 35 days. PITR works with encrypted tables, supports cross-Region restore (since February 2020), and integrates with AWS CloudTrail.
Both backup mechanisms restore as new tables (not in place), so they fit cleanly into disaster-recovery runbooks and accidental-write recovery scenarios.

Global Tables

Global Tables, the multi-active multi-Region replication feature, exists in two versions:
  • Version 2017.11.29 (Legacy / V1) — Replicas must be empty when added, and each replicated write consumes additional write capacity per Region. Streams emits two records per replicated write. New tables should not use this version.
  • Version 2019.11.21 (Current / V2) — Replicas can be added to or removed from an existing populated table, each replicated write consumes less write capacity than V1, Streams emits a single record per write, and settings such as encryption at rest and GSI configuration are synchronized across replicas. Multi-Region strong consistency (MRSC), in preview since December 2024 and Generally Available since June 30, 2025, adds an option for strongly consistent reads across all replicas in addition to the default eventually consistent multi-Region replication. An MRSC global table must be deployed in exactly three Regions (either three full replicas, or two replicas plus one witness Region), provides an RPO of zero, and does not support LSIs.
For how DynamoDB's consistency model compares with that of relational and document-oriented databases on AWS, see Comparison of AWS Databases using the Quorum Model.

Transactions

DynamoDB Transactions, launched in November 2018, expose two APIs:
  • TransactWriteItems — Up to 100 actions (PutItem, UpdateItem, DeleteItem, ConditionCheck) across one or more tables in a single AWS account and Region, applied atomically.
  • TransactGetItems — Up to 100 GetItem actions across one or more tables, returning a consistent snapshot.
Transactional writes consume 2x the WCUs that the equivalent non-transactional writes would consume (one for the prepare and one for the commit phase), and transactional reads consume 2x the RCUs of strongly consistent reads. The per-transaction action limit was raised from 10 to 25 in 2020 and to 100 in September 2022.

For access-pattern-driven schema design that exploits transactions to maintain referential integrity across items, see Amazon DynamoDB Single Table Design Guide.

Amazon DynamoDB Accelerator (DAX)

DynamoDB Accelerator (DAX), GA in June 2017, is a fully managed read-through / write-through in-memory cache for DynamoDB. DAX is API-compatible with DynamoDB, so existing application code that uses the DynamoDB SDK can be pointed at a DAX cluster without rewriting query logic. DAX delivers microsecond response times for cache hits and is sized by node type (memory-optimized R-series instances for production, with T-series available for development and lower-throughput workloads) and cluster size.

DAX is appropriate when read amplification dominates (for example, recommendation services or per-item read-heavy workloads with strong locality) and microsecond-level latency is required. For applications where eventual cache consistency is acceptable and the workload pattern is well understood, DAX can dramatically reduce per-read cost on DynamoDB.

PartiQL for DynamoDB

PartiQL support for DynamoDB, launched in November 2020, lets applications and operators issue SQL-compatible statements (SELECT, INSERT, UPDATE, DELETE) against DynamoDB tables. PartiQL operations honor the same capacity model (RCUs / WCUs) and IAM authorization as the native DynamoDB APIs, and can be used from the AWS Management Console, AWS CLI, AWS SDKs, and NoSQL Workbench.

PartiQL is most useful for ad-hoc operational queries, for code paths that are easier to express in SQL than in expression-attribute syntax, and for engineers who are more familiar with SQL than with DynamoDB's native API surface.

Export, Import, and Zero-ETL Integrations

DynamoDB integrates with the broader AWS data and analytics stack through a family of capabilities:
  • Export to Amazon S3 (November 2020) — Exports a table snapshot (or a PITR-based point-in-time snapshot) to Amazon S3 in DynamoDB JSON or Amazon Ion format without consuming the table's read capacity.
  • Import from Amazon S3 (August 2022) — Bulk-loads data in CSV, DynamoDB JSON, or Amazon Ion from an S3 bucket into a new DynamoDB table without consuming write capacity.
  • Zero-ETL integration with Amazon OpenSearch Service (November 2023) — Uses Amazon OpenSearch Ingestion to replicate table data into an OpenSearch domain or serverless collection in near real time for full-text, geospatial, and semantic search.
  • Zero-ETL integration with Amazon Redshift (GA in October 2024) — Replicates table data into Amazon Redshift for SQL-based analytics on operational data without managing ETL pipelines.
  • Zero-ETL integration with Amazon SageMaker Lakehouse (December 2024) — Replicates table data into the SageMaker Lakehouse for downstream ML workflows.
Together, these capabilities turn DynamoDB into the operational source-of-truth that feeds search, analytics, and ML systems without bespoke ETL.

Security: IAM, Resource-Based Policies, ABAC, Encryption, and Networking

DynamoDB security spans identity, resources, encryption, and networking:
  • Identity-based IAM policies — The default access control mechanism, attaching permissions to IAM users, roles, or groups.
  • Resource-based policies (March 2024) — Policies can be attached to a DynamoDB table or index resource directly, simplifying cross-account access without role assumption.
  • Attribute-based access control (ABAC) (GA in November 2024) — IAM session tags and resource tags can be combined in IAM policy conditions to authorize at scale by attribute rather than by enumerated resource ARN.
  • Encryption at rest (February 2018, made always-on for new tables thereafter) — Server-side encryption uses AES-256 with an AWS owned key, an AWS managed key, or a customer-managed key in AWS KMS, protecting table data, LSIs, and GSIs.
  • Gateway and Interface VPC endpoints — Gateway VPC endpoints have been available since August 2017; interface VPC endpoints powered by AWS PrivateLink were announced in March 2024, broadening hybrid- and private-network connectivity. FIPS 140-3 compliant interface VPC and Streams endpoints (December 2024) extend DynamoDB's reach into regulated workloads.
  • Audit and compliance — Every DynamoDB API call is recorded in AWS CloudTrail, including data-plane events when CloudTrail data events are enabled for DynamoDB.
These controls together let DynamoDB serve workloads ranging from public consumer applications to regulated enterprise systems.

Frequently Asked Questions (FAQ)

When did Amazon DynamoDB launch?

Amazon DynamoDB was announced as Generally Available on January 18, 2012 by Jeff Barr and Werner Vogels, as a fully managed NoSQL database service offering single-digit millisecond performance at any scale. (Reference: AWS Announces DynamoDB.)

When did DynamoDB introduce Local Secondary Indexes (LSI) and Global Secondary Indexes (GSI)?

Local Secondary Indexes (LSI) were introduced in April 2013, and Global Secondary Indexes (GSI) followed in December 2013. LSI uses the same partition key as the base table with a different sort key and must be defined at table creation. GSI has an independent partition key and sort key, has its own provisioned throughput, and can be added or removed on an existing table. (Reference: Taking DynamoDB beyond Key-Value.)

When did DynamoDB Streams launch?

DynamoDB Streams was announced as a sneak preview on November 10, 2014 (Sneak Preview - DynamoDB Streams) and became Generally Available on July 16, 2015 together with DynamoDB Triggers (the AWS Lambda integration) and Cross-Region Replication. Streams captures a time-ordered sequence of item-level modifications with up to 24-hour retention. (Reference: Amazon DynamoDB: Available now - Cross-region Replication, Triggers, and Streams.)

When did DynamoDB add Point-in-Time Recovery (PITR)?

Point-in-Time Recovery (PITR) was launched on March 26, 2018. Once enabled, PITR continuously backs up the table at per-second granularity for the preceding 35 days and lets you restore as a new table at any point in that window. (Reference: DynamoDB Adds Support for Continuous Backups and PITR.)

When did DynamoDB launch On-Demand capacity mode?

On-Demand capacity mode was announced on November 28, 2018. On-Demand bills reads and writes per request, supports all DynamoDB features (including PITR, Global Tables, and encryption at rest), and instantly scales up to a table's previously reached peak; capacity modes can be switched in place. (Reference: Announcing Amazon DynamoDB On-Demand.)

When did DynamoDB Global Tables (v1 → v2) launch?

Global Tables version 2017.11.29 (Legacy / V1) launched on November 29, 2017, and Global Tables version 2019.11.21 (Current / V2) launched on November 21, 2019. V2 lets you add or remove replicas to an existing populated table, reduces write capacity consumption, emits a single Streams record per replicated write, and synchronizes encryption and GSI settings across replicas; AWS recommends V2 for new global tables. Multi-Region strong consistency (MRSC) entered preview in December 2024 and became Generally Available on June 30, 2025, providing a zero-RPO option for global tables deployed across exactly three Regions (three full replicas, or two replicas plus one witness Region). (References: DynamoDB global tables versions, MRSC for DynamoDB global tables now GA.)

When did DynamoDB add the Standard-Infrequent Access (Standard-IA) table class?

The DynamoDB Standard-Infrequent Access (Standard-IA) table class was launched on December 1, 2021. Standard-IA offers lower per-GB storage cost than the Standard class in exchange for higher per-request cost, making it cost-optimal for tables dominated by storage; the table class can be switched in place between Standard and Standard-IA up to twice per 30 days. (Reference: Amazon DynamoDB Standard-Infrequent Access table class.)

When did DynamoDB introduce Transactions / TransactWriteItems / TransactGetItems?

Amazon DynamoDB Transactions were announced at AWS re:Invent on November 27, 2018. The TransactWriteItems and TransactGetItems APIs provide ACID semantics across one or more tables within a single AWS account and Region. The per-transaction action limit was 10 at launch, was raised to 25, and was raised again to 100 in September 2022. (Reference: New - Amazon DynamoDB Transactions.)

When did DynamoDB Zero-ETL integrations with Amazon OpenSearch, Redshift, and SageMaker Lakehouse launch?

The Zero-ETL integration between Amazon DynamoDB and Amazon OpenSearch Service was announced on November 28, 2023, using Amazon OpenSearch Ingestion to replicate table data in near real time. The Zero-ETL integration between Amazon DynamoDB and Amazon Redshift became Generally Available on October 15, 2024. The Zero-ETL integration with Amazon SageMaker Lakehouse was announced on December 3, 2024. (References: DynamoDB Zero-ETL with OpenSearch Service, DynamoDB Zero-ETL with Redshift.)

References:
Tech Blog with curated related content
Amazon DynamoDB Single Table Design Guide
Amazon DynamoDB Key Design - GSI / LSI Dictionary
Comparison of AWS Databases using the Quorum Model
AWS History and Timeline regarding Amazon S3
AWS History and Timeline regarding AWS Lambda
AWS Documentation (Amazon DynamoDB)
What's New with AWS? (Amazon DynamoDB)

Summary

In this article, I created a historical timeline of Amazon DynamoDB and looked at the list of features and overview of Amazon DynamoDB.

Amazon DynamoDB, a fully managed NoSQL database service, was announced as Generally Available on January 18, 2012, and has since expanded with secondary indexes, change data capture, multi-Region replication, on-demand capacity, transactions, infrequent-access table classes, and Zero-ETL integrations with the broader AWS analytics and AI stack.
More than 14 years after GA, Amazon DynamoDB continues to provide the foundational NoSQL storage tier behind serverless backends, real-time applications, and operational analytics, while steadily extending its security, replication, and integration surface.

I would like to continue monitoring the trends of what kind of features Amazon DynamoDB will provide in the future.

In addition, there is also a historical timeline of all AWS services including services other than Amazon DynamoDB, so please have a look if you are interested.

AWS History and Timeline - Almost All AWS Services List, Announcements, General Availability(GA)


Written by Hidekazu Konishi