Amazon DynamoDB High Availability — AWS DynamoDB HA Options
- DynamoDB designed internally to automatically partition data and incoming traffic across multiple partitions
- Partitions are stored on numerous backend servers distributed across three availability zones within a single region
- The amount and required availability can be increased using and configuring additional options.
- A DynamoDB partition is a dedicated area of SSD storage allocated to a table and which is automatically replicated synchronously across 3 availability zones within a particular region.
- DynamoDB takes care of performing both the partition management and replication for you
- Thy synchronous AZ replication provides protection against any single node outage and/or a full availability zone outage
- The synchronous replication takes place using low latency interconnects between each of the availability zones within a region and ensures high-speed sub-second replication
- Dialing up and down the provisioned throughput of a DynamoDB database is possible, and ensures that your DynamoDB database can meet the needs of your application as it grows
- DynamoDB provides a secondary layer of availability in the form of cross-region replication(Global Tables)
- A Global table gives you the capability to replicate a single table across 1 or many alternate regions
- A Global Table elevates the availability of your data and enables applications to take advantage of data locality
- Users can be served data directly from the closet geographically located table replica
- Global tables implement multi-master read/write capability with eventual consistency
- Both read and writes can be performed against any one of the configured global tables
- All writes will then be replicated in near sub-second to time to all other globally configured tables of the same table name
Existing DynamoDB tables can be converted into global tables either by using the relevant configuration options exposed within the AWS DynamoDB console or by using AWS CLI and execute the command.