Amazon DynamoDB: Scalable AWS NoSQL Database to Serve Globally Distributed Apps

Amazon DynamoDB - ScienceSoft

Amazon DynamoDB in Brief

Amazon DynamoDB is a fully managed scalable key-value and document database on the Amazon Web Service (AWS) cloud best suited for high-performance queries on extremely large datasets. It is recognized as Leader in the Forrester Wave Big Data NoSQL Database Report and Database-as-a-Service Report.

Among the companies using DynamoDB are Nike, Samsung Electronics, Snap, Netflix, Capital One, etc.

Features of Amazon DynamoDB

Data storage

Elastic data storage

Storing up to petabytes of data.

Schema flexibility

Supporting both key-value and document data models.

Database performance

Microsecond latency

Using DynamoDB Accelerator (DAX) to improve the read performance by up to 10 times.

Automated global replication

Automatic replicating of DynamoDB tables across AWS Regions for fast read and write performance at any scale.

ACID transactions

Concurrent multiple reads on multiple tables and bulk updates of transactions.

Database management

Automatic response to change events

Using DynamoDB Streams with AWS Lambda to create triggers to automatically execute a predefined action when item-level changes in a DynamoDB table are detected.

Change data capturing

Recording information about every modification (insert, update, delete) to data items in the table with DynamoDB Streams.

Time to Live (TTL)

Automated deleting expired data from tables to reduce storage usage.

Automated workload management

Accommodating to workload changes with the on-demand capacity mode.

Auto-scaling for tables using provisioned capacity

Automatic scaling of throughput and storage based on the previously set capacity.

Database performance monitoring

Diagnosing the top drivers of the system traffic and frequently accessed keys with Amazon CloudWatch Contributor Insights.

Security and reliability

Data encryption

Encrypting data at rest and in transit using encryption keys stored in AWS Key Management Service.

Authentication and authorization

Using AWS Identity and Access Management (IAM) to manage access permissions and implement custom security policies.

On-demand backup

Creating full backups of tables for long-term retention and archival.

Point-in-time recovery

Enabled by continuous table data backup to protect it against accidental writes and deletes.

Compliance

SOC 1, SOC 2, SOC3; ISO/IEC 27001:2013, 27017:2015, 27018:2019, ISO/IEC 9001:2015; FedRAMP, PCI, HIPAA, etc.

Useful Amazon DynamoDB Integrations

Amazon DynamoDB integrations

Data lake (AWS Simple Cloud Storage (S3))

When transferred to Amazon S3, data becomes easily discoverable and can be kept in the data lake bucket with no time limit. When in an S3 bucket, the data can be analyzed and queried with other AWS services (Athena, AWS Glue, and Lake Formation). Additionally, exporting table data to Amazon S3 bucket owned by another AWS account and to a different region enhances its disaster recovery capabilities.

ETL software (AWS Data Pipeline)

For exporting/importing data from/to a DynamoDB table to/from a file in an Amazon S3 bucket in the same AWS region or in a different region.

Data warehouse (Amazon Redshift)

A data warehouse complements Amazon DynamoDB with a powerful SQL-based interface to perform complex data analysis queries on the DynamoDB data, combined with other data in the DWH cluster.

ScienceSoft's Partnership - AWS Select Tier Consulting Partner

ScienceSoft has been providing consultancy, implementation and support for solutions based on Amazon DynamoDB to help our clients get the best ROI.

Make Sure DynamoDB Is What You Need!

ScienceSoft’s BAs and big data architects will analyze your data storage and processing objectives and provide you with an Amazon DynamoDB PoC to help you better understand its value for your business situation.

DynamoDB Use Cases

SaaS, XaaS, online services

SaaS, XaaS, online services

  • Scalable storage across AWS Regions.
  • Minimized latency for multiread apps.
  • Dynamic task scheduling.

Advertising technology

  • User profile data storage.
  • User events, clickstream, and impressions data storage.
  • Real-time bidding and ad targeting.
  • Metadata storage for assets (images, pages, links, etc.).
  • Global data replication.

Online gaming

Online gaming

  • Game state and player data storage.
  • Player session history and other time-oriented data storage.
  • Leaderboards.

Media and entertainment

Media and entertainment

  • User data storage.
  • Media metadata storage.
  • Digital rights management data storage.
  • A/B testing.

Personalized eLearning

Personalized eLearning

  • Learner data storage.
  • Learner content metadata storage.
  • Metadata caches.

B2C

Ecommerce

  • Elastic data storage (shopping carts, customer profiles and accounts, etc.)
  • Workflow orchestration engine (order processing, fulfillment-center operations, etc.).
  • Inventory tracking and fulfillment.

IoT data analytics

Sensor data analytics

  • Connected devices data storage.
  • Autonomous driving and route guidance.
  • Personalized and contextualized services.

Manufacturing

Manufacturing operations management

  • Production process data storage.
  • Additive manufacturing.
  • Supply-chain management.

Operations management

Operations management

  • Centralized data collection for operations data consistency.
  • Real-time operations data tracking.
  • Operational policy storage and management.

Banking

Banking transaction processing

  • User transactions.
  • Event-driven transaction processing.
  • Fraud detection.
  • Mainframe data replication for traffic offloading.

DynamoDB Benefits

Operational costs reduction

AWS-based DynamoDB does not require purchasing, setting up, maintaining, and updating an IT infrastructure.

IT staff productivity increase

As AWS takes on such activities as database provisioning, configuration and maintenance, data encryption, replication, cluster scaling, etc., the IT team can focus on other activities (e.g., integrating DynamoDB with other services).

Highly scalable apps

With its elasticity and flexibility, DynamoDB performs with no latency increase or throughput decrease as the data volume rises, which lets you build apps with virtually unlimited throughput and storage.

Amazon DynamoDB Pricing

DynamoDB bills for reading, writing and storing data in DynamoDB tables plus optional features (backup and restore, DynamoDB Streams, DynamoDB Accelerator) if selected. You can choose between two capacity modes – on-demand and provisioned – with specific billing options for processing reads and writes:

Note: The prices are relevant to the US East (N. Virginia) data center region and may differ for other data centers.

Pricing for the on-demand capacity mode

Best for:

  • Creating new tables with unknown workloads.
  • Unpredictable application traffic.

Click to see the pricing

Read and write requests

  • Write request units - $1.25/million write request units
  • Read request units - $0.25/million read request units

Data storage

  • First 25GB stored/month – free
  • $0.25/GB-month thereafter

Pricing for optional features

Backup and restore

  • Continuous backups with point-in-time recovery - $0.20/GB/month
  • On-demand backup - $0.10/GB/month
  • Restoring a table - $0.15/GB

Global tables

  • Replicated write request unit - $1.875/million replicated write request units

Data export

  • Data export to Amazon S3 - $0.10/GB

DynamoDB Accelerator (DAX)

  • $0.04/hour (the t2.small instance type) - $4.295 /hour (the r3.8xlarge instance type)

DynamoDB Streams

  • Billed every month, the first 2,500,000 DynamoDB Streams read request units are free
  • $0.02/100,000 DynamoDB Streams read request units thereafter

Data transfer across AWS Regions

  • Data transfer in – free
  • Data transfer out – up to 1 GB/month – free
  • $0.05-0.09/GB thereafter (depending on the data volume).

AWS Free tier

DynamoDB free tier includes the following DynamoDB services (each is calculated monthly on a per-region, per-payer account basis):

  • 25 GB of data storage.
  • 2.5 million stream read requests from DynamoDB Streams.
  • 1 GB of data transfer from one AWS Region to another.

Pricing for the provisioned capacity mode

Best for:

  • Predictable application traffic.
  • Applications with consistent traffic or gradual ramps.
  • Controlling costs by forecasting capacity requirements.

Click to see the pricing

Read and write requests

Provisioned capacity:

  • Write capacity unit (WCU) - $0.00065/write capacity unit
  • Read capacity unit (RCU) - $0.00013 /read capacity unit

Reserved capacity:

Monthly commitment Upfront: 1-Year Hourly: 1-Year Upfront: 3-Year Hourly: 3-Year
100 WCU $150.00 $0.0128 $180.00 $0.0081
100 RCU $30.00 $0.0025 $36.00 $0.0016

Data storage

  • First 25GB stored/month – free
  • $0.25/GB/month thereafter

Pricing for optional features

Backup and restore

  • Continuous backups with point-in-time recovery - $0.20/GB/month
  • On-demand backup - $0.10/GB/month
  • Restoring a table - $0.15/GB

Global tables

  • Replicated write request unit - $0.000975/replicated write request unit/hour

Data export

  • Data export to Amazon S3 - $0.10/GB

DynamoDB Accelerator (DAX)

  • $0.04/hour (the t2.small instance type) - $4.295 /hour (the r3.8xlarge instance type)

DynamoDB Streams

  • Every month, the first 2,500,000 DynamoDB Streams read request units are free
  • $0.02/100,000 DynamoDB Streams read request units thereafter

Data transfer across AWS Regions

  • Data transfer in – free
  • Data transfer out - up to 1 GB/month – free
  • $0.05-0.09/GB thereafter (depending on the data volumes).

AWS Free tier

DynamoDB free tier includes the following DynamoDB services (each is calculated monthly on a per-region, per-payer account basis):

  • 25 GB of data storage.
  • 2.5 million stream read requests from DynamoDB Streams.
  • 1 GB of data transfer from one AWS Region to another.
  • 25 write capacity units and 25 read capacity units of provisioned capacity.
  • 25 replicated write request unit s for global tables deployed in two AWS Regions.