In addition to running databases in Amazon EC2, AWS customers can choose among a variety of managed database services. These services save effort, save time, and unlock new capabilities and economies. In this session, we make it easy to understand how they differ, what they have in common, and how to choose one or more. We explain the fundamentals of Amazon DynamoDB, a fully managed NoSQL database service; Amazon RDS, a relational database service in the cloud; Amazon ElastiCache, a fast, in-memory caching service in the cloud; and Amazon Redshift, a fully managed, petabyte-scale data-warehouse solution that can be surprisingly economical. We’ll cover how each service might help support your application, how much each service costs, and how to get started.
Speaker:
Shaun Pearce, AWS Solutions Architect
4. 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
App optimization
5. 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
App optimization
6. If you host your databases in 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
App optimization
7. If you host your databases in Amazon EC2
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
App optimization
Power, HVAC, net
Rack & stack
Server maintenance
OS installation
8. If you choose a managed DB 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
Scaling
9. The self-managed vs. AWS-managed decision
Self-managed database (EC2) AWS-managed database
Operations
You have full responsibility for
upgrades and backup
AWS provides upgrades and backups
as a service
Security
You have responsibility for security
of the OS and above
AWS provides security of the OS and
DBMS installation and gives you tools
to ensure DB security
Control
Full control over parameters of OS
and database
Database is a managed appliance, so
you can easily automate
High Availability
Replication can be complex and
requires a lot of operational
support
AWS provides failover as a packaged
service
10. A Managed Service for Each Major DB Type
Amazon
DynamoDB
Document and
key-value store
Amazon
RDS
SQL database
engines
Amazon
ElastiCache
In-memory
cache
Amazon
Redshift
Data
warehouse
12. Amazon DynamoDB: a managed document and
key-value store
• Simple and fast to deploy
• Simple and fast to scale (to millions of IOPS)
• Data is automatically replicated
• Fast, predictable performance (backed by SSD storage)
• Secondary indexes offer fast lookups
• No cost to get started; pay only for what you consume
13. Amazon DynamoDB is a schemaless database
table items
Attributes (name/
value pairs)
14. Each item must include a key
Hash key
(DynamoDB maintains an
unordered index)
CustomerID
Top
Scores
15. Each item must include a key
Range key
(DynamoDB maintains a
sorted index)
Hash key
CustomerID
GameTitle
Top
Scores
16. Local Secondary Indexes = alternate range keys
Range key
Hash key LSI
CustomerID
GameTitle
TopScore
Top
Scores
19. DynamoDB: What are capacity units?
1 1
1 1
Pay to bearer
on demand
1 write per sec
of up to 1KB
One write capacity unit
One read capacity unit
1 1
1 1
Pay to bearer
on demand
1 read per sec
of up to 4KB
Eventually consistent reads at 50% off!
23. How DynamoDB billing works
Monthly
bill GB
Assumes DB instance accessed only from AWS region
Further details at http://aws.amazon.com/dynamodb/pricing/
Storage consumed
(plus 100 bytes per item)
= + +
≈ + +100 GB * $0.25 100 * 720 hrs * $0.0065/10 200 * 720 hrs * $0.0065/50
≈ $165.40
100
Write capacity units
200
Read capacity units
25. Amazon RDS: a managed SQL service
• Simple and fast to deploy
• Simple and fast to scale
• AWS handles patching, backups, replication
• Compatible with your applications
– Choose among Amazon Aurora, MySQL,
PostgreSQL, Oracle, SQL Server
• Fast, predictable performance
• No cost to get started; pay only for what you consume
26. How Amazon RDS delivers high performance
• Choose General Purpose (SSD) storage for most
workloads
– 3 IOPS per GB provisioned, with burst capability up to 3000 IOPS
• Choose Provisioned IOPS (SSD) storage for high,
predictable performance
– Provision up to 3 TB storage and 30K IOPS per instance
– Scale IOPS up or down online
• Choose a database instance type with the right
amount of CPU and memory
27. How Amazon RDS backups work
• Automated backups
– Restore your database to a point in time
– Enabled by default
– Choose a retention period, up to 35 days
• Manual snapshots
– Initiated by you
– Persist until you delete them
– Stored in Amazon Simple Storage Service (Amazon S3)
– Build a new database instance from a snapshot when needed
28. Choose Multi-AZ for greater availability
• An Availability Zone is a physically distinct,
independent infrastructure
• With Multi-AZ operation, your database is
synchronously replicated to another zone in the
same AWS region
• Failover occurs automatically in response to the
most important failure scenarios
• Planned maintenance is applied first to backup
29. Choose Read Replicas for greater scalability
• Offload read traffic to an automatically maintained read replica
• Create multiple read replicas, load-share traffic
• Easy to set up
• Available in Amazon RDS for MySQL and PostgreSQL
RDS
30. Choose cross-region snapshot copy for even greater
durability, ease of migration
• Copy a database
snapshot to a
different AWS
region
• Warm standby for
disaster recovery
• Or use it as a base
for migration to a
different region
31. Choose cross-region read replicas for enhanced
data locality, even more ease of migration
• Even faster recovery
in the event of
disaster
• Bring data close to
your customers
• Promote to a master
for easy migration
32. How to scale with Amazon RDS
• Scale up or down with resizable instance types
• Scale your storage up with a few clicks while
online
• Offload read traffic to read replicas
• Use a cache (more on this in a while)
• Amazon RDS takes some of the pain out of
sharding
33. Amazon Aurora: High Availability by Default
• MySQL compatible
• Delivers 5x MySQL’s
throughput on the same
hardware
• Your data is replicated 6 ways
across 3 AZs
• Storage grows up to
64 TB seamlessly
• Up to 15 Aurora Replicas with
instant crash recovery
AZ 1 AZ 2 AZ 3
Virtualized, cross-AZ storage layer
Aurora
Aurora Aurora Aurora Aurora
34. How Amazon RDS billing works
Monthly
bill = GB+
Assumes DB instance accessed only from Amazon EC2
Further details at http://aws.amazon.com/rds/pricing/
= 720 hrs * $0.20 + 100 GB * $0.115
= $155.5
db.m3.large; MySQL;
Dublin; Single-AZ;
On-Demand
100 GB
General Purpose
(SSD)
4 vCPUs;
15 GiB
RAM
36. ElastiCache: resizable in-memory cache
• High performance, resizable in-memory
caching
• Speed your application by bypassing
database access and disk storage
• Compatible with your existing applications
– Choose between the popular memcached and Redis
engines
37. Use Cases for Amazon ElastiCache
• Performance or cost optimization of an
underlying database
• Storage of ephemeral key-value data
• High-performance application patterns
41. Amazon Redshift: a managed data warehouse
• Petabyte-scale columnar
database
• Fully managed, fault tolerant
architecture
• Fast response time
– ~10x that of typical relational stores
• Pricing as low as $1,000 per
TB per year
42. Who uses Amazon Redshift?
• Reduce costs by halting
future HW expansion
• Migrate completely from
existing DW systems
• Respond faster to business;
provision in minutes
• Improve performance by an
order of magnitude
• Make more data available
for analysis
• Access business data via
standard reporting tools
• Add analytic functionality to
applications
• Scale DW capacity as
demand grows
• Reduce HW & SW costs by
an order of magnitude
Traditional Enterprise DW Companies with Big Data SaaS Companies
44. Amazon Redshift dramatically reduces I/O
• Column storage
• Data compression
• Zone maps
• Direct-attached storage • With row storage you do
unnecessary I/O
• To get average age, you have
to read everything
ID Age State Amount
123 20 CA 500
345 25 WA 250
678 40 FL 125
957 37 WA 375
45. • With column storage, you
only read the data you need
ID Age State Amount
123 20 CA 500
345 25 WA 250
678 40 FL 125
957 37 WA 375
• Column storage
• Data compression
• Zone maps
• Direct-attached storage
Amazon Redshift dramatically reduces I/O
52. Review: AWS Managed Database Services
Amazon
DynamoDB
Document and
key-value store
Amazon
RDS
SQL database
engines
Amazon
ElastiCache
In-memory
cache
Amazon
Redshift
Data
warehouse
53. Benefits of AWS Database Services
Pay only for what
you use
No up-front cost
Managed services
AWS handles installs,
patching, restarts
Designed for use
with other AWS
services
Amazon
EC2
Amazon
SNS
Amazon
S3
Amazon
VPC
Amazon
CloudWatch
AWS
Data Pipeline
Easy to scale
Grow as you need