Amazon Dynamo DB
Following are the characteristics of the Dynamo DB:
- It Simplifies hardware provisioning, Setup, configuration, replication and cluster scaling of NoSQL database.
- It is fully managed NoSQL database which is fast and provides low latency performance
- It automatically distributes data and traffic for a table over multiple partitions
- It also automatically add enough infrastructure capacity to support requested throughput levels and it adds or removes infrastructure and adjust the internal partition accordingly.
- To provide fast performance, all table data is stored on high performance SSD disk drivers.
- Dynamo DB performance, transaction rates, and its overall throughput can be monitored by Amazon Cloud Watch.
- It also provide automatic high availability and durability by replicating data across multiple zones with in AWS regions.
There are three data models which includes tables, items, and attributes. Below figure shows the appropriate relation between them.
Each item also has primary key that uniquely identifies the item.
Amazon Dynamo DB only requires that a table have a primary key, but it does not require you to define all of the attribute names and data types in advance. Individual items in an Amazon Dynamo DB table can have any number of attributes, although there is a limit of 400KB on the item size.
Each attribute in an item is a name/value pair. An attribute can be a single-valued or multi-valued set. For example, a book item can have title and authors attributes. Each book has one title but can have many authors. The multi-valued attribute is a set; duplicate values are not allowed. Data is stored in Amazon Dynamo DB in key/value pairs such as the following:
Applications can connect to the Amazon Dynamo DB service endpoint and submit requests over HTTP/S to read and write items to a table or even to create and delete tables. DynamoDB provides a web service API that accepts requests in JSON format.
Amazon DynamoDB supports large number of data types. Which are discussed below.
Scalar Data Types
A scalar type represents exactly one value. Amazon DynamoDB supports the following five scalar types:
- String Text and variable length characters up to 400KB. Supports Unicode with UTF8 encoding
- Number Positive or negative number with up to 38 digits of precision
- Binary Binary data, images, compressed objects up to 400KB in size
- Boolean Binary flag representing a true or false value
- Null Represents a blank, empty, or unknown state. String, Number, Binary, Boolean cannot be empty.