DEV Community

Ajit Singh for This is Learning

Posted on • Originally published at ajitblogs.com

Databases in AWS - DynamoDB

DynamoDB is NoSql, key-value, document database that delivers to massive workloads. It is a distributed, fully managed, server less database that can scale to millions of requests per second and trillions of entries and 100's of TB in storage. Many of the world's fastest growing businesses such as Lyft, Airbnb, and Redfin as well as enterprises such as Samsung, Toyota, and Capital One depend on the scale and performance of DynamoDB to support their mission-critical workloads.

what is a key-value Database?

A key-value database is a type of nonrelational database that uses a simple key-value method to store data. A key-value database stores data as a collection of key-value pairs in which a key serves as a unique identifier. Both keys and values can be anything, ranging from simple objects to complex compound objects. Key-value databases are highly partitionable and allow horizontal scaling at scales that other types of databases cannot achieve. For example, Amazon DynamoDB allocates additional partitions to a table if an existing partition fills to capacity and more storage space is required.

Advantages of using Dynamo DB

  1. Scalability- It can scale to trillions of requests and 100's of TB of data without any intervention as it is a serverless database.

  2. High availability - data is highly available as everything is replicated across 3 AZ.

  3. Low latency - It gives a single digit low latency in microseconds

  4. Pay as use- You only for the storage and network requests you fulfill

  5. IAM - Its fully integrated with IAM which provides you full control of each user for security authorization and administration.

  6. Automatic Backups - You can go to any point in the preceding 35 days with no downtime.

DynamoDB Accelerator (DAX)

Millisecond latency is too slow for some mission critical apps. If you want performance improvement you can use Dax which use caching to improve performance many times. It is a fully managed in memory cache service for Dyanamo DB.

Next we will do a hands on how to setup Dynamo DB

Discussion (0)