Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.
DynamoDB lets you offload the administrative burdens of operating and scaling a distributed database so that you don't have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling.
DynamoDB also offers encryption at rest, which eliminates the operational burden and complexity involved in protecting sensitive data.
With DynamoDB, you can create database tables that can store and retrieve any amount of data and serve any level of request traffic.
You can scale up or scale down your tables' throughput capacity without downtime or performance degradation.
Tables, Items, and Attributes
DynamoDB stores data in tables.
A table is a collection of data.
For example, a Cars table could be used to store information about vehicles that people drive.
Each table contains zero or more items.
An item is a group of attributes that is uniquely identifiable among all of the other items.
In DynamoDB, there is no limit to the number of items you can store in a table.
For a Cars table, each item represents one vehicle.
Each item is composed of one or more attributes.
An attribute is a fundamental data element, something that does not need to be broken down any further.
Attributes in DynamoDB are similar in many ways to fields or columns in other database systems.
For example, in the Cars table, attributes could be: Number of doors, Colour, Height, Width, etc.
When you create a table, in addition to the table name, you must specify the primary key of the table.
The primary key uniquely identifies each item in the table, so that no two items can have the same key.