Learning Objectives:
- Learn about the benefits and features to help you get the most out of your DynamoDB database
- Learn how customers have successfully used these features to deploy their applications
Developers who build applications for ad tech, finance, gaming, IoT, and other performance sensitive use cases require response times in the range of 1-2 milliseconds. They are also constantly pushing to further reduce this latency to achieve a competitive advantage. Amazon DynamoDB Accelerator (DAX) is a fully-managed, highly-available, in-memory cache for DynamoDB that delivers up to a 10x performance improvement – from milliseconds to microseconds – even at millions of requests per second. In this tech talk, we go over best practices for multiple use cases, including gaming, Ad Tech, IoT, and we’ll explore new features to help you get the most out of your DynamoDB database, including DynamoDB Accelerator (DAX), TTL, Tagging, VPC Endpoints for DynamoDB. Learn how customers have successfully used these features to deploy their applications.
5. 5/30/2017 Slides not intended for redistribution 5
Performance
Scalability Performance Security Availability & Data Protection Manageability Development Platform
6. 5/30/2017 6
DynamoDB: consistent performance at scale
ConsistentSingle-Digit Millisecond Latency
Requests(millions)
Latency(milliseconds)
Scalability Performance Security Availability & Data Protection Manageability Development Platform
“We cannot afford to waste a 3 or 4 milliseconds...”
“We have 20ms to make a decision… ”
9. 5/30/2017 9
Scalability Performance Security Availability & Data Protection Manageability Development Platform
DynamoDB
Cache
Your Applications
Traditional side cache
DynamoDB
Your Applications
Caching made simple
DynamoDB Accelerator
12. 5/30/2017 12
Scalability Performance Security Availability & Data Protection Manageability Development Platform
• Fully managed, highly available: handles all software management,
fault tolerant, replication across multi-AZs within a region
• DynamoDB API compatible: seamlessly caches DynamoDB API
calls, no application re-writes required
• Write-through: DAX handles caching for writes
• Flexible: Configure DAX for one table or many
• Scalable: scales-out to any workload with up to 10 read replicas
• Manageability: fully integrated AWS service: Amazon CloudWatch,
Tagging for DynamoDB, AWS Console
• Security: Amazon VPC, AWS IAM, AWS CloudTrail, AWS
Organizations
Features
DynamoDB Accelerator (DAX)
DynamoDB
Your Applications
DynamoDB Accelerator
13. 5/30/2017 13
What did we just do?
Scalability Performance Security Availability & Data Protection Manageability Development Platform
AWS VPC
EC2
App
DDB
SDK
DynamoDB
DAX
SDK
DAX
14. 5/30/2017 Slides not intended for redistribution 14
Fully managed, highly available
15. 5/30/2017 15
High Availability
Scalability Performance Security Availability & Data Protection Manageability Development Platform
AMAZON VPC
EC2
App
DAX
SDK
DynamoDB
AZ1
AZ2
AZ3
17. 5/30/2017 17
Q: How easy is it to add in-
memory caching with DAX?
A: Comment out the this code
and add this code
Scalability Performance Security Availability & Data Protection Manageability Development Platform
18. 5/30/2017 18
• Read APIs: GetItem, BatchGetItem, Query, Scan
• Modify APIs: PutItem, UpdateItem, DeleteItem,
BatchWriteItem
• Control plane APIs: Not supported (CreateTable,
DeleteTable, etc.)
Scalability Performance Security Availability & Data Protection Manageability Development Platform
DAX is API compatible with DynamoDB
19. 5/30/2017 19
Scalability Performance Security Availability & Data Protection Manageability Development Platform
DAX has two caches
Query Cache {query, scan}
Item Cache {GetItem, PutItem}
key, value
query text, result set
33. 5/30/2017 Slides not intended for redistribution 33
VPC subnet IAM
AWS
CloudTrail
Scalability Performance Security Availability & Data Protection Manageability Development Platform
35. 5/30/2017 35
Scalability Performance Security Availability & Data Protection Manageability Development Platform
Customer Use Case #1: Unpredictable spikes
36. 5/30/2017 36
Scalability Performance Security Availability & Data Protection Manageability Development Platform
Customer Use Case #2: Speed
Response times in microseconds
38. 5/30/2017 38
Scalability Performance Security Availability & Data Protection Manageability Development Platform
Repeated users are now being handled by the DAX cache
without making the more expensive (in both latency & cost)
call to DynamoDB
Shahar Kobrinky
VP of Architecture and Scale at Eyeview
“
”
DAX represents a big opportunity for us to
find the optimal balance between infrastructure cost and
system performance
Brandon O’Brien
Principle Software Engineer, Expedia, Inc.
“
”
DynamoDB Accelerator (DAX)
39. 5/30/2017 39
Scalability Performance Security Availability & Data Protection Manageability Development Platform
The AWS team has taken a best-practice architectural
pattern and turned it into something repeatable and
valuable for its customers
Glenn Nethercutt
Chief Architect, Genesys
“
”
The ability to supercharge DynamoDB with DAX is
something we're looking forward to
Pat Malatack
General Manager of Twilio Messaging
“
”
DynamoDB Accelerator (DAX)
40. 5/30/2017 40
Scalability Performance Security Availability & Data Protection Manageability Development Platform
Key Benefits
• Fast performance: Microseconds response
times at millions of reads/sec from single DAX
cluster
• Ease of use: DynamoDB API compatible -
requires minimal code change for existing
applications, simplifying developer experience
• Lower costs: Reduce provisioned read
capacity for DynamoDB tables for tables with
hot data
DynamoDB Accelerator (DAX)
DynamoDB
Your Applications
DynamoDB Accelerator