With AWS you can choose the right database for the right job. Given the myriad of choices, from relational databases to non-relational stores, this session will profile details and examples of some of the choices available to you (MySQL, RDS, Elasticache, Redis, Cassandra, MongoDB and DynamoDB), with details on real world deployments from customers using Amazon RDS, ElastiCache and DynamoDB.
2. We want to make it easy for you to go from
1. Zero to Application in ____ Minutes
2. Zero to Millions of users in ____ Days
3. Zero to “Profits!” ASAP
8. Thinking about the questions
Should I use SQL or Should I use MySQL
NoSQL? on EC2 or RDS?
Should I use
MongoDB,
? Should I use Redis,
Cassandra, or Memcache, or
DynamoDB? ElastiCache?
9. Actually, thinking about the right questions
What are my
What are my scale transactional and
and latency needs? consistency needs?
What are my
? What are my time to
read/write, storage market and server
and IOPS needs? control needs?
10. What’s important for your application and your team?
Factors SQL NoSQL
Application • App with complex business logic? • Web app with lots of users?
Transactions • Complex transactions, joins, updates? • Simple data model, updates, queries?
Scale • Developer managed • Automatic, on-demand scaling
Performance • Developer architected • Consistent, high performance at scale
Availability • Architected for fail-over • Seamless and transparent
Core Skills • SQL + Java/Ruby/Python/PHP • NoSQL + Java/Ruby/Python/PHP
Best of both worlds: Use both SQL and NoSQL models in one app
11. Where do you want to spend your time?
Factors Do it Yourself (DIY) Fully Managed
• Transparent to the app and configured by the
Replication • Granular, app managed
service
Monitoring • Specific agents and custom • Automated and API driven
Security • Root access, custom configurations • Hardened by the service
Resources • Requires more dev resources and time • Requires minimal dev resources and time
Time to market • Sophistication vs. speed • Rapid iteration
Required Skills • Systems, databases, monitoring focused • Application development, User centric
Best of both worlds: Possible to manage different tiers differently
12.
13. We believe in choice – one size does not fit all
Traditional Apps Amazon RDS Amazon New Web Apps
Relational DB Needs + DynamoDB Massive Scalability
ElastiCache
Amazon
Redshift
Just Launched!
High Performance, High Scale
Data Warehouses
14. Amazon RDS is a fully managed SQL database service
Choice of database engines
Simple to deploy and scale
Reliable and cost effective
Without any operational burden
15. Amazon RDS drives developer and IT productivity
Migration
Backup and recovery
Schema design Patching
Query construction Configuration management
Query optimization Software upgrades
Storage upgrades
Frequent server upgrades
Focus on the App “innovation”
Hardware mgmt.
Offload the “muck” to RDS
16. Amazon RDS high availability and performance options
Amazon RDS Improve Increase Reduce Multi-AZ
Configuration Availability Throughput Latency
Push-Button Scaling
Multi-AZ
Availability Availability
Zone
Read Replicas Zone
Provisioned IOPS Region
Push-Button Scaling Provisioned IOPS
Read Replicas
17. Creating a read replica
Do-it-yourself MySQL Read Replica Amazon RDS Read Replica
~30+ manual steps A few clicks or one API call
18. Creating high availability database deployments
Do-it-yourself MySQL on AWS Amazon RDS Multi-AZ
Set up primary and standby instances
Set up identical volumes
Create synchronous replication
Create and manage DNS entries
Detect instance failure conditions
Detect network failure conditions
Detect storage failure conditions
Decide when to fail-over….
Re-establish primary secondary connections.
Potentially ~100+ manual steps A few clicks or one API call
19. Who is succeeding with RDS?
More than 30,000 developers use RDS every single day
Gaming Web Apps Mobile/Social Media
20. Amazon RDS – Recently announced features
• 3 TB database size & 30,000 IOPS
• Online conversion from Standard to Provisioned IOPS storage
• Promote Read Replica to Master
• Stay tuned…
21. Amazon ElastiCache is a fully managed
Memcached-compatible caching service
Easy to set up and operate
Scale cache clusters with push button ease
Ultra fast response time for read scaling
Without any operational burden
22. Amazon ElastiCache – Recently announced features
• Free tier & new instance sizes (Micros and Mediums)
• Amazon VPC support
• Auto Discovery
• Stay tuned…
23. Amazon DynamoDB is a fully managed NoSQL
database service
From the creators of the first NoSQL technology
Store and retrieve any amount of data
Scale throughput to millions of I/O
Single-digit millisecond latencies
Without any operational burden
24. Creating NoSQL deployment on AWS
Do-it-yourself NoSQL on AWS Amazon DynamoDB
Select the right NoSQL Database engine
Deploy hardware configurations
Set up software configurations
Decide and deploy replication configurations
Create and manage DNS entries
Detect instance failure conditions
Detect network failure conditions
Detect storage failure conditions
Decide when to fail-over….
Re-establish application connections.
Potentially ~100s of manual steps Three clicks or one API call
26. Data warehousing done the AWS way
• Easy to provision and scale up massively
• No upfront costs, pay as you go
• Really fast performance at a really low price
• Open and flexible with support for popular tools
27. Amazon Redshift is a fast, powerful, fully managed,
petabyte-scale data warehouse service
10x faster
10x cheaper
Easy to use
Without any operational burden
28. Amazon Redshift architecture
• Columnar, massively parallel processing (MPP)
• Scales from hundreds of gigabytes to a JDBC/ODBC
petabyte or more
• Connects to standard SQL-based clients and BI
tools using JDBC/ODBC via Postgres drivers
10 GigE
• Fully-managed service (HPC)
• Pay as you go, no software license fees
• VPC, SSL, and transparent data encryption
Ingestion
Backup
Restore
30. Choose the best tool for the job
• One size does not fit all
• Managed or do-it-yourself offerings for virtually all use cases
– These aren’t mutually exclusive
• Focus on your application