About Dynamodb

(this post if part of the material I cover in my devops course)

DynamoDB NoSQL Database

About DynamoDB

  • DynamoDB is a fully managed NoSQL database service
  • It is a "serverless" service, so no need to provision servers.
  • It provides fast and predictable performance with seamless scalability.
  • DynamoDB automatically spreads the data and traffic for your tables over a sufficient number of servers to handle your throughput and storage requirements, while maintaining consistent and fast performance.
  • All of your data is stored on solid-state disks (SSDs) and is automatically replicated across multiple Availability Zones in an AWS Region, providing built-in high availability and data durability
  • By being managed, DynamoDB takes care of: operating and scaling a distributed database, disyributed hardware provisioning, setup and configuration, replication, software patching, cluster scaling.

DynamoDB Features

  • Backup:
  • delete expired items from tables automatically ( time to live)
  • DynamoDB encryption at rest
  • No size limit for tables, no limit for (horizontal) scalability (see here)
  • global tables
  • Amazon DynamoDB does not have versions (major, minor, or patch)
  • There are no maintenance windows, and Amazon DynamoDB provides zero downtime maintenance
  • Amazon DynamoDB is built for mission-critical workloads, including support for atomicity, consistency, isolation, and durability (ACID) transactions for applications that require complex business logic
  • DynamoDB streams
  • You can have seconday indexes for your table itemss
  • With Amazon DynamoDB, there are no username or passwords.
    • Amazon DynamoDB uses IAM to authenticate, create, and access resources.
    • You can specify IAM policies, resource-based policies, and conditions that allow fine-grained access, restricting read or write access down to specific items and attributes in a table, based on the identity of that user.
  • You can use VPC endpoints to access DynamoDB privately, without going through the Internet.
  • Capacity modes: On-demand capacity mode, and provisioned capacity mode
  • There is a tandard Infrequent Access (Standard-IA) table class
  • the free tier for DynamoDB provides 25GB of storage, along with 25 provisioned Write and 25 provisioned Read Capacity Units (WCU, RCU) which is enough to handle 200M requests per month.