Q: What is Amazon DynamoDB?
DynamoDB is a fast and flexible nonrelational database service for any scale. DynamoDB enables customers to offload the administrative burdens of operating and scaling distributed databases to AWS so that they don’t have to worry about hardware provisioning, setup and configuration, throughput capacity planning, replication, software patching, or cluster scaling.
Q: What does DynamoDB manage on my behalf?
DynamoDB takes away one of the main stumbling blocks of scaling databases: the management of database software and the provisioning of the hardware needed to run it. You can deploy a nonrelational database in a matter of minutes. DynamoDB automatically scales throughput capacity to meet workload demands, and partitions and repartitions your data as your table size grows. Also, DynamoDB synchronously replicates data across three facilities in an AWS Region, giving you high availability and data durability.
Overview of DynamoDB – the Scalability, the Security, and the Availability of the service
- It is a non-relational #NoSQL Database, which can be used as Key-Value data or Document-Store data strategy for your serverless service implementation.
- It will be automatically saved in 3 (three) copies in the different facilities to create the High Availability strategy for the service, and the data is saved to high speed SSD! to create a high performance strategy. It can be configured to replicate the data to another region too to add more highly available strategy if you want to.
- The database is designed to be scalable without limits!
- It has complete security protection, from isolated network access, complete logs, monitor and alert system, fine grained access, and data encryption with key management system.
Ref Image: https://www.jerryhargrove.com/wp-content/uploads/2018/03/amazon-dynamodb-notes.jpg
Q: Can DynamoDB be used by applications running on any operating system?
Yes. DynamoDB is a fully managed cloud service that you access via API. Applications running on any operating system (such as Linux, Windows, iOS, Android, Solaris, AIX, and HP-UX) can use DynamoDB. We recommend using the AWS SDKs to get started with DynamoDB.
Q: How am I charged for my use of DynamoDB?
Each DynamoDB table has provisioned read-throughput and write-throughput associated with it. You are billed by the hour for that throughput capacity if you exceed the free tier. Note that you are charged by the hour for the throughput capacity, whether or not you are sending requests to your table. If you would like to change your table’s provisioned throughput capacity, you can do so using the AWS Management Console, the UpdateTable API, or the PutScalingPolicy API for auto scaling. Also, DynamoDB charges for data storage as well as the standard internet data transfer fees.
To learn more about DynamoDB pricing, see the DynamoDB pricing page.
Please notes that DynamoDB has a lot of Free Tier capabilities in it, if you are a SME business then most probably you will not exceed the Free Tier services. I will say… with all the capabilities and reliabilities… it’s CRAZY!
Free Tier Services, include:
– 25 GB PER MONTH of data storage (indexed)
– 200 MILLION REQUESTS PER MONTH through 25 write capacity units and 25 read capacity units
– 2.5 MILLION STREAM REQUESTS PER MONTH from DynamoDB Streams
– ABILITY TO DEPLOY DYNAMODB GLOBAL TABLES in up to two AWS Regions
You pay for only the resources you provision beyond these free tier limits. The DynamoDB free tier applies to all tables in a region and does not expire at the end of your 12-month AWS Free Tier.
Q: What is the maximum throughput I can provision for a single DynamoDB table?
DynamoDB is designed to scale without limits. However, if you want to exceed throughput rates of 10,000 write capacity units or 10,000 read capacity units for an individual table, you must first contact Amazon. If you want to provision more than 20,000 write capacity units or 20,000 read capacity units from a single subscriber account, you must first contact us to request a limit increase.
Q: What is the minimum throughput I can provision for a single DynamoDB table?
The smallest provisioned throughput you can request is 1 write capacity unit and 1 read capacity unit for both auto scaling and manual throughput provisioning. Such provisioning falls within the free tier which allows for 25 units of write capacity and 25 units of read capacity. The free tier applies at the account level, not the table level. In other words, if you add up the provisioned capacity of all your tables, and if the total capacity is no more than 25 units of write capacity and 25 units of read capacity, your provisioned capacity would fall into the free tier.
It’s all about SCALABILITY, SECURITY, and AVAILABILITY for your most important service! (which is your database)