Understanding Amazon DynamoDB
Let’s explore one of the AWS Services that I learnt from AWS Cloud Quest-Cloud Practitioner. Summarized every notes here from the topic to revisit anytime as I was so interested and engaged till the end.
Consider a famous digital streaming platform in the market - It works with highly scalable Database. To add a digital bookmark to resume where they left, without a well defined schema they would use this service-DynamoDB. But why DynamoDB? Let's dive deep into it !!
DynamoDB
DynamoDB(No SQL Database) is a key value and document based Database service. It is a fully managed service with flexible schema, single digit millisecond latency at any scale, automatically scales based on business needs.
- DynamoDB table is a collection of data called items. Each item has some characteristic which we call attributes. Each item has a unique identifier / primary key.
- DynamoDB supports 2 primary keys
a) Partition key -enables partitions for scalability purpose
b) Sort key(optional)-provides additional flexibility for querying data
- DynamoDB uses primary key value as input to an internal hash function and output from hash function determines partition(physical storage interval to DY.DB in which items are stored)
- DynamoDB supports petabytes of data. It handles more than 10 trillion requests and supports 20 million requests per second.
- Tables of any size can scaled horizontally and Automated replication across regions.
- Encryption enhances security of the data using encryption keys stored in AWS Key management service.
- DynamoDB Accelerator(DAX)- Improves read performance by 10 times
Benefits
- Serverless(Pay for what u consume😊 meaning no upfront cost)
1)Provisioned capacity mode — User sets Read or write capacities
2) On- demand capacity mode — For less predictable workloads
- Point in time recovery — Protects dynamo DB table from accidental write or delete operations with the continued backup of dynamo DB table. Recover any time up to seconds without downtime
- On Demand backup and restore — Data’s(hundreds of terabytes)are fully backed up without impacting tables. Dynamo DB backed up by SLA(Service level agreement) for guaranteed availability. Archived data would help in meeting corporate & governmental requirements.
NO SQL Database
No SQL Database is a non relational Database without predefined schema(No structured tables with rows or columns). It is purpose built and optimized for many modern applications.
Used for Mobile, Web & gaming applications which require large data volume, high performance, low latency and flexible data models to provide great user experience.
Why use a NON SQL Database?
- Flexibility-Flexible schemas enable faster and more iterative development
- Scalability-No SQL Database are designed to scale out horizontally by using distributed clusters of hardware instead of scaling up by adding expensive and robust servers
- High performance-These databases are distributed and designed for massive parallel high performance data processing across multiple processing nodes and servers
- Highly Functional-Provides highly functional API’s and data types that are purpose built for respective data models
No SQL Database models
- Key value — Serves as unique identifier which is highly partitionable Example: Amazon Dynamo DB
- Document — To store or query data as a JSON like document making it easier for developers using same document as their application codes. Example: Amazon Dynamo DB, Dynamo DB with Mongo DB compatibility
- Graph — To store and navigate relationships. Usecases : Social network recommendation engine. Example: Amazon Neptune
- In-Memory — Relies on memory for data storage. Designed to attain minimal response time in eliminating need to access disks. Usecases :Gaming leaderboard, real-time analytics. Example :Amazon Elastic Cache
- Search — To search content of data and use indexes to categorize similar characteristics among data. Usecase : Text search, logging & analysis Example: Amazon Elastic Search(High performance search engine)
There is more about DynamoDB Service to explore in future. Thanks for reading!!