SlideShare a Scribd company logo
1 of 45
Download to read offline
MySQL in the Hosted
Cloud
Colin Charles, MariaDB Corporation Ab	

colin@mariadb.org | byte@bytebot.net	

http://mariadb.com/ | http://mariadb.org/ 	

http://bytebot.net/blog/ | @bytebot on Twitter	

Percona Live Santa Clara, California, USA	

14 April 2015
1
whoami
• Work on MariaDB at MariaDB Corporation
(SkySQL Ab)	

• Merged with Monty Program Ab, makers of
MariaDB	

• Formerly MySQL AB (exit: Sun
Microsystems)	

• Past lives include Fedora Project (FESCO),
OpenOffice.org
2
Agenda
• MySQL as a service offering (DBaaS)	

• Choices	

• Considerations	

• MySQL versions & access	

• Costs	

• Deeper into RDS	

• Should you run this on EC2 or an equivalent?	

• Conclusion
3
MySQL as a service
• Database as a Service (DBaaS)	

• MySQL available on-demand, without any
installation/configuration of hardware/
software	

• Pay-per-usage based	

• Provider maintains MySQL, you don’t
maintain, upgrade, or administer the database
4
New way of
deployment
• Enter a credit card
number	

• call API (or use the GUI)	

ec2-run-instances ami-
xxx -k ${EC2_KEYPAIR} -t
m1.large
nova boot --image
centos6-x86_64 --flavor
m1.large db1
5
credit: http://www.flickr.com/photos/68751915@N05/6280507539/
Why DBaaS?
• “Couldn’t we just have a few more servers
to handle the traffic spike during the
elections?”	

• Don’t have a lot of DBAs, optimise for
operational ease	

• Rapid deployment & scale-out
6
Your choices today
• Amazon Web Services Relational Database
Service (RDS)	

• Rackspace Cloud Databases	

• Google Cloud SQL
7
8
There are more
• Jelastic - PaaS offering MySQL, MariaDB	

• ClearDB - MySQL partnered with heroku,
Azure clouds	

• Joyent - Image offers Percona MySQL and a
Percona SmartMachine
9
The new entrants
• Google Compute Engine offers Percona
XtraDB Cluster as a “click-to-deploy” app	

• comes with Galera 3, Percona Toolkit,
XtraBackup as well	

• Pivotal CloudFoundry - “MySQL” PaaS which
is MariaDB Galera Cluster 10	

• Red Hat OpenShift - MySQL 5.1/5.5,
MariaDB 5.5
10
Beware
• GenieDB - globally distributed MySQL as a
service, master-master replication, works
on EC2, Rackspace, Google Compute
Engine, HP Cloud	

• Xeround - 2 weeks notice...
11
12
Regions & Availability
Zones
• Region: a data centre
location, containing
multiple Availability
Zones	

• Availability Zone (AZ):
isolated from failures
from other AZs + low-
latency network
connectivity to other
zones in same region
13
Location, location,
location
• AWS RDS: US East (N.Virginia), US West
(Oregon), US West (California), EU (Ireland,
Frankfurt),APAC (Singapore,Tokyo, Sydney), South
America (São Paulo), GovCloud	

• Rackspace: USA (Dallas DFW, Chicago ORD, N.
Virginia IAD),APAC (Sydney, Hong Kong), EU
(London)*	

• Google Cloud SQL: US, EU,Asia	

• HP Cloud: US-East (Virginia), US-West
14
Service Level
Agreements (SLA)
• AWS - 99.95% in a calendar month	

• Rackspace - 99.9% in a calendar month	

• Google - 99.95% in a calendar month	

• HP Cloud - no specific DB SLA, 99.95% in a
calendar month	

• SLAs exclude “scheduled maintenance” which may
storage I/O + elevate latency	

• AWS is 30 minutes/week, so really 99.65%
15
Support
• AWS - forums; $49/mo gets email; $100+
phone #	

• Rackspace - live chat, phone #, forums	

• Google - forums; $150/mo gets support
portal; $400+ for phone #	

• HP Cloud - phone #, chat, customer forum
16
Who manages this?
• AWS: self-management, Enterprise ($15k+)	

• Rackspace: $100 + 0.04 cents/hr over
regular pricing	

• Google: self-management	

• HP Cloud: self-management
17
MySQL versions
• AWS: MySQL Community 5.1, 5.5, 5.6	

• Rackspace: MariaDB 10, MySQL 5.6/5.1,
Percona Server 5.6	

• Google: MySQL Community 5.5, 5.6
(preview)	

• HP Cloud: Percona Server 5.5.28
18
Access methods
• AWS - within Amazon, externally via mysql client,
API access.	

• Rackspace - private hostname within Rackspace
network, API access.	

• Google - within AppEngine, a command line Java
tool (gcutil), standard mysql client	

• HP Cloud - within HP Cloud, externally via client
(trove-cli, reddwarf),API access, mysql client
19
Can you configure
MySQL?
• You don’t access
my.cnf naturally	

• In AWS you
have parameter
groups which
allow
configuration of
MySQL
20
source: http://www.mysqlperformanceblog.com/2013/08/21/amazon-rds-with-mysql-5-6-configuration-variables/
Cost
• Subscribe to relevant newsletters of your
services	

• Cost changes rapidly, plus you get new
instance types and new features (IOPS)	

• Don’t forget network access costs	

• Monitor your costs daily, hourly if possible
(EC2 instances can have spot pricing)
21
Costs:AWS
• AWS prices vary between regions	

• http://aws.amazon.com/rds/pricing/
22
Costs:AWS II
• Medium instances (3.75GB) useful for
testing ($1,577/yr [2014] vs $2,411/yr
[2013])	

• Large instance (7.5GB) production ready
($3,241/yr vs $4,777/yr [2013])	

• m3.2XL (30GB, 8vCPUs) ($12,964/yr)	

• XL instance (15GB, 8ECUs) ($9,555/yr)
23
Costs: Rackspace
• Option to have regular Cloud Database or
Managed Instances	

• 4GB instance (testing) is $2,102/yr (vs.
$3,504/yr in 2013)	

• 8GB instance (production) is $4,205/yr (vs
$6,658/yr in 2013)	

• Consider looking at I/O priority, and the
actual TPS you get
24
Costs: Google
• You must enable billing before you create Cloud
SQL instances	

• https://developers.google.com/cloud-sql/docs/billing	

• Testing (D8 - 4GB RAM) - ($4,274.15)	

• XL equivalent for production (D16 - 8GB RAM) -
($8,548.30)	

• Packages billing plans are cheaper than per-use
billing plans
25
Costs: HP Cloud
• 50% off pricing while in public beta	

• 4GB RAM, 60GB storage - $1,752/yr (usual:
$3,504/yr)	

• 8GB RAM, 120GB storage - $3,504/yr
(usual: $7,008/yr)
26
Where do you host
your application?
• Typically within the compute clusters of the
service you’re running the DBaaS in	

• This also means your language choices are
limited based on what the platform offers
(eg.AppEngine only offers Java, Python, PHP,
Go)
27
RDS: Multi-AZ
• Provides enhanced durability (synchronous
data replication)	

• Increased availability (automatic failover)	

• Warning: can be slow (1-10 mins+)	

• Easy GUI administration	

• Doesn’t give you another usable “read-
replica” though
28
External replication
• MySQL 5.6 you can do RDS -> Non-RDS	

• enable backup retention, you now have
binlog access	

• target: exporting data out of RDS	

• Replicate into RDS with 5.5.33 or later	

• AWS provides stored procedures like
mysql.rds_set_external_master nowadays
29
MySQL 5.6, MariaDB
10
• MySQL 5.6 in RDS provides crash-safe slaves, the
InnoDB memcached interface, online schema
changes, full-text InnoDB indexes, optimizer
improvements, INFORMATION_SCHEMA
enhancements, scalability/replication
improvements, PERFORMANCE_SCHEMA
enhancements	

• MariaDB 10 has much of that that, plus multi-
source replication, GTIDs that don’t require full
restarts, threadpool, audit plugin and more
30
Getting started
• Importing data into the cloud?	

• mysqldump is a good choice today	

• Upgrading from RDS 5.5 to RDS 5.6?	

• mysqldump before, but nowadays you can
do this via Read Replicas
31
Handling backups
• You don’t get to use xtrabackup!	

• Google Cloud SQL automates backups (has
a backup window - 4h)	

• Amazon has automated backups (with point-
in-time recovery), with full daily snapshots
(has a backup window). 	

• Rackspace + HPCloud allow instance
backups too
32
Monitoring
• Options are limited,AWS has the best
options currently available	

• Today you have CloudWatch	

• Google has basic read/write graphs	

• Rackspace has started with basic graphs,
visuals for MySQL coming soon, have a beta
Cloud Intelligence product
33
Storage Engines
• MySQL (/MariaDB) has many	

• cool ones include TokuDB, SPIDER,
CONNECT, CassandraSE	

• You basically use InnoDB and MyISAM with
cloud solutions	

• MyISAM on RDS won’t guarantee point-
in-time recovery, snapshot restore
34
High Availability
• Plan for node failures	

• Don’t assume node provisioning is quick	

• Backup, backup, backup!	

• “Bad” nodes exist	

• HA is not equal across options - RDS wins
so far
35
Unsupported features
• AWS: GTIDs, InnoDB Cache Warming,
InnoDB transportable tablespaces,
authentication plugins, semi-sync replication	

• Google: UDFs, replication, LOAD DATA
INFILE, INSTALL PLUGIN, SELECT ... INTO
OUTFILE
36
Provisioned IOPS
• Only available on Amazon	

• Faster, predictable, consistent I/O
performance with low latencies	

• Good throughput, RAID on backed	

• EBS is more reliable
37
More on RDS
• log access via API	

• no SUPER access to skip replication errors
easily	

• sync_binlog=0 not available	

• no OS access (sar, ps, tcpdump)	

• https://github.com/boto/boto
38
Warning: automatic
upgrades
• Regressions happen even with a minor
version upgrade in the MySQL world	

• InnoDB update that modifies rows PK
triggers recursive behaviour until all disk
space is exceeded? 5.5.24->5.5.25 (fixed:
5.5.25a)	

• Using query cache for partitioned tables?
Disabled since 5.5.22->5.5.23!
39
Benchmarking for use
• sysbench	

• OLTP test, use tables
with 20M rows and 20M
transactions, check
1-128 threads/run (run
this on RDS, Rackspace)	

• June 2013, tps,
performance per dollar,
Rackspace delivers more
performance across all
flavours except 512MB
instance	

• Yahoo! Cloud Serving
Benchmark	

• https://github.com/
brianfrankcooper/YCSB	

• Google’s PerfKit
Benchmarker	

• https://github.com/
GoogleCloudPlatform/
PerfKitBenchmarker
40
Roadmaps?
• There don’t seem to be public roadmaps.
You find out when there’s a change!	

• Presumably HPCloud will get 5.6… and
maybe Google will get some MariaDB?
41
Usability
42
Running MySQL in EC2
• Can do multiple geographic
regions via replication	

• Run just one Percona Server/
MariaDB server/instance	

• Use additional EBS volumes for
InnoDB tablespaces	

• RAID EBS volumes (RAID1)	

• Warm up data partitions, mount
partitions with noatime, nodirtime	

• Vertical scaling with SSD-backed
storage	

• Monitoring with nagios	

• Snapshot backups and save to S3	

• Can use Elastic Load Balancer	

• Can use spot instances	

• Can use tools like MHA to
provide automatic failover	

• Can use MariaDB Galera Cluster/
Percona XtraDB Cluster
43
Some closing thoughts
• Hardware varies per region	

• Sometimes, software manageability varies
per region	

• Beware cost on your credit card!
44
Q&A.ThankYou.
colin@mariadb.org | byte@bytebot.net	

http://bytebot.net/blog/ | @bytebot on Twitter	

!
Download MariaDB and give it a try: http://mariadb.org/
45

More Related Content

What's hot

Best practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityBest practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityColin Charles
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitMeet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitColin Charles
 
Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016Colin Charles
 
Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins Colin Charles
 
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
MariaDB 10 Tutorial - 13.11.11 - Percona Live LondonMariaDB 10 Tutorial - 13.11.11 - Percona Live London
MariaDB 10 Tutorial - 13.11.11 - Percona Live LondonIvan Zoratti
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016Colin Charles
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Colin Charles
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)Colin Charles
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failuresColin Charles
 
MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016Colin Charles
 
The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015Colin Charles
 
A beginners guide to MariaDB
A beginners guide to MariaDBA beginners guide to MariaDB
A beginners guide to MariaDBColin Charles
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data storesColin Charles
 
My first moments with MongoDB
My first moments with MongoDBMy first moments with MongoDB
My first moments with MongoDBColin Charles
 
Distributions from the view a package
Distributions from the view a packageDistributions from the view a package
Distributions from the view a packageColin Charles
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleColin Charles
 
MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014Colin Charles
 
MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC Colin Charles
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialColin Charles
 
MariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectMariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectColin Charles
 

What's hot (20)

Best practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityBest practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High Availability
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitMeet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web Summit
 
Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016
 
Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins
 
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
MariaDB 10 Tutorial - 13.11.11 - Percona Live LondonMariaDB 10 Tutorial - 13.11.11 - Percona Live London
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failures
 
MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016
 
The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015
 
A beginners guide to MariaDB
A beginners guide to MariaDBA beginners guide to MariaDB
A beginners guide to MariaDB
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data stores
 
My first moments with MongoDB
My first moments with MongoDBMy first moments with MongoDB
My first moments with MongoDB
 
Distributions from the view a package
Distributions from the view a packageDistributions from the view a package
Distributions from the view a package
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014
 
MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
 
MariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectMariaDB 10 and what's new with the project
MariaDB 10 and what's new with the project
 

Similar to MySQL in the Hosted Cloud - Percona Live 2015

MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted CloudColin Charles
 
Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud Colin Charles
 
Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)kayokogoto
 
Google Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App EngineGoogle Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App EngineCsaba Toth
 
Grails in the Cloud (2013)
Grails in the Cloud (2013)Grails in the Cloud (2013)
Grails in the Cloud (2013)Meni Lubetkin
 
MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)Colin Charles
 
Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted CloudColin Charles
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!Michael Collier
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么YUCHENG HU
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...Insight Technology, Inc.
 
Cloudera Impala - Las Vegas Big Data Meetup Nov 5th 2014
Cloudera Impala - Las Vegas Big Data Meetup Nov 5th 2014Cloudera Impala - Las Vegas Big Data Meetup Nov 5th 2014
Cloudera Impala - Las Vegas Big Data Meetup Nov 5th 2014cdmaxime
 
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...Amazon Web Services
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016sys army
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020Alkin Tezuysal
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStackTesora
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialColin Charles
 
MariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started TutorialMariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started Tutorialphamhphuc
 
OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackMatt Lord
 

Similar to MySQL in the Hosted Cloud - Percona Live 2015 (20)

MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted Cloud
 
MySQL in the Cloud
MySQL in the CloudMySQL in the Cloud
MySQL in the Cloud
 
Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud
 
Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)
 
Google Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App EngineGoogle Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App Engine
 
Grails in the Cloud (2013)
Grails in the Cloud (2013)Grails in the Cloud (2013)
Grails in the Cloud (2013)
 
MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)
 
Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted Cloud
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
 
Cloudera Impala - Las Vegas Big Data Meetup Nov 5th 2014
Cloudera Impala - Las Vegas Big Data Meetup Nov 5th 2014Cloudera Impala - Las Vegas Big Data Meetup Nov 5th 2014
Cloudera Impala - Las Vegas Big Data Meetup Nov 5th 2014
 
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStack
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
 
MariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started TutorialMariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started Tutorial
 
Bases de datos en la nube con AWS
Bases de datos en la nube con AWSBases de datos en la nube con AWS
Bases de datos en la nube con AWS
 
OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStack
 

More from Colin Charles

Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Colin Charles
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?Colin Charles
 
MySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerMySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerColin Charles
 
The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! Colin Charles
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialColin Charles
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Colin Charles
 
Lessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesLessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesColin Charles
 
Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?Colin Charles
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLColin Charles
 
Securing your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataSecuring your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataColin Charles
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016Colin Charles
 
Lessons from database failures
Lessons from database failures Lessons from database failures
Lessons from database failures Colin Charles
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failuresColin Charles
 

More from Colin Charles (13)

Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?
 
MySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerMySQL features missing in MariaDB Server
MySQL features missing in MariaDB Server
 
The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it!
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability Tutorial
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
 
Lessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesLessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companies
 
Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQL
 
Securing your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataSecuring your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server data
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016
 
Lessons from database failures
Lessons from database failures Lessons from database failures
Lessons from database failures
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failures
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

MySQL in the Hosted Cloud - Percona Live 2015

  • 1. MySQL in the Hosted Cloud Colin Charles, MariaDB Corporation Ab colin@mariadb.org | byte@bytebot.net http://mariadb.com/ | http://mariadb.org/ http://bytebot.net/blog/ | @bytebot on Twitter Percona Live Santa Clara, California, USA 14 April 2015 1
  • 2. whoami • Work on MariaDB at MariaDB Corporation (SkySQL Ab) • Merged with Monty Program Ab, makers of MariaDB • Formerly MySQL AB (exit: Sun Microsystems) • Past lives include Fedora Project (FESCO), OpenOffice.org 2
  • 3. Agenda • MySQL as a service offering (DBaaS) • Choices • Considerations • MySQL versions & access • Costs • Deeper into RDS • Should you run this on EC2 or an equivalent? • Conclusion 3
  • 4. MySQL as a service • Database as a Service (DBaaS) • MySQL available on-demand, without any installation/configuration of hardware/ software • Pay-per-usage based • Provider maintains MySQL, you don’t maintain, upgrade, or administer the database 4
  • 5. New way of deployment • Enter a credit card number • call API (or use the GUI) ec2-run-instances ami- xxx -k ${EC2_KEYPAIR} -t m1.large nova boot --image centos6-x86_64 --flavor m1.large db1 5 credit: http://www.flickr.com/photos/68751915@N05/6280507539/
  • 6. Why DBaaS? • “Couldn’t we just have a few more servers to handle the traffic spike during the elections?” • Don’t have a lot of DBAs, optimise for operational ease • Rapid deployment & scale-out 6
  • 7. Your choices today • Amazon Web Services Relational Database Service (RDS) • Rackspace Cloud Databases • Google Cloud SQL 7
  • 8. 8
  • 9. There are more • Jelastic - PaaS offering MySQL, MariaDB • ClearDB - MySQL partnered with heroku, Azure clouds • Joyent - Image offers Percona MySQL and a Percona SmartMachine 9
  • 10. The new entrants • Google Compute Engine offers Percona XtraDB Cluster as a “click-to-deploy” app • comes with Galera 3, Percona Toolkit, XtraBackup as well • Pivotal CloudFoundry - “MySQL” PaaS which is MariaDB Galera Cluster 10 • Red Hat OpenShift - MySQL 5.1/5.5, MariaDB 5.5 10
  • 11. Beware • GenieDB - globally distributed MySQL as a service, master-master replication, works on EC2, Rackspace, Google Compute Engine, HP Cloud • Xeround - 2 weeks notice... 11
  • 12. 12
  • 13. Regions & Availability Zones • Region: a data centre location, containing multiple Availability Zones • Availability Zone (AZ): isolated from failures from other AZs + low- latency network connectivity to other zones in same region 13
  • 14. Location, location, location • AWS RDS: US East (N.Virginia), US West (Oregon), US West (California), EU (Ireland, Frankfurt),APAC (Singapore,Tokyo, Sydney), South America (São Paulo), GovCloud • Rackspace: USA (Dallas DFW, Chicago ORD, N. Virginia IAD),APAC (Sydney, Hong Kong), EU (London)* • Google Cloud SQL: US, EU,Asia • HP Cloud: US-East (Virginia), US-West 14
  • 15. Service Level Agreements (SLA) • AWS - 99.95% in a calendar month • Rackspace - 99.9% in a calendar month • Google - 99.95% in a calendar month • HP Cloud - no specific DB SLA, 99.95% in a calendar month • SLAs exclude “scheduled maintenance” which may storage I/O + elevate latency • AWS is 30 minutes/week, so really 99.65% 15
  • 16. Support • AWS - forums; $49/mo gets email; $100+ phone # • Rackspace - live chat, phone #, forums • Google - forums; $150/mo gets support portal; $400+ for phone # • HP Cloud - phone #, chat, customer forum 16
  • 17. Who manages this? • AWS: self-management, Enterprise ($15k+) • Rackspace: $100 + 0.04 cents/hr over regular pricing • Google: self-management • HP Cloud: self-management 17
  • 18. MySQL versions • AWS: MySQL Community 5.1, 5.5, 5.6 • Rackspace: MariaDB 10, MySQL 5.6/5.1, Percona Server 5.6 • Google: MySQL Community 5.5, 5.6 (preview) • HP Cloud: Percona Server 5.5.28 18
  • 19. Access methods • AWS - within Amazon, externally via mysql client, API access. • Rackspace - private hostname within Rackspace network, API access. • Google - within AppEngine, a command line Java tool (gcutil), standard mysql client • HP Cloud - within HP Cloud, externally via client (trove-cli, reddwarf),API access, mysql client 19
  • 20. Can you configure MySQL? • You don’t access my.cnf naturally • In AWS you have parameter groups which allow configuration of MySQL 20 source: http://www.mysqlperformanceblog.com/2013/08/21/amazon-rds-with-mysql-5-6-configuration-variables/
  • 21. Cost • Subscribe to relevant newsletters of your services • Cost changes rapidly, plus you get new instance types and new features (IOPS) • Don’t forget network access costs • Monitor your costs daily, hourly if possible (EC2 instances can have spot pricing) 21
  • 22. Costs:AWS • AWS prices vary between regions • http://aws.amazon.com/rds/pricing/ 22
  • 23. Costs:AWS II • Medium instances (3.75GB) useful for testing ($1,577/yr [2014] vs $2,411/yr [2013]) • Large instance (7.5GB) production ready ($3,241/yr vs $4,777/yr [2013]) • m3.2XL (30GB, 8vCPUs) ($12,964/yr) • XL instance (15GB, 8ECUs) ($9,555/yr) 23
  • 24. Costs: Rackspace • Option to have regular Cloud Database or Managed Instances • 4GB instance (testing) is $2,102/yr (vs. $3,504/yr in 2013) • 8GB instance (production) is $4,205/yr (vs $6,658/yr in 2013) • Consider looking at I/O priority, and the actual TPS you get 24
  • 25. Costs: Google • You must enable billing before you create Cloud SQL instances • https://developers.google.com/cloud-sql/docs/billing • Testing (D8 - 4GB RAM) - ($4,274.15) • XL equivalent for production (D16 - 8GB RAM) - ($8,548.30) • Packages billing plans are cheaper than per-use billing plans 25
  • 26. Costs: HP Cloud • 50% off pricing while in public beta • 4GB RAM, 60GB storage - $1,752/yr (usual: $3,504/yr) • 8GB RAM, 120GB storage - $3,504/yr (usual: $7,008/yr) 26
  • 27. Where do you host your application? • Typically within the compute clusters of the service you’re running the DBaaS in • This also means your language choices are limited based on what the platform offers (eg.AppEngine only offers Java, Python, PHP, Go) 27
  • 28. RDS: Multi-AZ • Provides enhanced durability (synchronous data replication) • Increased availability (automatic failover) • Warning: can be slow (1-10 mins+) • Easy GUI administration • Doesn’t give you another usable “read- replica” though 28
  • 29. External replication • MySQL 5.6 you can do RDS -> Non-RDS • enable backup retention, you now have binlog access • target: exporting data out of RDS • Replicate into RDS with 5.5.33 or later • AWS provides stored procedures like mysql.rds_set_external_master nowadays 29
  • 30. MySQL 5.6, MariaDB 10 • MySQL 5.6 in RDS provides crash-safe slaves, the InnoDB memcached interface, online schema changes, full-text InnoDB indexes, optimizer improvements, INFORMATION_SCHEMA enhancements, scalability/replication improvements, PERFORMANCE_SCHEMA enhancements • MariaDB 10 has much of that that, plus multi- source replication, GTIDs that don’t require full restarts, threadpool, audit plugin and more 30
  • 31. Getting started • Importing data into the cloud? • mysqldump is a good choice today • Upgrading from RDS 5.5 to RDS 5.6? • mysqldump before, but nowadays you can do this via Read Replicas 31
  • 32. Handling backups • You don’t get to use xtrabackup! • Google Cloud SQL automates backups (has a backup window - 4h) • Amazon has automated backups (with point- in-time recovery), with full daily snapshots (has a backup window). • Rackspace + HPCloud allow instance backups too 32
  • 33. Monitoring • Options are limited,AWS has the best options currently available • Today you have CloudWatch • Google has basic read/write graphs • Rackspace has started with basic graphs, visuals for MySQL coming soon, have a beta Cloud Intelligence product 33
  • 34. Storage Engines • MySQL (/MariaDB) has many • cool ones include TokuDB, SPIDER, CONNECT, CassandraSE • You basically use InnoDB and MyISAM with cloud solutions • MyISAM on RDS won’t guarantee point- in-time recovery, snapshot restore 34
  • 35. High Availability • Plan for node failures • Don’t assume node provisioning is quick • Backup, backup, backup! • “Bad” nodes exist • HA is not equal across options - RDS wins so far 35
  • 36. Unsupported features • AWS: GTIDs, InnoDB Cache Warming, InnoDB transportable tablespaces, authentication plugins, semi-sync replication • Google: UDFs, replication, LOAD DATA INFILE, INSTALL PLUGIN, SELECT ... INTO OUTFILE 36
  • 37. Provisioned IOPS • Only available on Amazon • Faster, predictable, consistent I/O performance with low latencies • Good throughput, RAID on backed • EBS is more reliable 37
  • 38. More on RDS • log access via API • no SUPER access to skip replication errors easily • sync_binlog=0 not available • no OS access (sar, ps, tcpdump) • https://github.com/boto/boto 38
  • 39. Warning: automatic upgrades • Regressions happen even with a minor version upgrade in the MySQL world • InnoDB update that modifies rows PK triggers recursive behaviour until all disk space is exceeded? 5.5.24->5.5.25 (fixed: 5.5.25a) • Using query cache for partitioned tables? Disabled since 5.5.22->5.5.23! 39
  • 40. Benchmarking for use • sysbench • OLTP test, use tables with 20M rows and 20M transactions, check 1-128 threads/run (run this on RDS, Rackspace) • June 2013, tps, performance per dollar, Rackspace delivers more performance across all flavours except 512MB instance • Yahoo! Cloud Serving Benchmark • https://github.com/ brianfrankcooper/YCSB • Google’s PerfKit Benchmarker • https://github.com/ GoogleCloudPlatform/ PerfKitBenchmarker 40
  • 41. Roadmaps? • There don’t seem to be public roadmaps. You find out when there’s a change! • Presumably HPCloud will get 5.6… and maybe Google will get some MariaDB? 41
  • 43. Running MySQL in EC2 • Can do multiple geographic regions via replication • Run just one Percona Server/ MariaDB server/instance • Use additional EBS volumes for InnoDB tablespaces • RAID EBS volumes (RAID1) • Warm up data partitions, mount partitions with noatime, nodirtime • Vertical scaling with SSD-backed storage • Monitoring with nagios • Snapshot backups and save to S3 • Can use Elastic Load Balancer • Can use spot instances • Can use tools like MHA to provide automatic failover • Can use MariaDB Galera Cluster/ Percona XtraDB Cluster 43
  • 44. Some closing thoughts • Hardware varies per region • Sometimes, software manageability varies per region • Beware cost on your credit card! 44
  • 45. Q&A.ThankYou. colin@mariadb.org | byte@bytebot.net http://bytebot.net/blog/ | @bytebot on Twitter ! Download MariaDB and give it a try: http://mariadb.org/ 45