23
Databases on AWS © 2017 Amazon Web Services, Inc. and its affiliates. All rights served. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon Web Services, Inc.

5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Databases on AWS

©2017AmazonWebServices,Inc.anditsaffiliates.Allrightsserved.Maynotbecopied,modified,ordistributedinwholeorinpartwithouttheexpressconsentofAmazonWebServices,Inc.

Page 2: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Agenda

• AWS Database Services• Traditional vs AWS Data services model• Amazon RDS• Redshift• DynamoDB• ElastiCache

Page 3: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

AWS Database Services

DynamoDB

Amazon RDS Amazon Redshift

ElastiCache

Page 4: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Traditional Database Architecture

App/Web Tier

Client Tier

RDBMS

onedatabaseforall

workloads

Page 5: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

• Key-value access• Complex queries• OLAP transactions• Analytics

Traditional Database Architecture

App/Web Tier

Client Tier

RDBMS

All forced into the relational database

Page 6: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

App/Web Tier

Client TierOnAWSchoosebestdatabaseservicefor

eachworkload

AWS Data Tier Architecture

Data Tier

Cache Data Warehouse Blob Store

RDBMSNoSQL Search

Page 7: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Workload Driven Data Store Selection

Data Tier

Cache Data Warehouse Blob Store

RDBMSNoSQL Search

loggingrichsearch

key/valuesimplequery

hotreads

analyticscomplexqueries&transactions

Page 8: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

AWS Database Services for the Data Tier

Data Tier

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon S3

Amazon CloudSearch

Amazon Redshift

loggingrichsearch

key/valuesimplequery

hotreads

analyticscomplexqueries&transactions

Page 9: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Relational DatabasesMySQL, Aurora, PostgreSQL, Oracle, SQL Server, MariaDB

Fully managed; zero adminAmazon

RDS

Aurora

Page 10: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

If you host your databases on-premises

Power,HVAC,netRack&stack

Servermaintenance

OSpatches

DBs/wpatchesDatabasebackups

ScalingHighavailability

DBs/winstalls

OSinstallation

you

Appoptimization

Page 11: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

If you host your databases in Amazon EC2

Power,HVAC,netRack&stack

Servermaintenance

OSpatches

DBs/wpatchesDatabasebackups

ScalingHighavailability

DBs/winstalls

OSinstallation

you

Appoptimization

Page 12: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

If you choose Amazon RDS

Power,HVAC,netRack&stack

Servermaintenance

OSpatches

DBs/wpatchesDatabasebackups

Appoptimization

Highavailability

DBs/winstalls

OSinstallation

you

Scaling

Page 13: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

The Self-managed vs. AWS-managed decisionSelf-managed database AWS-managed database

You have full responsibility for upgrades and backup

AWS provides upgrades, backup, and failover as a service

You have full responsibility for securityAWS provides high infrastructure security, certifications; gives you tools to ensure DB security

Full control over parameters of server,OS, and database

Database is a managed appliance, so you can easily automate

Replication is expensive, complex, and requires a lot of engineering

AWS provides failover as a packaged service

Page 14: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Key Amazon RDS Features

Amazon RDSConfiguration

ImproveAvailability

IncreaseThroughput

ReduceLatency

Push-ButtonScalingMultiAZ

ReadReplicasProvisionedIOPS

ReadReplicasPush-ButtonScaling ProvisionedIOPS

Region

Multi-AZ

availabilityzone

availabilityzone

Page 15: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Amazon RDS -- Aurora• Amazon Aurora is a MySQL-compatible relational database engine

– Built from the ground up to leverage AWS– Speed and availability of high-end commercial databases– Simplicity and cost-effectiveness of open source databases

• Retains compatibility with MySQL 5.6

• Up to 5x better performance than MySQL

• At a price point 1/10 of a commercial database

• Data is transparently replicated 6 ways among 3 Availability Zones

• Encryption at rest and in transit

• Add up to 15 Replicas

• Compatibility with PostgreSQL

Page 16: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Petabytescale

Massivelyparallel

ColumnarStore

Relationaldatawarehouse

Fullymanaged=noadmin

AmazonRedshift

foraslowas$999/TBperyear

Page 17: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Amazon Redshift• Fast and powerful, petabyte-scale data

warehouse– Fully managed Relational Database– Highly-parallel– Columnar Data Store

• Data warehouse-type queries– Aggregations, historical analysis– BI Tool integration

• Grow with your data– 160 GB à 1.6 PB

• SSD and SAS Options– SSD provides 10-15x perf @ 5.5x the cost per TB/year

Page 18: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

NoSQL Database

Seamless scalability

Zero admin

Single digit millisecond latency

AmazonDynamoDB

Page 19: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Amazon DynamoDB

• Fully managed NoSQL database service• Massively scalable, distributed key/value store• Reserved capacity model• Fast and predictable• Built-in fault tolerance• Strong consistency model• Unlimited potential storage and throughput

Page 20: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

NoSQL vs. SQL for a new app: how to choose?

• Want simplest possible DB management?

• Want app to manage DB integrity?

• Need joins, transactions, frequent table scans?

• Want DB engine to manage DB integrity?

• Team has SQL skills?

Amazon DynamoDB Amazon RDS

Page 21: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Amazon ElastiCache• In-memory cache in the cloud• Improve latency and throughput for read-heavy

workloads• Supports open-source caching engines

– Memcached– Redis

• Fully managed• Multi-AZ

• Examples– Caching of MySQL database query results– Caching of complex query post-processing results

Page 22: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

It’s all aboutchoice

Performance-orientedCost-oriented

Page 23: 5 Databases on AWS - MACUL Community€¦ · • Amazon Aurora is a MySQL-compatible relational database engine – Built from the ground up to leverage AWS – Speed and availability

Any Questions?