SlideShare a Scribd company logo
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Building low latency apps with a
serverless architecture and
in-memory data
Darin Briskman | April 2018
briskman@amazon.com
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Things with
purpose
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Non-Relational Powers New Architectures
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Traditional application characteristics
HR Payroll
CRM ERP
…
Users 100s-1000s
Data volume GB-TB
Locality HQ
Performance Seconds
Request Rate Tens of thousands
Access Internal servers, PCs
Scale Up
Economics Pay up front
Developer Access days/weeks/months
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cloud application characteristics
Key-valueRelational Document Graph
;
Users 1M+
Data volume TB-PB-EB
Locality Global
Performance Milliseconds-Microseconds
Request Rate Millions
Access Mobile, IoT, Devices
Scale Up-Out-In
Economics Pay as you go
Developer access Instant API access
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Database characteristics
Referential integrity with
strong consistency,
transactions, and
hardened scale
GraphKey-value Document
;
Relational
Low-latency, key-based
queries with high
throughput and fast
ingestion of data
Indexing and storing
documents with support
for query on any property
Creating and navigating
relations between data
easily and quickly
Complex query support
via SQL
Simple query methods
with filters
Simple query with filters,
projections, and
aggregates
Easily express queries in
terms of relations
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Polyglot persistence
Different data technologies for different data needs
• Within an application
• Across an organization
• Spanning multiple organizations
Loose coupling sets you free
• Services communicate through queues
• Non-relational databases make excellent queues
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The New De-Normal
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Different approaches for highly connected data
Purpose-built for a business process
Purpose-built to answer questions about
relationships
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon DynamoDB
F a s t a n d f l e x i b l e N o S Q L d a t a b a s e s e r v i c e f o r a n y s c a l e
Fast, consistent performanceHighly scalable Fully managed Business critical
reliability
Consistent single-digit millisecond
latency; DAX in-memory
performance reduces response
times to microseconds
Auto-scaling to hundreds of
terabytes of data that serve
millions of requests per second
Automatic provisioning,
infrastructure
management, scaling,
and configuration with
zero downtime
Data is replicated across
fault tolerant availability
zones, with fine-grained
access control
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
VPC
Endpoints
April 2017
Auto
Scaling
June 2017
DynamoDB
Accelerator (DAX)
April 2017
Time to
Live (TTL)
February 2017
GlobalTables
(GA)
N E W !
On-demand
Backup (GA)
N E W !
Amazon DynamoDB
D e l i v e r i n g o n c u s t o m e r n e e d s
Encryption at rest
(Coming Soon)
N E W !
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
DynamoDB Global Tables ( G A )
F i r s t f u l l y m a n a g e d , m u l t i - m a s t e r, m u l t i - r e g i o n d a t a b a s e
Build high performance, globally distributed applications
Low latency reads and writes to locally available tables
Disaster proof with multi-region redundancy
Easy to set up and no application re-writes required
Globally dispersed users
Replica (N. America)
Replica (Europe)
Replica (Asia)
Global App
Global Table
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon DynamoDB – Backup and Restore
F i r s t N o S Q L d a t a b a s e t o a u t o m a t e o n - d e m a n d a n d c o n t i n u o u s
b a c k u p s
Point in time restore for
short-term retention and
data corruption protection
(coming soon)
Back up hundreds of TB
instantaneously with NO
performance impact
On-demand backups
for long-term data
archival and
compliance (GA)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon DynamoDB
E n c r y p t i o n @ r e s t ( c o m i n g s o o n )
Server-side
encryption
Supports
compliance
certifications
No application
code rewrites
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elasticsearch Service
L o g a n a l y t i c s , c l i c k s t r e a m a n a l y t i c s , f u l l - t e x t s e a r c h
Easy to Use
Fully managed.
Single click topologies.
Open & Integrated
Elasticsearch APIs &
Kibana. AWS Integrated.
Secure
VPC. IAM.
Scalable & Available
100 Nodes. 150 TB.
Multi-AZ.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elasticsearch Service: What’s
new
100 nodes
150TB
February 2017
VPC
Slow Logs
October 2017April 2017
Elasticsearch 5
January 2017
1 Petabyte
I3 Instances
(coming soon)
N E W !
Encryption at rest
(coming soon)
N E W !
Elasticsearch 6
(coming soon)
N E W !
C4, M4, R4
1.5TB Storage
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon ElastiCache
Extreme Performance
Secure & hardened Easily scalable
Highly available &
reliable
In-memory data store and
cache using optimized
stack to deliver sub-
millisecond response times
VPC for cluster isolation,
encryption at rest/transit,
and HIPAA compliance
Read scaling with
replicas. Write and
memory scaling with
sharding. Non disruptive
scaling
Multi-AZ with automatic
failover
Managed, in-memory data store service
Redis or Memcached to power real-time apps with sub-millisecond latency
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Memcached
1.4.34
April 2017
Online cluster
resizing
Redis Cluster aware
backup/restore
March 2017
HIPAA
Eligibility
N E W !
Amazon ElastiCache
D e l i v e r i n g o n c u s t o m e r n e e d s
Encryption In
Transit,At Rest, and
RedisAUTH
N E W ! N E W !
Redis test
failover
April 2017
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Highly connected data
Social News Feed Restaurant Recommendations Retail Fraud Detection
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Too expensive
Difficult to maintain high
availability
Difficult to scale
Limited support for open
standards
$
Existing Graph DatabasesRelational Databases
Inefficient graph processingUnnatural for querying
graph
Rigid schema inflexible for
changing graphs
Challenges building apps with highly connected
data
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Neptune
F u l l y m a n a g e d g r a p h d a t a b a s e
(public preview today)
Fast & Scalable Reliable Open
Store billions of
relationships and
query with
milliseconds latency
Six replicas of your data
across three AZs with full
backup and restore
Build powerful queries
easily with Gremlin and
SPARQL
SupportsApache
TinkerPop &W3C RDF
graph models
Gremlin
SPARQL
Easy
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Request rate
High Low
Latency
Low High
Structure
Low
High
Data volume
Low High
Amazon
RDS
Amazon S3
Amazon
Glacier
Amazon
CloudSearch and
Amazon Elasticsearch
Service
Amazon
DynamoDB
Amazon
ElastiCache
and Amazon
DynamoDB
Accelerator
(DAX)
HDFS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Powerful
~200 commands + Lua scripting
In-memory data structure server
Utility data structures
Strings, lists, hashes, sets, sorted
sets, bitmaps, and HyperLogLogs
Simple
Atomic operations
supports transactions
Ridiculously fast!
<1 ms latency for most commands
Highly available
replication
Persistence
Open source
What is Redis?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Caching
Clients
Amazon
ElastiCache
Redis
Amazon
DynamoDB
Elastic Load
Balancing
Amazon
EC2
Amazon
RDS
write-through
reads/
writes
DDB streams
mysql.lambda_async
reads/
writes
Amazon
S3
reads/writes
Object data
Unstructured data
Relational data
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Caching NoSQL
Amazon
EC2 reads/
writes
reads
MongoDB
Cluster
Cassandra
Cluster
 Smaller NoSQL DB clusters needed = lower costs
 Faster data retrieval = better performance
Elasticsearch
Cluster
Clients
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon
EC2
reads/
writes
Amazon
ElastiCache
Redis
reads
MongoDB
Cluster
DBObject doc = collection.findOne();
Cache serialized DBObject in Redis (good)
Cache rows in Redis hash (faster/more efficient)
Cassandra
Cluster
Amazon
ElastiCache
Redis
Amazon
EC2
reads/
writes
reads
ResultSet rs = session.execute(stmt);
Cache serialized ResultSet in Redis (good)
Cache rows in Redis hash (faster/more efficient)
 Smaller NoSQL DB clusters needed = lower costs
 Faster data retrieval = better performance
Caching NoSQL databases with Amazon ElastiCache
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon
Kinesis
Analytics
Amazon
Kinesis
Streams
Amazon
Kinesis
Streams
Amazon
ElastiCache
(Redis)
cleansed
stream
Streaming data enrichment/processing
Datasources
raw
stream
Subscribers
AWS Lambda function 1
Continualdata
filtering/enrichment
Real-time
pub/sub
AWS Lambda function 2
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Big data architectures using Redis
Amazon Kinesis
DataSources
AWS Lambda
Apache Storm
on EMR
Spark Streaming
on Amazon EMR
Amazon
Kinesis app
Amazon
EC2
AWS IoT
Amazon
ElastiCache
Collect
Store
Process
Amazon
S3
Apache Kafka
AWS
Lambda
Custom
app
Spark on
Amazon
EMR
Analyze
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Rules Engine
Amazon
ElastiCache
Redis
AWS
Lambda
Direct integration
LambdaSNS SQS
S3 KinesisDDB
AWS
IoT devices
AWS
IoT
Sensor store
IoT powered by ElastiCache
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Mobile apps powered by ElastiCache
Amazon API
Gateway
AWS
Lambda
Amazon
ElastiCache
Redis
GEOADD
GEORADIUS
Search points of interest
Update points of interest
https://aws.amazon.com/blogs/database/amazon-elasticache-utilizing-redis-geospatial-capabilities/
Amazon
DynamoDB
DDB streams
Amazon
EC2
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Ad tech powered by ElastiCache
Clients
Advertisers
https://aws.amazon.com/caching/database-caching/
Ad network
Ad slot
Consumer
Ad slot
publishers
Ad placement
(websites/apps)
Amazon
ElastiCache
Redis
<40 ms
Clickstream
(shopping
events)
User visits page Publisher
places ad slot
for auction
Ad network
calls for bidsBidders respond
with bids
Winners bid
ad displayed
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Chat apps powered by ElastiCache
https://aws.amazon.com/blogs/database/amazon-elasticache-utilizing-redis-geospatial-capabilities/
Clients
Chat apps
Application Load
Balancer
WebSockets
Amazon
ElastiCache
Redis
PubSub Server
persistent
connections
Elastic
Beanstalk
SUBSCRIBE chat_channel:114
PUBLISH chat_channel:114 "Hello all"
>> ["message", "chat_channel:114", "Hello all"]
UNSUBSCRIBE chat_channel:114
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
• Very popular for gaming apps that need
uniqueness and ordering
• Easy with Redis sorted sets
ZADD "leaderboard" 1201 "Gollum”
ZADD "leaderboard" 963 "Sauron"
ZADD "leaderboard" 1092 "Bilbo"
ZADD "leaderboard" 1383 "Frodo”
ZREVRANGE "leaderboard" 0 -1
1) "Frodo"
2) "Gollum"
3) "Bilbo"
4) "Sauron”
ZREVRANK "leaderboard" "Sauron"
(integer) 3
Gaming—real-time leaderboards
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Ex: throttling requests to anAPI
uses Redis counters
ELB
Externally
facing API
Reference: http://redis.io/commands/INCR
FUNCTION LIMIT_API_CALL(APIaccesskey)
limit = HGET(APIaccesskey, “limit”)
time = CURRENT_UNIX_TIME()
keyname = APIaccesskey + ":” + time
count = GET(keyname)
IF current != NULL && count > limit THEN
ERROR ”API request limit exceeded"
ELSE
MULTI
INCR(keyname)
EXPIRE(keyname,10)
EXEC
PERFORM_API_CALL()
END
Rate limiting
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon
ElastiCache
µs is the new ms
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you!
… and thanks to our sponsors!

More Related Content

More from AWS Germany (20)

PDF
Analytics Web Day | From Theory to Practice: Big Data Stories from the Field
AWS Germany
 
PDF
Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...
AWS Germany
 
PDF
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
AWS Germany
 
PDF
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
AWS Germany
 
PDF
Modern Applications Web Day | Container Workloads on AWS
AWS Germany
 
PDF
Modern Applications Web Day | Continuous Delivery to Amazon EKS with Spinnaker
AWS Germany
 
PDF
Building Smart Home skills for Alexa
AWS Germany
 
PDF
Hotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructure
AWS Germany
 
PDF
Wild Rydes with Big Data/Kinesis focus: AWS Serverless Workshop
AWS Germany
 
PDF
Log Analytics with AWS
AWS Germany
 
PDF
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS
AWS Germany
 
PDF
AWS Programme für Nonprofits
AWS Germany
 
PDF
Microservices and Data Design
AWS Germany
 
PDF
Serverless vs. Developers – the real crash
AWS Germany
 
PDF
Query your data in S3 with SQL and optimize for cost and performance
AWS Germany
 
PDF
Secret Management with Hashicorp’s Vault
AWS Germany
 
PDF
EKS Workshop
AWS Germany
 
PDF
Scale to Infinity with ECS
AWS Germany
 
PDF
Containers on AWS - State of the Union
AWS Germany
 
PDF
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
AWS Germany
 
Analytics Web Day | From Theory to Practice: Big Data Stories from the Field
AWS Germany
 
Analytics Web Day | Query your Data in S3 with SQL and optimize for Cost and ...
AWS Germany
 
Modern Applications Web Day | Impress Your Friends with Your First Serverless...
AWS Germany
 
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
AWS Germany
 
Modern Applications Web Day | Container Workloads on AWS
AWS Germany
 
Modern Applications Web Day | Continuous Delivery to Amazon EKS with Spinnaker
AWS Germany
 
Building Smart Home skills for Alexa
AWS Germany
 
Hotel or Taxi? "Sorting hat" for travel expenses with AWS ML infrastructure
AWS Germany
 
Wild Rydes with Big Data/Kinesis focus: AWS Serverless Workshop
AWS Germany
 
Log Analytics with AWS
AWS Germany
 
Deep Dive into Concepts and Tools for Analyzing Streaming Data on AWS
AWS Germany
 
AWS Programme für Nonprofits
AWS Germany
 
Microservices and Data Design
AWS Germany
 
Serverless vs. Developers – the real crash
AWS Germany
 
Query your data in S3 with SQL and optimize for cost and performance
AWS Germany
 
Secret Management with Hashicorp’s Vault
AWS Germany
 
EKS Workshop
AWS Germany
 
Scale to Infinity with ECS
AWS Germany
 
Containers on AWS - State of the Union
AWS Germany
 
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
AWS Germany
 

Recently uploaded (20)

PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
July Patch Tuesday
Ivanti
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Python basic programing language for automation
DanialHabibi2
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Ad

Building low latency apps with a serverless architecture and in-memory data I AWS Dev Day 2018

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Building low latency apps with a serverless architecture and in-memory data Darin Briskman | April 2018 [email protected]
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Things with purpose
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Non-Relational Powers New Architectures
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Traditional application characteristics HR Payroll CRM ERP … Users 100s-1000s Data volume GB-TB Locality HQ Performance Seconds Request Rate Tens of thousands Access Internal servers, PCs Scale Up Economics Pay up front Developer Access days/weeks/months
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cloud application characteristics Key-valueRelational Document Graph ; Users 1M+ Data volume TB-PB-EB Locality Global Performance Milliseconds-Microseconds Request Rate Millions Access Mobile, IoT, Devices Scale Up-Out-In Economics Pay as you go Developer access Instant API access
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Database characteristics Referential integrity with strong consistency, transactions, and hardened scale GraphKey-value Document ; Relational Low-latency, key-based queries with high throughput and fast ingestion of data Indexing and storing documents with support for query on any property Creating and navigating relations between data easily and quickly Complex query support via SQL Simple query methods with filters Simple query with filters, projections, and aggregates Easily express queries in terms of relations
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Polyglot persistence Different data technologies for different data needs • Within an application • Across an organization • Spanning multiple organizations Loose coupling sets you free • Services communicate through queues • Non-relational databases make excellent queues
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. The New De-Normal
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Different approaches for highly connected data Purpose-built for a business process Purpose-built to answer questions about relationships
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB F a s t a n d f l e x i b l e N o S Q L d a t a b a s e s e r v i c e f o r a n y s c a l e Fast, consistent performanceHighly scalable Fully managed Business critical reliability Consistent single-digit millisecond latency; DAX in-memory performance reduces response times to microseconds Auto-scaling to hundreds of terabytes of data that serve millions of requests per second Automatic provisioning, infrastructure management, scaling, and configuration with zero downtime Data is replicated across fault tolerant availability zones, with fine-grained access control
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. VPC Endpoints April 2017 Auto Scaling June 2017 DynamoDB Accelerator (DAX) April 2017 Time to Live (TTL) February 2017 GlobalTables (GA) N E W ! On-demand Backup (GA) N E W ! Amazon DynamoDB D e l i v e r i n g o n c u s t o m e r n e e d s Encryption at rest (Coming Soon) N E W !
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. DynamoDB Global Tables ( G A ) F i r s t f u l l y m a n a g e d , m u l t i - m a s t e r, m u l t i - r e g i o n d a t a b a s e Build high performance, globally distributed applications Low latency reads and writes to locally available tables Disaster proof with multi-region redundancy Easy to set up and no application re-writes required Globally dispersed users Replica (N. America) Replica (Europe) Replica (Asia) Global App Global Table
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB – Backup and Restore F i r s t N o S Q L d a t a b a s e t o a u t o m a t e o n - d e m a n d a n d c o n t i n u o u s b a c k u p s Point in time restore for short-term retention and data corruption protection (coming soon) Back up hundreds of TB instantaneously with NO performance impact On-demand backups for long-term data archival and compliance (GA)
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB E n c r y p t i o n @ r e s t ( c o m i n g s o o n ) Server-side encryption Supports compliance certifications No application code rewrites
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Elasticsearch Service L o g a n a l y t i c s , c l i c k s t r e a m a n a l y t i c s , f u l l - t e x t s e a r c h Easy to Use Fully managed. Single click topologies. Open & Integrated Elasticsearch APIs & Kibana. AWS Integrated. Secure VPC. IAM. Scalable & Available 100 Nodes. 150 TB. Multi-AZ.
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Elasticsearch Service: What’s new 100 nodes 150TB February 2017 VPC Slow Logs October 2017April 2017 Elasticsearch 5 January 2017 1 Petabyte I3 Instances (coming soon) N E W ! Encryption at rest (coming soon) N E W ! Elasticsearch 6 (coming soon) N E W ! C4, M4, R4 1.5TB Storage
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon ElastiCache Extreme Performance Secure & hardened Easily scalable Highly available & reliable In-memory data store and cache using optimized stack to deliver sub- millisecond response times VPC for cluster isolation, encryption at rest/transit, and HIPAA compliance Read scaling with replicas. Write and memory scaling with sharding. Non disruptive scaling Multi-AZ with automatic failover Managed, in-memory data store service Redis or Memcached to power real-time apps with sub-millisecond latency
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Memcached 1.4.34 April 2017 Online cluster resizing Redis Cluster aware backup/restore March 2017 HIPAA Eligibility N E W ! Amazon ElastiCache D e l i v e r i n g o n c u s t o m e r n e e d s Encryption In Transit,At Rest, and RedisAUTH N E W ! N E W ! Redis test failover April 2017
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Highly connected data Social News Feed Restaurant Recommendations Retail Fraud Detection
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Too expensive Difficult to maintain high availability Difficult to scale Limited support for open standards $ Existing Graph DatabasesRelational Databases Inefficient graph processingUnnatural for querying graph Rigid schema inflexible for changing graphs Challenges building apps with highly connected data
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Neptune F u l l y m a n a g e d g r a p h d a t a b a s e (public preview today) Fast & Scalable Reliable Open Store billions of relationships and query with milliseconds latency Six replicas of your data across three AZs with full backup and restore Build powerful queries easily with Gremlin and SPARQL SupportsApache TinkerPop &W3C RDF graph models Gremlin SPARQL Easy
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Request rate High Low Latency Low High Structure Low High Data volume Low High Amazon RDS Amazon S3 Amazon Glacier Amazon CloudSearch and Amazon Elasticsearch Service Amazon DynamoDB Amazon ElastiCache and Amazon DynamoDB Accelerator (DAX) HDFS
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Powerful ~200 commands + Lua scripting In-memory data structure server Utility data structures Strings, lists, hashes, sets, sorted sets, bitmaps, and HyperLogLogs Simple Atomic operations supports transactions Ridiculously fast! <1 ms latency for most commands Highly available replication Persistence Open source What is Redis?
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Caching Clients Amazon ElastiCache Redis Amazon DynamoDB Elastic Load Balancing Amazon EC2 Amazon RDS write-through reads/ writes DDB streams mysql.lambda_async reads/ writes Amazon S3 reads/writes Object data Unstructured data Relational data
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Caching NoSQL Amazon EC2 reads/ writes reads MongoDB Cluster Cassandra Cluster  Smaller NoSQL DB clusters needed = lower costs  Faster data retrieval = better performance Elasticsearch Cluster Clients
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon EC2 reads/ writes Amazon ElastiCache Redis reads MongoDB Cluster DBObject doc = collection.findOne(); Cache serialized DBObject in Redis (good) Cache rows in Redis hash (faster/more efficient) Cassandra Cluster Amazon ElastiCache Redis Amazon EC2 reads/ writes reads ResultSet rs = session.execute(stmt); Cache serialized ResultSet in Redis (good) Cache rows in Redis hash (faster/more efficient)  Smaller NoSQL DB clusters needed = lower costs  Faster data retrieval = better performance Caching NoSQL databases with Amazon ElastiCache
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Kinesis Analytics Amazon Kinesis Streams Amazon Kinesis Streams Amazon ElastiCache (Redis) cleansed stream Streaming data enrichment/processing Datasources raw stream Subscribers AWS Lambda function 1 Continualdata filtering/enrichment Real-time pub/sub AWS Lambda function 2
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Big data architectures using Redis Amazon Kinesis DataSources AWS Lambda Apache Storm on EMR Spark Streaming on Amazon EMR Amazon Kinesis app Amazon EC2 AWS IoT Amazon ElastiCache Collect Store Process Amazon S3 Apache Kafka AWS Lambda Custom app Spark on Amazon EMR Analyze
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Rules Engine Amazon ElastiCache Redis AWS Lambda Direct integration LambdaSNS SQS S3 KinesisDDB AWS IoT devices AWS IoT Sensor store IoT powered by ElastiCache
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Mobile apps powered by ElastiCache Amazon API Gateway AWS Lambda Amazon ElastiCache Redis GEOADD GEORADIUS Search points of interest Update points of interest https://aws.amazon.com/blogs/database/amazon-elasticache-utilizing-redis-geospatial-capabilities/ Amazon DynamoDB DDB streams Amazon EC2
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Ad tech powered by ElastiCache Clients Advertisers https://aws.amazon.com/caching/database-caching/ Ad network Ad slot Consumer Ad slot publishers Ad placement (websites/apps) Amazon ElastiCache Redis <40 ms Clickstream (shopping events) User visits page Publisher places ad slot for auction Ad network calls for bidsBidders respond with bids Winners bid ad displayed
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Chat apps powered by ElastiCache https://aws.amazon.com/blogs/database/amazon-elasticache-utilizing-redis-geospatial-capabilities/ Clients Chat apps Application Load Balancer WebSockets Amazon ElastiCache Redis PubSub Server persistent connections Elastic Beanstalk SUBSCRIBE chat_channel:114 PUBLISH chat_channel:114 "Hello all" >> ["message", "chat_channel:114", "Hello all"] UNSUBSCRIBE chat_channel:114
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Very popular for gaming apps that need uniqueness and ordering • Easy with Redis sorted sets ZADD "leaderboard" 1201 "Gollum” ZADD "leaderboard" 963 "Sauron" ZADD "leaderboard" 1092 "Bilbo" ZADD "leaderboard" 1383 "Frodo” ZREVRANGE "leaderboard" 0 -1 1) "Frodo" 2) "Gollum" 3) "Bilbo" 4) "Sauron” ZREVRANK "leaderboard" "Sauron" (integer) 3 Gaming—real-time leaderboards
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Ex: throttling requests to anAPI uses Redis counters ELB Externally facing API Reference: http://redis.io/commands/INCR FUNCTION LIMIT_API_CALL(APIaccesskey) limit = HGET(APIaccesskey, “limit”) time = CURRENT_UNIX_TIME() keyname = APIaccesskey + ":” + time count = GET(keyname) IF current != NULL && count > limit THEN ERROR ”API request limit exceeded" ELSE MULTI INCR(keyname) EXPIRE(keyname,10) EXEC PERFORM_API_CALL() END Rate limiting
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon ElastiCache µs is the new ms
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you! … and thanks to our sponsors!

Editor's Notes

  • #23: If we were to categorize data stores into a temperature gauge, we’d see characteristics that really tailor to different data services…