DynamoDB is a fully managed distributed NoSQL database service from Amazon and as per Amazon, it can scale without limits.
DynamoDB is the most popular NoSQL cloud database according to Forrester, as of Jan 2017.
DynamoDB automatically partitions and re-partitions your data as your table size grows.
DynamoDB synchronously replicates data across three facilities in an AWS Region, for high availability, and unlike many NoSQL databases, even allows you to specify the read consistency for reads across these facilities. Default however is eventual consistency.
DynamodB supports both the document store and key value store models: Each row (item) is a key-value pair where the primary key is the only required attribute for items in a table and uniquely identifies each item (record).
DynamoDB supports storing, querying, and updating documents.
Using the AWS SDK you can store JSON documents directly into DynamoDB tables, and can perform powerful database operations like nested JSON queries.
Feature Highlights
-
Data is stored on SSD storage.
-
DynamoDB is schema-less. Each item can have any number of attributes (columns).
-
There is virtually no limit on how much throughput or storage that you can use.
-
Support fast in-place atomic updates. DynamoDB natively supports Atomic Counters.
-
Support conditional operations for a put, update, or delete operation. Conditional expression can combine multiple conditional clauses, including nested clauses.
-
Conditional operations allow users to implement optimistic concurrency control systems on DynamoDB.
-
-
The Management Console for DynamoDB allows you to create, update, delete and query tables, adjust throughput, and set alarms with just a few clicks.
-
We can easily track resource consumption of DynamoDB tables through AWS Management Console and CloudWatch.
-
Supports cross-region replication.
-
DynamoDB Streams captures a time-ordered sequence of item-level modifications in any DynamoDB table, and stores this information in a log for up to 24 hours.
DynamoDB Local Development & Testing
There is a downloadable version of DynamoDB (See References), which makes it easy to develop and test applications on laptop or in an EC2 instance.
DynamoDB Limitations (vs. Other DB Services)
-
DynamoDB does not support complex relational queries (e.g. joins) or complex transactions. If you have such a use case, try using a relational DB from RDS.
-
If you have a use case that involves storing a large amount of data that you rarely access, then DynamoDB may not be right for you. AWS recommend that you use S3 for such use cases.
-
In general, large objects or infrequently accessed data sets should be stored in S3, while smaller data elements or file pointers (possibly to S3 objects) are best saved in DynamoDB.
-
-
You cannot select Availability Zone for your DynamoDB Table. It is a fully managed DB.
- heartin's blog
- Log in or register to post comments
Recent comments