DynamoDB is a managed NoSQL database service provided by Amazon. To use DynamoDB, you have to pay for throughput only—that is, read/write operations per second; you don't have to worry about storage, server, or other infrastructure-related issues. All infrastructure is managed by Amazon.
The following are some key features provided by DynamoDB:
- DynamoDB spreads data and request traffic to multiple servers to provide better throughput and storage.
- Data is stored on a solid state drive (SSD) and is replicated over multiple availability zones to provide high availability and fault tolerance.
- It provides data backup using S3 storage.
- It allows you to decide the expiry time of items by allowing you to set a time-to-live parameter. The item will be deleted after this time expires, which makes storage management more efficient.
- We only have to pay for throughput, which makes DynamoDB cost effective.
- It allows you to integrate with other Amazon services, such as the Identity and Access Management (IAM) service, which secures our DynamoDB database.
DynamoDB supports a wide range of data types, including string, number, binary, and set, and document types, such as list and map. It also provides data types to deal with the date and calendar.
The core components of DynamoDB are the tables, items, and attributes. The table is the same as the table in a relational database. The item represents each record in a table, which contains multiple attributes. Each attribute is a key-value pair.
Each table must have a primary key attribute that identifies each item in the table uniquely. DynamoDB tables are schemaless. Attributes can vary from item to item.