DynamoDB
·
AWS proprietary technology, managed
NoSQL database
·
Serverless, provisioned capacity,
auto scaling, on demand (Nov 2018)
·
Can replace ElastiCache as a
key/value store (storing session data for example)
·
Highly Available, Multi AZ by default,
Read and Writes are decoupled, DAX for read Cache
·
Reads can be eventually consistent or
strongly consistent
·
Security, authentication and
authorization is done through IAM
·
DynamoDB Streams to integrate with
AWS Lambda
·
Backup / Restore feature, Global table
feature
·
Monitoring through CloudWatch
·
Can only query on primary key, sort key or indexes
DynamoDB:
schema less
DynamoDB:
Auto Scaling service to dynamically adjust provisioned throughput capacity on
your behalf
DAX
feature is primarily used for read performance improvement of your DynamoDB table from milliseconds
response time to microseconds
can store session data
supports both document and key-value
store models
DynamoDB rcu
Partition
keys: recommendations
o use high cardinality attributes -
distinct values for each item (phone number, email ID etc)
o use composite attributes -
o Cache
the popular items when there is a high
volume of read traffic
o Add
predestined range of random numbers/digits for write heavy use cases
USE CASES
·
Serverless applications deployment
(small documents 100s kb), distributed serverless cache, doesn't have SQL Query
Language available, has transactions capability (from Nov 2018)
·
Operations:
no operations needed, auto scaling capability, serverless
·
Security:
Full security through IAM policies, KMS encryption, SSL in flight
·
Reliability:
Multi AZ, Backups
·
Performance:
Single digit millisecond performance, DAX for caching reads, performance
doesn`t degrade if your application
scales
·
Cost:
Pay per provisioned capacity for storage usage (no need to guess in advance any
capacity - can use auto scale)