NoSQL Amazon DynamoDB - Features and Benefits
DynamoDb provides us many benefits, consistency, availability, and partition tolerance. It provides facilities to easily store the graph data, which is not available to SQL.

Relational Database / SQL Database: A relational database is a collection of information that organizes data points with predefined relationships for easy access.
Example: MySQL, Microsoft SQL, Amazon Aurora, PostgreSQL, etc.
Non-Relational Database / NoSQL: Non-relational database either does not have a predefined data model or is not organized in a predefined format.
Example: MongoDB, Amazon DynamoDB, Cassandra, etc.
Amazon DynamoDB is part of AWS and is a fully managed, multi-region, Multimaster, durable database service with built-in security, backup and restore, and in-memory caching for internet-scale applications.
Why is the NoSQL database preferred than SQL database?
The ability of NoSQL databases to scale horizontally has to do with the lack of structure of the data. Because NoSQL databases require less structure than SQL, each object stored is pretty much self-contained and independent. Thus objects can be easily stored on multiple servers without having to be linked or without a structured mechanism to link data from different tables to one another.
AWS offers DynamoDB as a NoSQL server
Amazon DynamoDB table is a collection of data items that deliver single-digit millisecond performance at any scale and like all other DB, it stores data in tables.
- Each table contains multiple items.
- An item is a group of attributes that is uniquely identified among all of the other items.
- Each item contains one or more attributes.
- An attribute consists of the attribute's name, value or set of values.
Features:
- It allows low latency read, write access to items up to 400kb.
- It also stores a data index by a primary key or unique identifier key.
- It can be used to store pointers to S3 stored objects or items larger than 400kb if needed
- DynamoDB tables are schemaless.
Benefits:
- Scalability: It supports some of the world’s largest scale applications by providing consistent, single-digit millisecond response times at any scale. Using these developers can combine incremental scalability and high performance with the ease of cloud administration.
- Serverless: It allows serverless with no servers to provision or manage and no software to install, maintain, or operate. Automatically scales up tables and scale down to adjust for capacity and maintain performance.
- Time to Live: It is a process that gives you an opportunity to set a specific timestamp to delete expired data from your tables. By using this you don’t need to track expired data and delete it manually. It can help you reduce storage usage and reduce the cost of storing data that is no longer important.
- Cross-Region Replication: It enables you to maintain identical copies as replicas of a DynamoDB master table in one or more AWS regions.
- Data Model: DynamoDB uses three essential data model units - Tables, Items, and Attributes. Tables are collections of Items, Items are collections of Attributes and Attributes are basic elements of information, such as key-value pairs. An item in DynamoDB requires a Primary Key. If you want to find the exact data on the table then the Primary Key must be unique.