understanding database options

31
Rahul Pathak Understanding Database Options on AWS Senior Product Manager @rahulpathak

Upload: amazon-web-services

Post on 26-Jan-2015

108 views

Category:

Technology


0 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Understanding Database Options

Rahul Pathak

Understanding Database Options on AWS

Senior Product Manager

@rahulpathak

Page 2: Understanding Database Options

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

Page 3: Understanding Database Options

Focus on your application

Page 4: Understanding Database Options

Spectrum of options

SQL NoSQL

Low Cost High Cost

Do-it-yourself Fully Managed

Not available on AWS

Page 5: Understanding Database Options

Spectrum of options

SQL NoSQL

Do-it-yourself Fully Managed

Page 6: Understanding Database Options

RDS

- MySQL

- Oracle - SQL Server

Spectrum of options

SQL NoSQL

Do-it-yourself Fully Managed MySQL

Oracle

SQL Server

PostgreSQL Your favorite RDBMS

Page 7: Understanding Database Options

Spectrum of options

SQL NoSQL

Do-it-yourself Fully Managed

MongoDB

Cassandra

Redis

Memcache Amazon DynamoDB

Amazon ElastiCache

Page 8: Understanding Database Options

Thinking about the questions

Should I use SQL or NoSQL?

Should I use MySQL on EC2 or RDS?

Should I use MongoDB,

Cassandra, or DynamoDB?

Should I use Redis, Memcache, or ElastiCache?

?

Page 9: Understanding Database Options

Actually, thinking about the right questions

What are my scale and latency needs?

What are my transactional and

consistency needs?

What are my read/write, storage

and IOPS needs?

What are my time to market and server

control needs?

?

Page 10: Understanding Database Options

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

Page 11: Understanding Database Options

Where do you want to spend your time?

Factors Do it Yourself (DIY) Fully Managed

Replication • Granular, app managed • Transparent to the app and configured by the

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

Page 12: Understanding Database Options
Page 13: Understanding Database Options

We believe in choice – one size does not fit all

Amazon RDS

+ ElastiCache

Amazon DynamoDB

Amazon Redshift

Just Launched!

Traditional Apps Relational DB Needs

New Web Apps Massive Scalability

High Performance, High Scale Data Warehouses

Page 14: Understanding Database Options

Amazon RDS is a fully managed SQL database service

Simple to deploy and scale

Without any operational burden

Reliable and cost effective

Choice of database engines

Page 15: Understanding Database Options

Schema design

Frequent server upgrades

Storage upgrades

Backup and recovery

Software upgrades

Patching

Hardware mgmt.

Query construction

Query optimization

Configuration management

Migration

Offload the “muck” to RDS

Focus on the App “innovation”

Amazon RDS drives developer and IT productivity

Page 16: Understanding Database Options

Amazon RDS Configuration

Improve Availability

Increase Throughput

Reduce Latency

Push-Button Scaling

Multi-AZ

Read Replicas

Provisioned IOPS

Read Replicas Push-Button Scaling Provisioned IOPS

Region

Multi-AZ

Availability

Zone

Availability

Zone

Amazon RDS high availability and performance options

Page 17: Understanding Database Options

Amazon RDS Read Replica

A few clicks or one API call

Do-it-yourself MySQL Read Replica

~30+ manual steps

Creating a read replica

Page 18: Understanding Database Options

Amazon RDS Multi-AZ

A few clicks or one API call

Do-it-yourself MySQL on AWS

Potentially ~100+ manual steps

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.

Creating high availability database deployments

Page 19: Understanding Database Options

Who is succeeding with RDS?

More than 30,000 developers use RDS every single day

Gaming Web Apps Mobile/Social Media

Page 20: Understanding Database Options

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…

Page 21: Understanding Database Options

Amazon ElastiCache is a fully managed

Memcached-compatible caching service

Easy to set up and operate

Scale cache clusters with push button ease

Without any operational burden

Ultra fast response time for read scaling

Page 22: Understanding Database Options

Amazon ElastiCache – Recently announced features

• Free tier & new instance sizes (Micros and Mediums)

• Amazon VPC support

• Auto Discovery

• Stay tuned…

Page 23: Understanding Database Options

Amazon DynamoDB is a fully managed NoSQL

database service

Store and retrieve any amount of data

Scale throughput to millions of I/O

Without any operational burden

Single-digit millisecond latencies

From the creators of the first NoSQL technology

Page 24: Understanding Database Options

Do-it-yourself NoSQL on AWS Amazon DynamoDB

Potentially ~100s of manual steps Three clicks or one API call

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.

Creating NoSQL deployment on AWS

Page 25: Understanding Database Options

Amazon DynamoDB: who is succeeding with it?

Page 26: Understanding Database Options

Data warehousing done the AWS way

• No upfront costs, pay as you go

• Really fast performance at a really low price

• Open and flexible with support for popular tools

• Easy to provision and scale up massively

Page 27: Understanding Database Options

Amazon Redshift is a fast, powerful, fully managed,

petabyte-scale data warehouse service

10x cheaper

Without any operational burden

Easy to use

10x faster

Page 28: Understanding Database Options

Amazon Redshift architecture

• Columnar, massively parallel processing (MPP)

• Scales from hundreds of gigabytes to a

petabyte or more

• Connects to standard SQL-based clients and BI

tools using JDBC/ODBC via Postgres drivers

• Fully-managed service

• Pay as you go, no software license fees

• VPC, SSL, and transparent data encryption

10 GigE (HPC)

Ingestion Backup Restore

JDBC/ODBC

Page 29: Understanding Database Options

Medidata Solutions

Isaac Wong

VP of Platform Architecture

Page 30: Understanding Database Options

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

Page 31: Understanding Database Options

Resources & Questions

• Rahul Pathak | [email protected] | @rahulpathak

• http://aws.amazon.com/dynamodb

http://aws.amazon.com/rds

http://aws.amazon.com/elasticache

http://aws.amazon.com/redshift

• https://aws.amazon.com/marketplace