Understanding Amazon DynamoDB

Arumuga Gomathi R
3 min readFeb 21, 2024

--

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

  1. Key value — Serves as unique identifier which is highly partitionable Example: Amazon Dynamo DB
  2. 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
  3. Graph — To store and navigate relationships. Usecases : Social network recommendation engine. Example: Amazon Neptune
  4. 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
  5. 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!!

--

--