Skip to main content

Amazon DynamoDB global tables

What is global tables?

Amazon DynamoDB global tables is a fully managed, serverless, multi-Region, and multi-active database. Global tables provide you 99.999% availability, increased application resiliency, and improved business continuity. As global tables replicate your tables automatically across your choice of AWS Regions, you can achieve fast, local read and write performance.

If your application processing is interrupted in one Region, there is no need for a database failover, as global tables’ multi-active architecture allows customers to read and write to any replica table. Global tables also remove the difficult work of replicating data between Regions and resolving update conflicts for multi-Region workloads.

Global tables supports both strong and eventual modes for multi-Region consistency. Multi-Region strong consistency gives you the highest level of application resilience, and enables customers’ applications to be always available and always read the latest data from any Region. You can now build applications with a recovery point objective of zero.

Getting started with global tables is easy, as it uses the same DynamoDB APIs as single-Region tables. There are no upfront costs or commitments to use global tables, and you pay only for the resources you use. You can configure global tables in the AWS Management Console with the AWS Command Line Interface (AWS CLI) or with AWS CloudFormation, and you can learn more in the Amazon DynamoDB Developer Guide. As global tables replicate your tables automatically across your choice of AWS Regions, you can achieve fast, local read and write performance.

How it works

A DynamoDB global table is comprised of multiple replica tables. Each replica table exists in a different Region, but all replicas have the same name and primary key. When data is written to any replica table, DynamoDB automatically replicates that data to all other replica tables in the global table.

For example, suppose that your application serves a large customer base spread across three geographic areas—the US East Coast, Canada, and Western Europe. Without global tables, you would need to create a table in each AWS Region and write code to replicate data changes across each table in each Region.

With global tables, you can create a global table with a replica table in the three Regions closest to each geographic area. DynamoDB will automatically replicate changes from any replica to the replicas in the other Regions.

Global tables allows users of your application to have low-latency access to the data no matter where they are located. If your application processing is interrupted in one Region, your customers can still access the replica tables in the other Regions.

While creating a global table, you can choose either strong consistency or eventual consistency. A global table configured for multi-Region strong consistency provides the ability to perform a strongly consistent read across multiple Regions. The default setting is multi-Region eventual consistency.

Missing alt text value

Benefits of global tables

Global tables is designed for 99.999% availability. If a single Region becomes isolated or degraded, your application can shift traffic to a different Region and perform reads and writes against a different replica table. You can apply custom business logic to determine when to redirect requests to other Regions. In addition, with multi-Region strong consistency mode, your application will always read the latest data from any Region.

Global tables eliminate the complexity and operational burden of deploying and managing multi-active, multi-Region replication in DynamoDB. You can select the Regions where you need your data replicated and DynamoDB handles the rest. You can choose either eventual consistency or strong consistency for replication between table replicas across Regions. With multi-Region strong consistency, you never have to think about data consistency or data recovery during failover operation. Applications access global tables by using existing DynamoDB APIs and endpoints.

Global tables is now configurable for both strong consistency and eventual consistency. Strong consistency guarantees that strongly consistent reads will reflect the most recent write, while eventual consistency will have a short period before all replicas reflect the latest update in exchange for lower- latency local reads and writes.

In multi-Region strong consistency mode, DynamoDB ensures a successfully acknowledged write to any replica in any Region is immediately available for reads from any other replica. If a write operation were to modify an item that is already being modified in another Region, that write operation would fail with a retryable exception.

In multi-Region eventual consistency mode, DynamoDB replicates a write to any replica in any Region to all other replicas, usually within one to two seconds. If the same item is modified in multiple Regions, DynamoDB will resolve the conflict by using a last-writer-wins resolution method.

Global tables enable you to read and write your data locally, providing single-digit millisecond latency for your globally distributed application at any scale. This can boost the performance for massively scaled global applications.

Page topics

General

Open all
A global table is a collection of one or more replica tables, all owned by a single AWS account. A single Amazon DynamoDB global table can only have one replica table per AWS Region.
A replica table is a single DynamoDB table. Each replica table stores the same set of data items, has the same table name, and the same primary key schema. When an application writes data to a replica table in one Region, Amazon DynamoDB automatically replicates the writes to other replica tables in the other AWS Regions.
Yes, Amazon Dynamo global tables bolsters business continuity as it increases an application’s resiliency and provides strong consistency for a single Region. With multi-Region strong consistency, you can build applications with zero RPO and the highest levels of resiliency.
You can create a global table using Amazon DynamoDB console, AWS CLI, or AWS CloudFormation with this step-by-step guide.
Prior to adding an additional replica in a different region to an Amazon DynamoDB global tables, the table must have DynamoDB Streams enabled, have the same name as all other replicas, have the same partition key as all other replicas, and have the same write capacity settings specified.
All replica tables in an Amazon DynamoDB global table must have the same name.
Similar to other databases, Amazon DynamoDB stores data in tables. A table is a collection of items, and each item is a collection of attributes. Amazon DynamoDB uses primary keys to uniquely identify each item in a table and has secondary indexes to provide more querying flexibility.
Yes, you can enable point-in-time recovery on each replica of a global table.

Customers

Missing alt text value

Zoom

"When the COVID-19 pandemic began, there was an enormous demand for our voice and video services. In early 2020, we saw unprecedented usage grow from 10M to 300M Daily Meeting Participants from new and existing customers that needed to connect virtually. On the backend, we were able to manage this surge with Amazon DynamoDB for Zoom Meetings. Using DynamoDB global tables in conjunction with on-demand mode enabled us to scale nearly infinitely with no performance issues, even with our sudden spike in usage. "

Yasin Mohammed, Engineering Manager, Cloud Operations at Zoom Video Communications, Inc.

Missing alt text value

Disney

Disney+ uses Amazon DynamoDB to ingest content, metadata, and billions of customer actions each day, which enables viewers to add content to their Watch Lists, start watching a video and pick it up on a different device, and get recommendations for what to watch next. 

"Billions of bookmarks ingested a day over Amazon Kinesis and into Amazon DynamoDB."

 Attilio Giue, Director of Content Discovery, Disney+

Missing alt text value

Snap Inc.

Snap Inc. saved significantly on annual infrastructure costs and enabled a fast, reliable infrastructure for multimedia messaging app Snapchat by using Amazon DynamoDB. 

"The capabilities Amazon DynamoDB offers and the continued innovation within it give us confidence that we can continue relying on it and innovating on top of it. '

Saral Jain, Director of Engineering and Head of Infrastructure, Snap Inc.