dynobase-icon
Dynobase

What Is DynamoDB? Ultimate Introduction for Beginners

Rafal Wilinski

Written by Rafal Wilinski

Published on 2022-04-11

What is DynamoDB?

DynamoDB is a fast NoSQL Database developed and fully managed by Amazon Web Services (AWS). It's often referred to as a key-value store, but DynamoDB offers much more than that, including Streams, Global and Local Secondary Indexes, Multi-region and Multimaster replication with enterprise-grade security and in-memory caching for big scale.

Unlike traditional RDBMS databases, you don't have to provision a "database" or underlying machines. All you need to do is create a table and start writing and reading data from it. It's web-scale and production-ready right from the start.

DynamoDB is a perfect choice for Serverless applications because it follows the pay-what-you-use model and integrates perfectly with AWS Lambda and other services from AWS.

Table of Contents

Key facts

ModelKey-value Store, Document
Websiteaws.amazon.com/­dynamodb/
TypeNoSQL
Developed byAmazon
Initial Release DateJanuary 18, 2012
Cloud-basedYes, fully managed, no servers to provision or manage
Runnable locallyNo (technically yes, but only for test and dev purposes)
Open SourceNo
Data schemeSchema-less
SQL SupportGenerally no, possible via AWS Athena
APIYes, RESTful HTTP API
Supported LanguagesJavascript, Typescript, Java, C# (.Net), Go, Php, Python, Ruby, Perl, Haskell, Erlang
Stored ProceduresNo
TriggersYes, Streams
ConsistencyEventual
Mult-masterYes
Multi-regionYes
Transactions supportYes, ACID
BackupsYes, including point-in-time without downtime
MonitoringYes, with CloudWatch
Capacity modesProvisioned (with optional scaling), On-Demand
EncryptionYes, using KMS customer or AWS managed
ScalabilityYes, up to 10 trillion requests per day and 20M requests per second
CachingYes, possible using DynamoDB Accelerator (DAX)

Anatomy of DynamoDB

Data in DynamoDB is arranged into "Tables". Each Table consists of "Items". Each "Item" consists of "Attributes".

DynamoDB Updates & Feature Releases [2012 - Today]

DynamoDB Releases Chart

DateTitle
08 Apr 20Amazon DynamoDB global tables are now available in the AWS China (Beijing) Region, operated by Sinnet, and the AWS China (Ningxia) Region, operated by NWCD
02 Apr 20Amazon CloudWatch Contributor Insights for Amazon DynamoDB is now available in the AWS GovCloud (US) Regions
02 Apr 20Amazon CloudWatch Contributor Insights for Amazon DynamoDB is now generally available
16 Mar 20You now can update your Amazon DynamoDB global tables from version 2017.11.29 to the latest version with a few clicks in the DynamoDB Console
16 Mar 20Amazon DynamoDB on-demand capacity mode is now available in the Asia Pacific (Osaka-Local) Region
12345678910Next

When to use DynamoDB

DynamoDB is a perfect choice for all sizes of applications, especially if your application needs predictable read and write performance. DynamoDB thanks to automatic scaling is able to survive the biggest traffic spikes. Moreover, the costs of DynamoDB are very predictable.

DynamoDB can be used for almost anything, including:

Moreover, when choosing the database for your next project, you should award a few extra points to DynamoDB if:

  • You want to go Serverless. DynamoDB integrates with AWS Lambda and other AWS Serverless offerings really well
  • You are going to deal with massive traffic with erratic spikes
  • You want to be asynchronous and event-driven
  • You want to minimize your costs and scale them ideally with your application usage

Read more about Common DynamoDB Misconceptions here.

When not to use DynamoDB

Even though DynamoDB can be used for almost anything you can imagine, there are some cases when you shouldn't use it.

  1. If your software is running outside of AWS Cloud, like inside other cloud or on-premise, you might consider storing your data closer to your application in order to minimize latency between database and service.
  2. ~If you need to use SQL capabitilies.~ With PartiQL, this is now possible!
  3. If you need to run ad-hoc queries on whole dataset, you might consider replicating DynamoDB data to Redshift or other relational database

Resources

Dynobase is a Professional GUI Client for DynamoDB

Try 7-day free trial. No strings attached.

Product Features

© 2022 Dynobase

+
Login to the AWS Console less.
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.