SlideShare a Scribd company logo
1 of 82
Download to read offline
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Dan Zamansky, Senior Product Manager, AWS Database Services
Kuldeep Chowhan, Engineering Manager, Expedia
Ian Ward, Software Engineer, Mapbox
October 2015
DAT204
NoSQL? No Worries
Building Scalable Applications on AWS
NoSQL Services
What to expect from the session
• NoSQL
• Why managed database service?
• AWS managed services – DynamoDB and ElastiCache
• Customer use case – Expedia
• Customer use case – Mapbox
NoSQL
NoSQL vs. SQL for a new app: how to choose?
• Schema-less, easy reads
and writes, simple data
model
• Scaling is easy
• Focus on performance and
availability at any scale
• Strong schema, complex
relationships,
transactions and joins
• Scaling is difficult
• Focus on consistency
over scale and availability
NoSQL SQL
NoSQL available on AWS
Managed
Amazon DynamoDB
Amazon ElastiCache
• Memcached
• Redis
Unmanaged
Apache Cassandra
MongoDB
CouchDB
Riak
….
Why managed database services?
If you host your databases on premises
Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
you
App optimization
If you host your databases on premises
Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
you
App optimization
If you host your databases on Amazon EC2
Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
you
App optimization
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
you
App optimization
Power, HVAC, net
Rack & stack
Server maintenance
OS installation
If you host your databases on Amazon EC2
If you choose a managed database service
Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
App optimization
High availability
DB s/w installs
OS installation
you
Scaling
Who uses AWS managed database services?
Amazon DynamoDB
Amazon DynamoDB
• Managed NoSQL database service
• Highly scalable
• Consistent, single-digit millisecond latency at any scale
• Highly durable and available—3x replication
• Accessible via simple and powerful APIs
• Supports both document and key-value data models
• No table size or throughout limits
Table Table
Items
Attributes
Hash
Key
Range
Key
Mandatory
Key-value access pattern
Determines data distribution Optional
Model 1:N relationships
Enables rich query
capabilities
All items for a hash key
==, <, >, >=, <=
“begins with”
“between”
sorted results
counts
top/bottom N values
paged responses
Data types
String (S)
Number (N)
Binary (B)
String Set (SS)
Number Set (NS)
Binary Set (BS)
Boolean (BOOL)
Null (NULL)
List (L)
Map (M)
Used for storing nested JSON documents
CreateTable
UpdateTable
DeleteTable
DescribeTable
ListTables
GetItem
Query
Scan
BatchGetItem
PutItem
UpdateItem
DeleteItem
BatchWriteItem
ListStreams
DescribeStream
GetShardIterator
GetRecords
Table and item API
Stream API
Provisioned throughput model and scaling
Throughput provisioned at the table level
WCU and RCU are independent
Consumed capacity is measured per operation
Scaling is achieved through automatic partitioning
WCURCU
Amazon ElastiCache
Why in-memory?
ms μs
Why in-memory?
• Everything is connected - phones, tablets, cars, air
conditioners, toasters
• Demand for real-time performance – online games, ad
tech, eCommerce, social apps, etc.
• Load is spikey and unpredictable
• Database performance often the bottleneck
Amazon ElastiCache
and it comes in two flavors:
• AWS managed service that you
use to easily create, use, and
scale in-memory key-value
stores in the cloud
Memcached
Memcached vs. Redis
• In-memory
• Multithreaded / Multicore
• No persistence
• String values
• Easy horizontal clustering
• In-memory
• Single-threaded
• Read replicas
• Persistence
• Atomic operations
• Advanced data types -
http://redis.io/topics/data-types
• Pub/sub messaging
asynchronousreplication
Redis HA on ElastiCache
Availability Zone #1 Availability Zone #2
writes
use “Primary
Endpoint”
from Node Group
reads
use ‘replica’ endpoints
from Node Group
*can use ‘primary’ also
Auto-Failover
 Goes to replica with
lowest replication lag
 No changes in DNS
Exciting stuff! How do I learn more?
• DynamoDB:
– DAT401 - Amazon DynamoDB Deep Dive: Schema Design, Indexing, JSON, Search, and More –
will be available on YouTube
– WRK302 - Event-Driven Programming – Wednesday, 10/7 3:15pm-5:15pm, Galileo 1006
– BDT313 - Amazon DynamoDB for Big Data – Thursday, 10/8 11am-12pm, Lando 4306
• ElastiCache
– DAT407 - Amazon ElastiCache: Deep Dive, Thursday, 10/8 11am-12pm, Lando 4301B
– “Performance at scale with Amazon ElastiCache” whitepaper.
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Kuldeep Chowhan, Expedia Inc.
October 7th 2015
How Expedia is Using DynamoDB
and ElastiCache to Build a Real-Time
Analytics System
What to expect
Introduction
Overview of a real-time analytics system that leverages DynamoDB and
ElastiCache
Lessons learned
Recommendations on using NoSQL offerings in AWS
Who I am
An Engineering Manager at Expedia, Inc.
• Lead a team of engineers who provide a self-service
platform for teams in our organization to use the
services in AWS
• Leading an effort to Dockerize our micro services
Prior to Expedia Inc., I worked at
• Shell
• Microsoft
@307redirect
One of the world’s leading travel companies
Our mission is to revolutionize travel through the power of technology
Passionate
We are passionate about travel.
We are a company of travelers
who come to work every day with
passion to make travel better.
Innovative
We are innovative. We use our collective
intelligence to invent technology and
create products to simplify and improve
travel for our customers and partners.
AWS services that we use
EC2 ECS S3
DynamoDB ElastiCache Lambda
RDS
EMR
Auto Scaling
Route 53
CloudFormation
Direct Connect
2500
1000
1000
80
80
1500
10 300
300
Expedia's AWS Footprint
EC2 AutoScaling CloudFormation ElastiCache RDS Route53 ECS DynamoDB s3
Real-time analytics application
What is it?
• The application collects data for our test &
learn experiments that run on Expedia* sites
and processes them and stores them in a DB
• The application processes ~200 million
messages a day
• The application uses Apache Storm,
DynamoDB, and ElastiCache Redis
• Traffic pattern varies on our Expedia* sites and
the application handles burst traffic accordingly
What is it? (continued)
Continuous flow of data
ElastiCache – Redis
DynamoDB
Apache Storm infrastructure running
on distributed EC2 instances
Hit / Miss
Request
Response
Why DynamoDB?
• We initially started out setting up Cassandra cluster for our use case
• We spent more than a week setting up 3 node Cassandra ring and we
were nowhere close to setting up Cassandra in AWS with clustering,
monitoring for scaling out
• With DynamoDB we were up and running in a less than day
• Setup, monitoring, ease to scale made us choose DynamoDB
over Cassandra
• With DynamoDB there is no need for a team to maintain
Initial design
Single table
• Primary key (String) (Experiment Date)
• Secondary key (Number)
• No secondary indexes
The table was designed with the below assumptions
• ~1.5 GB/day
• Data needs to be stored for few months
• Shouldn’t affect performance significantly
Initial design
Row creation
• Perform read using primary key (strongly consistent)
• If item doesn't exist perform write request to create
Row update
• Retrieve all rows corresponding to primary key
• Check if update is required
• Write updated values back to table
Challenges with initial design
• Due to request throttling increase in
response times causing backup in the
real-time analytics application
• Throttling seemed to occur more
frequently as table size grew larger
• Table size grew to > 4.6 TB
• We had to increase the write throughput
on the DynamoDB table to 35000 to
handle burst traffic when 3500 was
sufficient to handle the sustained traffic
Lessons learned
• Take a closer look at the application access patterns
• Most of the read/write requests are directed towards ‘most
recent’ data
• A lot of ‘repeat’ requests – wasting throughput
• Read the documentation carefully
• DynamoDB creates partitions for every 10 GB and in our case we
have 460 partitions which caused increased response time in the
application
Current design
To reduce the increased response time
• We changed the design and introduced a
caching layer for read
• We are leveraging ElastiCache (Redis) as the
caching layer
• The conditional reads are read from Redis vs.
from DynamoDB
• With caching layer in place, the write
throughput has been set to 3500 now, down
from 35000
Why ElastiCache?
• Managed
• Fault detection and recovery
• Monitoring
• Scale up and down
• Multi-AZ
• Backup and Restore
• Supports
• Redis
• Memcached
Current design – performance improvements
Added a caching layer
• Repeat requests don’t even make it to DynamoDB
• Current cache hit ratio – 3x (3000 hits per 1000 misses)
Results
• Provisioned write
capacity has been
reduced from 35000
to 3500, reducing
the cost significantly
by 6x
• Highly performant
and high throughput
application backed
by DynamoDB and
ElastiCache
Recommendations
• Take a closer look at the application access
patterns so that you can design application
appropriately
• Add a caching layer if you have repeat
requests
• Configure throughput on DynamoDB, which
can handle your burst traffic and doesn't slow
you down
How we use DynamoDB and ElastiCache
for global delivery
Ian Ward, Mapbox
Mapbox global scale
What is Mapbox
How Mapbox uses AWS
Why we use DynamoDB
How ElastiCache improves global performance
What is Mapbox
Mapbox is a mapping platform for developers
Building blocks for anything geo
Design and data
Developer tools
Search and geocoding
Directions
Design and data
Developer tools
Search and Geocoding
Directions
Who uses Mapbox
Map by Foursquare
How Mapbox uses AWS
Development and production
Processing
API service
Example architecture
API service
Client
GLOBAL 9 REGIONS 2 REGIONS
DNS
CDN
Route 53
CloudFront
DNS
Route 53
ELB
Application
servers
Cache
Object store
Database
ElastiCache
S3
DynamoDB
9 Regions
52 Edge Locations
Amazon DynamoDB
Users
Maps
Datasets
Tokens
What we store
DynamoDB
SimpleDB
CouchDB
DynamoDB
Our database journey
DynamoDB
Not a ton of relations, no need for transactions
Scale
Performance
Why NoSQL
DynamoDB
Managed infrastructure
Fast
Available in 9 regions
Integration with AWS services
Why we switched to DynamoDB
DynamoDB
API service
Client
GLOBAL 9 REGIONS 2 REGIONS
DNS
CDN
Route 53
CloudFront
DNS
Route 53
ELB
Application
servers
Cache
Object store
Database
ElastiCache
S3
DynamoDB
High availability
Performance
Financial cost
Complexity
Trade-offs – what to run where
DynamoDB
Amazon ElastiCache
Faster, cheaper, simple
ElastiCache
Drop in back-end latency
ElastiCache
Conclusions
Even with a CDN, there are seconds to save
Lean on AWS to manage services
Use services strategically to reduce complexity
and cost
Learn More
• DynamoDB:
– DAT401 - Amazon DynamoDB Deep Dive: Schema Design, Indexing, JSON, Search, and More –
will be available on YouTube
– WRK302 - Event-Driven Programming – Wednesday, 10/7 3:15pm-5:15pm, Galileo 1006
– BDT313 - Amazon DynamoDB for Big Data – Thursday, 10/8 11am-12pm, Lando 4306
• ElastiCache
– DAT407 - Amazon ElastiCache: Deep Dive, Thursday, 10/8 11am-12pm, Lando 4301B
– “Performance at scale with Amazon ElastiCache” whitepaper.
Thank you!
Remember to complete
your evaluations!

More Related Content

What's hot

What's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial DatabasesWhat's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial DatabasesAmazon Web Services
 
Database Migration – Simple, Cross-Engine and Cross-Platform Migration
Database Migration – Simple, Cross-Engine and Cross-Platform MigrationDatabase Migration – Simple, Cross-Engine and Cross-Platform Migration
Database Migration – Simple, Cross-Engine and Cross-Platform MigrationAmazon Web Services
 
Deep Dive on Elastic Load Balancing
Deep Dive on Elastic Load BalancingDeep Dive on Elastic Load Balancing
Deep Dive on Elastic Load BalancingAmazon Web Services
 
Unleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCache Unleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCache Amazon Web Services
 
Best Practices running SQL Server on AWS
Best Practices running SQL Server on AWSBest Practices running SQL Server on AWS
Best Practices running SQL Server on AWSAmazon Web Services
 
Strategic Uses for Cost Efficient Long-Term Cloud Storage
Strategic Uses for Cost Efficient Long-Term Cloud StorageStrategic Uses for Cost Efficient Long-Term Cloud Storage
Strategic Uses for Cost Efficient Long-Term Cloud StorageAmazon Web Services
 
Choosing the Right Database Service (김상필, 유타카 호시노) - AWS DB Day
Choosing the Right Database Service (김상필, 유타카 호시노) - AWS DB DayChoosing the Right Database Service (김상필, 유타카 호시노) - AWS DB Day
Choosing the Right Database Service (김상필, 유타카 호시노) - AWS DB DayAmazon Web Services Korea
 
Introduction to Block and File storage on AWS
Introduction to Block and File storage on AWSIntroduction to Block and File storage on AWS
Introduction to Block and File storage on AWSAmazon Web Services
 
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech Talks
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech TalksAmazon Elasticache Deep Dive - March 2017 AWS Online Tech Talks
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech TalksAmazon Web Services
 
Unleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCacheUnleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCacheAmazon Web Services
 
How to Migrate your Startup to AWS
How to Migrate your Startup to AWSHow to Migrate your Startup to AWS
How to Migrate your Startup to AWSAmazon Web Services
 
Getting Started with Amazon Aurora
Getting Started with Amazon AuroraGetting Started with Amazon Aurora
Getting Started with Amazon AuroraAmazon Web Services
 
Simple, Scalable and Highly Durable NAS in the Cloud – Amazon EFS
Simple, Scalable and Highly Durable NAS in the Cloud – Amazon EFSSimple, Scalable and Highly Durable NAS in the Cloud – Amazon EFS
Simple, Scalable and Highly Durable NAS in the Cloud – Amazon EFSAmazon Web Services
 
Making (Almost) Any Database Faster and Cheaper with Caching
Making (Almost) Any Database Faster and Cheaper with CachingMaking (Almost) Any Database Faster and Cheaper with Caching
Making (Almost) Any Database Faster and Cheaper with CachingAmazon Web Services
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersAmazon Web Services
 
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)Amazon Web Services
 
Deep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million UsersDeep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million UsersAmazon Web Services
 
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance DatabaseDay 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance DatabaseAmazon Web Services
 
AWS re:Invent 2016: Design Patterns for High Availability: Lessons from Amazo...
AWS re:Invent 2016: Design Patterns for High Availability: Lessons from Amazo...AWS re:Invent 2016: Design Patterns for High Availability: Lessons from Amazo...
AWS re:Invent 2016: Design Patterns for High Availability: Lessons from Amazo...Amazon Web Services
 

What's hot (20)

What's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial DatabasesWhat's New in Amazon RDS for Open Source and Commercial Databases
What's New in Amazon RDS for Open Source and Commercial Databases
 
Database Migration – Simple, Cross-Engine and Cross-Platform Migration
Database Migration – Simple, Cross-Engine and Cross-Platform MigrationDatabase Migration – Simple, Cross-Engine and Cross-Platform Migration
Database Migration – Simple, Cross-Engine and Cross-Platform Migration
 
Deep Dive on Elastic Load Balancing
Deep Dive on Elastic Load BalancingDeep Dive on Elastic Load Balancing
Deep Dive on Elastic Load Balancing
 
Unleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCache Unleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCache
 
Best Practices running SQL Server on AWS
Best Practices running SQL Server on AWSBest Practices running SQL Server on AWS
Best Practices running SQL Server on AWS
 
Strategic Uses for Cost Efficient Long-Term Cloud Storage
Strategic Uses for Cost Efficient Long-Term Cloud StorageStrategic Uses for Cost Efficient Long-Term Cloud Storage
Strategic Uses for Cost Efficient Long-Term Cloud Storage
 
Choosing the Right Database Service (김상필, 유타카 호시노) - AWS DB Day
Choosing the Right Database Service (김상필, 유타카 호시노) - AWS DB DayChoosing the Right Database Service (김상필, 유타카 호시노) - AWS DB Day
Choosing the Right Database Service (김상필, 유타카 호시노) - AWS DB Day
 
Introduction to Block and File storage on AWS
Introduction to Block and File storage on AWSIntroduction to Block and File storage on AWS
Introduction to Block and File storage on AWS
 
Deep Dive on Amazon RDS
Deep Dive on Amazon RDSDeep Dive on Amazon RDS
Deep Dive on Amazon RDS
 
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech Talks
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech TalksAmazon Elasticache Deep Dive - March 2017 AWS Online Tech Talks
Amazon Elasticache Deep Dive - March 2017 AWS Online Tech Talks
 
Unleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCacheUnleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCache
 
How to Migrate your Startup to AWS
How to Migrate your Startup to AWSHow to Migrate your Startup to AWS
How to Migrate your Startup to AWS
 
Getting Started with Amazon Aurora
Getting Started with Amazon AuroraGetting Started with Amazon Aurora
Getting Started with Amazon Aurora
 
Simple, Scalable and Highly Durable NAS in the Cloud – Amazon EFS
Simple, Scalable and Highly Durable NAS in the Cloud – Amazon EFSSimple, Scalable and Highly Durable NAS in the Cloud – Amazon EFS
Simple, Scalable and Highly Durable NAS in the Cloud – Amazon EFS
 
Making (Almost) Any Database Faster and Cheaper with Caching
Making (Almost) Any Database Faster and Cheaper with CachingMaking (Almost) Any Database Faster and Cheaper with Caching
Making (Almost) Any Database Faster and Cheaper with Caching
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
AWS Summit London 2014 | Scaling on AWS for the First 10 Million Users (200)
 
Deep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million UsersDeep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million Users
 
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance DatabaseDay 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
 
AWS re:Invent 2016: Design Patterns for High Availability: Lessons from Amazo...
AWS re:Invent 2016: Design Patterns for High Availability: Lessons from Amazo...AWS re:Invent 2016: Design Patterns for High Availability: Lessons from Amazo...
AWS re:Invent 2016: Design Patterns for High Availability: Lessons from Amazo...
 

Similar to (DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services

Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinAmazon Web Services
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinIan Massingham
 
Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Amazon Web Services
 
AWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAmazon Web Services
 
ENT309 scaling up to your first 10 million users
ENT309 scaling up to your first 10 million usersENT309 scaling up to your first 10 million users
ENT309 scaling up to your first 10 million usersAmazon Web Services
 
AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924Amazon Web Services
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
AWS Summit 2013 | Singapore - Understanding Databases Options
AWS Summit 2013 | Singapore - Understanding Databases OptionsAWS Summit 2013 | Singapore - Understanding Databases Options
AWS Summit 2013 | Singapore - Understanding Databases OptionsAmazon Web Services
 
HSBC and AWS Day - Database Options on AWS
HSBC and AWS Day - Database Options on AWSHSBC and AWS Day - Database Options on AWS
HSBC and AWS Day - Database Options on AWSAmazon Web Services
 
Introduction to AWS Database Services
Introduction to AWS Database ServicesIntroduction to AWS Database Services
Introduction to AWS Database ServicesAmazon Web Services
 
Data & Analytics - Session 2 - Introducing Amazon Redshift
Data & Analytics - Session 2 - Introducing Amazon RedshiftData & Analytics - Session 2 - Introducing Amazon Redshift
Data & Analytics - Session 2 - Introducing Amazon RedshiftAmazon Web Services
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersAmazon Web Services
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersAmazon Web Services
 
Aws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled AppsAws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled AppsAmazon Web Services
 
(DAT202) Managed Database Options on AWS
(DAT202) Managed Database Options on AWS(DAT202) Managed Database Options on AWS
(DAT202) Managed Database Options on AWSAmazon Web Services
 
Introducing Database Offerings on AWS - Technical 101
Introducing Database Offerings on AWS - Technical 101Introducing Database Offerings on AWS - Technical 101
Introducing Database Offerings on AWS - Technical 101Amazon Web Services
 
Intro to database_services_fg_aws_summit_2014
Intro to database_services_fg_aws_summit_2014Intro to database_services_fg_aws_summit_2014
Intro to database_services_fg_aws_summit_2014Amazon Web Services LATAM
 

Similar to (DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services (20)

How and when to use NoSQL
How and when to use NoSQLHow and when to use NoSQL
How and when to use NoSQL
 
Create cloud service on AWS
Create cloud service on AWSCreate cloud service on AWS
Create cloud service on AWS
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit Dublin
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit Dublin
 
Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2
 
AWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDB
 
ENT309 scaling up to your first 10 million users
ENT309 scaling up to your first 10 million usersENT309 scaling up to your first 10 million users
ENT309 scaling up to your first 10 million users
 
AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924AWS Webcast - Managing Big Data in the AWS Cloud_20140924
AWS Webcast - Managing Big Data in the AWS Cloud_20140924
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
AWS Summit 2013 | Singapore - Understanding Databases Options
AWS Summit 2013 | Singapore - Understanding Databases OptionsAWS Summit 2013 | Singapore - Understanding Databases Options
AWS Summit 2013 | Singapore - Understanding Databases Options
 
HSBC and AWS Day - Database Options on AWS
HSBC and AWS Day - Database Options on AWSHSBC and AWS Day - Database Options on AWS
HSBC and AWS Day - Database Options on AWS
 
Introduction to AWS Database Services
Introduction to AWS Database ServicesIntroduction to AWS Database Services
Introduction to AWS Database Services
 
Data & Analytics - Session 2 - Introducing Amazon Redshift
Data & Analytics - Session 2 - Introducing Amazon RedshiftData & Analytics - Session 2 - Introducing Amazon Redshift
Data & Analytics - Session 2 - Introducing Amazon Redshift
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
Aws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled AppsAws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled Apps
 
(DAT202) Managed Database Options on AWS
(DAT202) Managed Database Options on AWS(DAT202) Managed Database Options on AWS
(DAT202) Managed Database Options on AWS
 
Introducing Database Offerings on AWS - Technical 101
Introducing Database Offerings on AWS - Technical 101Introducing Database Offerings on AWS - Technical 101
Introducing Database Offerings on AWS - Technical 101
 
Intro to database_services_fg_aws_summit_2014
Intro to database_services_fg_aws_summit_2014Intro to database_services_fg_aws_summit_2014
Intro to database_services_fg_aws_summit_2014
 
Using Data Lakes
Using Data LakesUsing Data Lakes
Using Data Lakes
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Dan Zamansky, Senior Product Manager, AWS Database Services Kuldeep Chowhan, Engineering Manager, Expedia Ian Ward, Software Engineer, Mapbox October 2015 DAT204 NoSQL? No Worries Building Scalable Applications on AWS NoSQL Services
  • 2. What to expect from the session • NoSQL • Why managed database service? • AWS managed services – DynamoDB and ElastiCache • Customer use case – Expedia • Customer use case – Mapbox
  • 4. NoSQL vs. SQL for a new app: how to choose? • Schema-less, easy reads and writes, simple data model • Scaling is easy • Focus on performance and availability at any scale • Strong schema, complex relationships, transactions and joins • Scaling is difficult • Focus on consistency over scale and availability NoSQL SQL
  • 5. NoSQL available on AWS Managed Amazon DynamoDB Amazon ElastiCache • Memcached • Redis Unmanaged Apache Cassandra MongoDB CouchDB Riak ….
  • 7. If you host your databases on premises Power, HVAC, net Rack & stack Server maintenance OS patches DB s/w patches Database backups Scaling High availability DB s/w installs OS installation you App optimization
  • 8. If you host your databases on premises Power, HVAC, net Rack & stack Server maintenance OS patches DB s/w patches Database backups Scaling High availability DB s/w installs OS installation you App optimization
  • 9. If you host your databases on Amazon EC2 Power, HVAC, net Rack & stack Server maintenance OS patches DB s/w patches Database backups Scaling High availability DB s/w installs OS installation you App optimization
  • 10. OS patches DB s/w patches Database backups Scaling High availability DB s/w installs you App optimization Power, HVAC, net Rack & stack Server maintenance OS installation If you host your databases on Amazon EC2
  • 11. If you choose a managed database service Power, HVAC, net Rack & stack Server maintenance OS patches DB s/w patches Database backups App optimization High availability DB s/w installs OS installation you Scaling
  • 12. Who uses AWS managed database services?
  • 14. Amazon DynamoDB • Managed NoSQL database service • Highly scalable • Consistent, single-digit millisecond latency at any scale • Highly durable and available—3x replication • Accessible via simple and powerful APIs • Supports both document and key-value data models • No table size or throughout limits
  • 15. Table Table Items Attributes Hash Key Range Key Mandatory Key-value access pattern Determines data distribution Optional Model 1:N relationships Enables rich query capabilities All items for a hash key ==, <, >, >=, <= “begins with” “between” sorted results counts top/bottom N values paged responses
  • 16. Data types String (S) Number (N) Binary (B) String Set (SS) Number Set (NS) Binary Set (BS) Boolean (BOOL) Null (NULL) List (L) Map (M) Used for storing nested JSON documents
  • 18. Provisioned throughput model and scaling Throughput provisioned at the table level WCU and RCU are independent Consumed capacity is measured per operation Scaling is achieved through automatic partitioning WCURCU
  • 21. Why in-memory? • Everything is connected - phones, tablets, cars, air conditioners, toasters • Demand for real-time performance – online games, ad tech, eCommerce, social apps, etc. • Load is spikey and unpredictable • Database performance often the bottleneck
  • 22. Amazon ElastiCache and it comes in two flavors: • AWS managed service that you use to easily create, use, and scale in-memory key-value stores in the cloud Memcached
  • 23. Memcached vs. Redis • In-memory • Multithreaded / Multicore • No persistence • String values • Easy horizontal clustering • In-memory • Single-threaded • Read replicas • Persistence • Atomic operations • Advanced data types - http://redis.io/topics/data-types • Pub/sub messaging
  • 24. asynchronousreplication Redis HA on ElastiCache Availability Zone #1 Availability Zone #2 writes use “Primary Endpoint” from Node Group reads use ‘replica’ endpoints from Node Group *can use ‘primary’ also Auto-Failover  Goes to replica with lowest replication lag  No changes in DNS
  • 25. Exciting stuff! How do I learn more? • DynamoDB: – DAT401 - Amazon DynamoDB Deep Dive: Schema Design, Indexing, JSON, Search, and More – will be available on YouTube – WRK302 - Event-Driven Programming – Wednesday, 10/7 3:15pm-5:15pm, Galileo 1006 – BDT313 - Amazon DynamoDB for Big Data – Thursday, 10/8 11am-12pm, Lando 4306 • ElastiCache – DAT407 - Amazon ElastiCache: Deep Dive, Thursday, 10/8 11am-12pm, Lando 4301B – “Performance at scale with Amazon ElastiCache” whitepaper.
  • 26. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Kuldeep Chowhan, Expedia Inc. October 7th 2015 How Expedia is Using DynamoDB and ElastiCache to Build a Real-Time Analytics System
  • 27. What to expect Introduction Overview of a real-time analytics system that leverages DynamoDB and ElastiCache Lessons learned Recommendations on using NoSQL offerings in AWS
  • 28. Who I am An Engineering Manager at Expedia, Inc. • Lead a team of engineers who provide a self-service platform for teams in our organization to use the services in AWS • Leading an effort to Dockerize our micro services Prior to Expedia Inc., I worked at • Shell • Microsoft @307redirect
  • 29. One of the world’s leading travel companies Our mission is to revolutionize travel through the power of technology Passionate We are passionate about travel. We are a company of travelers who come to work every day with passion to make travel better. Innovative We are innovative. We use our collective intelligence to invent technology and create products to simplify and improve travel for our customers and partners.
  • 30. AWS services that we use EC2 ECS S3 DynamoDB ElastiCache Lambda RDS EMR Auto Scaling Route 53 CloudFormation Direct Connect
  • 31. 2500 1000 1000 80 80 1500 10 300 300 Expedia's AWS Footprint EC2 AutoScaling CloudFormation ElastiCache RDS Route53 ECS DynamoDB s3
  • 33. What is it? • The application collects data for our test & learn experiments that run on Expedia* sites and processes them and stores them in a DB • The application processes ~200 million messages a day • The application uses Apache Storm, DynamoDB, and ElastiCache Redis • Traffic pattern varies on our Expedia* sites and the application handles burst traffic accordingly
  • 34. What is it? (continued) Continuous flow of data ElastiCache – Redis DynamoDB Apache Storm infrastructure running on distributed EC2 instances Hit / Miss Request Response
  • 35. Why DynamoDB? • We initially started out setting up Cassandra cluster for our use case • We spent more than a week setting up 3 node Cassandra ring and we were nowhere close to setting up Cassandra in AWS with clustering, monitoring for scaling out • With DynamoDB we were up and running in a less than day • Setup, monitoring, ease to scale made us choose DynamoDB over Cassandra • With DynamoDB there is no need for a team to maintain
  • 36. Initial design Single table • Primary key (String) (Experiment Date) • Secondary key (Number) • No secondary indexes The table was designed with the below assumptions • ~1.5 GB/day • Data needs to be stored for few months • Shouldn’t affect performance significantly
  • 37. Initial design Row creation • Perform read using primary key (strongly consistent) • If item doesn't exist perform write request to create Row update • Retrieve all rows corresponding to primary key • Check if update is required • Write updated values back to table
  • 38. Challenges with initial design • Due to request throttling increase in response times causing backup in the real-time analytics application • Throttling seemed to occur more frequently as table size grew larger • Table size grew to > 4.6 TB • We had to increase the write throughput on the DynamoDB table to 35000 to handle burst traffic when 3500 was sufficient to handle the sustained traffic
  • 39. Lessons learned • Take a closer look at the application access patterns • Most of the read/write requests are directed towards ‘most recent’ data • A lot of ‘repeat’ requests – wasting throughput • Read the documentation carefully • DynamoDB creates partitions for every 10 GB and in our case we have 460 partitions which caused increased response time in the application
  • 40. Current design To reduce the increased response time • We changed the design and introduced a caching layer for read • We are leveraging ElastiCache (Redis) as the caching layer • The conditional reads are read from Redis vs. from DynamoDB • With caching layer in place, the write throughput has been set to 3500 now, down from 35000
  • 41. Why ElastiCache? • Managed • Fault detection and recovery • Monitoring • Scale up and down • Multi-AZ • Backup and Restore • Supports • Redis • Memcached
  • 42. Current design – performance improvements Added a caching layer • Repeat requests don’t even make it to DynamoDB • Current cache hit ratio – 3x (3000 hits per 1000 misses)
  • 43. Results • Provisioned write capacity has been reduced from 35000 to 3500, reducing the cost significantly by 6x • Highly performant and high throughput application backed by DynamoDB and ElastiCache
  • 44. Recommendations • Take a closer look at the application access patterns so that you can design application appropriately • Add a caching layer if you have repeat requests • Configure throughput on DynamoDB, which can handle your burst traffic and doesn't slow you down
  • 45. How we use DynamoDB and ElastiCache for global delivery Ian Ward, Mapbox Mapbox global scale
  • 46. What is Mapbox How Mapbox uses AWS Why we use DynamoDB How ElastiCache improves global performance
  • 47.
  • 49. Mapbox is a mapping platform for developers
  • 50. Building blocks for anything geo Design and data Developer tools Search and geocoding Directions
  • 60. API service Client GLOBAL 9 REGIONS 2 REGIONS DNS CDN Route 53 CloudFront DNS Route 53 ELB Application servers Cache Object store Database ElastiCache S3 DynamoDB
  • 66. Not a ton of relations, no need for transactions Scale Performance Why NoSQL DynamoDB
  • 67. Managed infrastructure Fast Available in 9 regions Integration with AWS services Why we switched to DynamoDB DynamoDB
  • 68. API service Client GLOBAL 9 REGIONS 2 REGIONS DNS CDN Route 53 CloudFront DNS Route 53 ELB Application servers Cache Object store Database ElastiCache S3 DynamoDB
  • 72.
  • 73.
  • 74. Drop in back-end latency ElastiCache
  • 76.
  • 77. Even with a CDN, there are seconds to save
  • 78. Lean on AWS to manage services
  • 79. Use services strategically to reduce complexity and cost
  • 80. Learn More • DynamoDB: – DAT401 - Amazon DynamoDB Deep Dive: Schema Design, Indexing, JSON, Search, and More – will be available on YouTube – WRK302 - Event-Driven Programming – Wednesday, 10/7 3:15pm-5:15pm, Galileo 1006 – BDT313 - Amazon DynamoDB for Big Data – Thursday, 10/8 11am-12pm, Lando 4306 • ElastiCache – DAT407 - Amazon ElastiCache: Deep Dive, Thursday, 10/8 11am-12pm, Lando 4301B – “Performance at scale with Amazon ElastiCache” whitepaper.