Dynamo DB, a NoSQL database service that supports key-value/field value and documented oriented data structure, was developed by Amazon. Com and was initially released in January 2012, 9 years ago.
It is a licensed, proprietary data service, which has a multi-leader design.
It is different from any other service provided by Amazon. Com. This service allows the developer to purchase services from throughput rather than storage. It offers integration with Hadoop, open software that facilitates the network of many computers to solve problems.
It is known for its latencies and scalability. It makes storing and retiring data easy, simple, and cost-effective.
A user stores data in Dynamo DB tables and for not wasting their time on any services like getting and PUT queries. All the stored data in solid-state drives, which efficiently handle high-scale requests and provides high I/O performance.
It supports CRUD and conditional operations.
It replicates across three zones with high availability, durability, and scalability. When a consumer/user Chooses cross-region replication, it creates a backup copy in many global locations.
It provides two consistency options for reading data of Dynamo DB.
1- Eventual consistent reads – Used to maximize the read throughput in simple words.
2- A consistent reads- It is the response that returns fully up to dated data.
It does not have any limits on data storage per user nor a maximum throughput per table.
Dynamo DB targets those users who were the core center of Amazon’s e-commerce operations.
Here are some silent features
- Dynamo DB Scalability: The web-based applications of cloud platform, which offer encounter challenges related to users traffics and data, to offer a traffic-free, scalable database, dynamo DB was released by the Amazon Web platform which can Manage the fast performance of NoSQL database service.
Developers can develop scalable cloud-based applications by using AWS Dynamo DB to increase the request capacity of specific tables. With the help of Dynamo, DB developers can also receive data retrieval in single-digit milliseconds. It is an automatic replication service, which replicates simultaneously across various AWS Availability Zones. Users need not work on how to manage high availability and data durability.
- Data Partition and Replication: Datastores data in a partition. Data Partition is a technique of distributing data across multiple tables. Partition is the allotment for the storage of tables in solid-state drives.
Partitioning happens when a large table divides into multiple small parts. Dynamo DB manages these positions and is translucent to its users. Partitioning automatically replicates around various availability zones.
- Dynamo DB Pricing Mechanism: Developers can customize and compose their read and write units in a second, as the pricing for reading and writing unite schemed for the Unit per second. Dynamo DB provision is on the number of RCU (Read capacity unit) And WCU (Write capacity unit)
Dynamo DB data model and indexing: In dynamo DB, all the tables are a collection of items. Each item is a collection of attributes. In dynamo DB, each table has a primary key equal to one Attribute. Later every table is indexed by the primary key.
Earlier, at the time of creating the table, dynamo DB needed to make the index. Now the index alternate key is being introduced by the Global Secondary Index (GSI).
It also offers a hash-key mechanism. These keys convert the larger keys into a small one using the hash function to index a range of values.
- Dynamo DB APIs: JSON is used as a transport protocol and for storage Format by the Dynamo DB.
It provides a low-level Dynamo DB API to help the developers interacting with the database. It also helps in managing databases, tables, and Indexes.
It provides API actions to the developers for accessing and processing stream records. They are putting together to get an object from the database. Users can have an assessment of dynamo DB API by using the AWS management console.
Why Dynamo DB?
Let us see how it can play a good role when you are using a cloud platform.
- Fully managed NoSQL
- Access control
- Scales to any workload
- Documented or key-value
- Fast and consistent
- Even driven programming
NoSQL or non-sol is an approachable database design that sanctions the storage and queuing of data. They excel at scaling and provides high-performance quarries. It is done via the dynamo DB Partitioning Process.
You can meet the traffic whose demand is unsuitable for a rational database by re-engineering the structure into a NoSQL pattern. NoSQL is better when the system optimizes for maximum possible performance.
If you are designing a new application, use NoSQL design patterns to meet the most used cases. You have to be careful and plan accordingly to secure the required key and index at their place.
OLTP = Online Transaction Processing (usage patterns known in advance)
OLTP is a data processing that executes transaction-focused. It is for financial transactions, retail sales, order entry, and CRM.
OLAP = Online Analytical Processing (ad-hoc unpredictable queries).
It is used for complex queries to analyze aggregated historical data from OLTP systems. OLAP encompasses relational databases, report writing, and data mining.
The Fine-Grained Access Control (FGAC) by AWS Dynamo DB provides to administers and protect the table’s data. FGAC manages credentials and permissions services. The developer of the table or admin can observe/ specify who accessed their items or attributes and which person is performing what performance.
The admin can view his table metrics of dynamo DB from AWS cloud watch.
Dynamo DB is a database for NoSQL high-performance applications. Its pricing fluctuates up and down as you deal with an unpredictable, highly demanding workload.
What impacts pricing?
- Provisioned Capacity- provision capacity can help you with the calculations. With this, you can find how many operations per second you need ahead of time to read/write. After you find it, set the autoscale to adjust your level of writing.
It helps you to be more careful while predicting to control your cost based on predictions.
Before buying this, calculate how your traffic fluctuates in a day and then decided the maximum traffic capacity you need.
- On-demand Capacity- With the on-demand Capacity, you can see the charges used while you use your application. No matter what you buy, the workload and resources will still fluctuate and scale accordingly.
This mode enables you to pay only for what you use, When you purchase this model, keep in mind that you only consider the total number of requests that are made for your application because pricing is dependent on the request number and throughput of your application.
How does it work?
Let us see the pricing of the services, which does not come under any capacity mode.
Dynamo DB charges per GB of disks space that a table consumes. The first 25 GB is free of cost, and prices start at $0.25 per month. The pay will be calculated at the end of the month and depend on the overall work done. All the workloads, RCU, WCU, are added at once in the last. AWS provides a handy calculator to the users, which helps in the estimation of the Dynamo DB.