DynamoDB is a hosted NoSQL database offered by Amazon Web Services (AWS). It follows key-value and document database approach that delivers single-digit millisecond performance at any scale.
What is DynamoDB?
DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. It’s a fully managed cloud database and supports both document and key-value store models.
The dynamodb API provides two ways to query: scan or getItem(id).
- Scan – A non-blocking operation where you can specify the primary key attributes along with other filter criteria in order to retrieve multiple items from DynamoDB. This gives developers the ability to build scalable data processing pipelines on Amazon DynamoDB without having to worry about managing heavy compute infrastructure like MapReduce jobs etc.
- GetItem – This is the blocking operation that provides an item by ID and also deletes it from DynamoDB when retrieved, thus ensuring its safety.
Advantages and Disadvantages of DynamoDB
DynamoDB offers unmatched performance, scalability and reliability for your NoSQL needs. Additionally, it can be used as either key-value or document store based on the customer’s convenience. It also allows developers to manage heavy compute infrastructure such as MapReduce jobs without worries about managing databases themselves due to its comprehensive built-in data management features which includes replication across multiple facilities with no single point of failure. A part of the AWS cloud services, DynamoDB also offers security and privacy of data at all levels.
- Efficient – Unparalleled performance and high availability with a 99.99% durability SLA.
- Scalable – Supports IoT, mobile backends, web services, legacy systems or any other architecture you might need to build your application on top of DynamoDB. You can scale up from terabytes to petabytes in seconds without downtime or interruption while using just the right amount of compute power for your workloads.
- Flexible – Allows developers to use either document store or key-value store model as per their convenience.
- Highly Available – Uses strongly consistent replication across multiple facilities with no single point of failure.
- Enterprise-grade – Built with a high level of security, both during deployment and in use.
- Mature – DynamoDB is fully managed service with an exhaustive set of features that you would find on any modern database system like SQL etc…
DynamoDB offers a powerful set of features that may be too much for someone who is not proficient with databases in general or needs only basic key-value storage capabilities.
It also requires an additional setup cost as well as charges if used beyond certain usage limits on your account which can make it more expensive than other NoSQL solutions like MongoDB.
Tutorials and Courses
- Getting Started – This section provided by Amazon to guide user through creating the first table using the DynamoDB console, querying and managing DynamoDB tables using Python, modeling a DynamoDB database for gaming applications, designing a database for a mobile app with Amazon DynamoDB, and building a modern web app with AWS Fargate, AWS Lambda, and DynamoDB.
- AWS DynamoDB – From Beginner to Pro – This 19 hour deep-dive course will give you an expert-level understanding of Amazon DynamoDB. Beginner user is guided from little to no Database experience, through to a deep-dive or advanced level of knowledge. Advanced users benefits starting form the 2nd half of this course which delivers knowledge via deep-dive theory lessons and complex labs.
- AWS DynamoDB – The Complete Guide (Build 18+ Hands On Demos) – This course will help you master DynamoDB from the ground up, covering everything from basic to advanced DynamoDB with Hands On, and integrate DynamoDB with web apps and mobile apps.