MySQL in the Cloud: Creating a Market-Leading DBaaS
MySQL in the Cloud: Creating a Market-Leading DBaaS
Today’s Agenda
• New Market Opportunities
• MySQL in the Cloud Today
• Product Developments Supporting New
Cloud Services
• Questions
Safe Harbor Statement
The following is intended to outline our general product
direction. It is intended for information purposes only, and
may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or
functionality, and should not be relied upon in making
purchasing decisions.
The development, release, and timing of any features or
functionality described for Oracle’s products remains at
the sole discretion of Oracle.
MySQL Is Ubiquitous In The Cloud
Hosting
IaaS, PaaS, DaaS
SaaS
Low-Cost #1 in Web Ease-of-use Scale-Out
ELASTIC SCALABILITY SECURITY
SELF HEALING MANAGEMENT & MONITORING
Driving MySQL Roadmap Development
..version of MySQL to run?
…servers down?
…will systems scale?
…security policies, change?
…performance issues?
…on-line backup?
…expensive, slow queries?
…Replication synch issues?
…managing MySQL databases?
…geographic availability?
…can I recover?
Tough Questions In The Cloud, Today
Oracle Premier Support
Oracle Product Certifications/Integrations
MySQL Enterprise High Availability
MySQL Enterprise Security
MySQL Enterprise Scalability
MySQL Enterprise Backup
MySQL Enterprise Monitor/Query Analyzer
MySQL Workbench
MySQL Enterprise Edition
Highest Levels of MySQL Scalability, Security & Uptime
Enabled 80% less DBA overhead for Latam’s leading social game developer, deployed in the cloud
MySQL Enterprise Monitor • Web-based, global view of MySQL
cloud-based instances
• Continuous, automated, rules-based monitoring and alerts (SMTP, SNMP enabled)
• Identify potential issues before customers affected by outage
• Historic and real-time trend analysis, predict future capacity requirements
• Real-time Replication Monitor with auto-discovery of master-slave topologies
• Integrated with MySQL Support
Single directory of users for centralized provisioning,
management & authentication against all granted
databases.
• Enables Cloud providers to implement global level
security using industry standard PAM and Windows
modules
• Enables Cloud consumers to enforce centralized
authentication for those accessing provisioned
database(s) over the cloud
MySQL Enterprise Security
Provisioning & Security
3. User name/password sent
to the PAM library, yes/no
answer from PAM library
returned to client.
1. Joe logs in using
application user
name/password.
Connected
CREATE USER joe
IDENTIFIED WITH 'authentication_pam'
AS ‘mysql';
App
PAM library
and various
backends
2. Connector sends the user
name/password to the
MySQL server.
Connector
4. PAM library verifies credentials
(using e.g. LDAP or Kerberos
etc) and returns yes/no answer
for delivery to client.
PAM
Authentication
MySQL Enterprise Security Example - PAM
MySQL Thread Pool Improves sustained performance/scale as user connections grow.
• 20x scale improvement in SysBench OLTP R/W benchmarks
• Reduces the need for Cloud providers to provision
additional MySQL instances to meet performance
SLAs
MySQL Enterprise Scalability
Performance & Scale Out
Default Thread Handling
Internal Clients
Default
Thread Handling
Connections
/statements
assigned
to Threads
for life
• Connections assigned to 1 thread for the life of the connection, same
thread used for all statements
• No prioritization of threads, statement executions
• Many concurrent connections = many concurrent execution threads to
consume server memory, limit scalability
Connection Execution Threads
External Clients
With Thread Pool Enabled
Internal Clients
Connection Execution Threads
External Clients
Thread Pool
Thread Group 1
Threads 1 - 4096
Thread Group 2
Threads 4097 - 8193
Thread Group N
Threads 8194 - N
• Thread Pool contains configurable number of thread groups (default = 16),
each manages up to 4096 re-usable threads
• Each connection assigned to thread group via round robin
• Threads are prioritized, statements queued to limit concurrent executions,
load on server, improve scalability as connections grow
Thread Group 1
Thread Group 2
Thread Group N
MySQL Enterprise Edition
With Thread Pool
MySQL Community Server
Without Thread Pool
20x Better Scalability with Thread Pool
0
1,000
2,000
3,000
4,000
5,000
6,000
7,000
8,000
Tra
ns
ac
tio
ns
Pe
r S
ec
on
d
Simultaneous Database Connections
MySQL 5.5 Sysbench OLTP Read/Write
MySQL 5.5.16
Oracle Linux 6.1, Unbreakable Kernel 2.6.32
2 sockets, 24 cores, 2 X 12-core
Intel(R) Xeon(R) X5670 2.93GHz CPUs
72GB DDR3 RAM
2 X LSI SCSI Disk (MR9261-8i) (597GB)
MySQL Enterprise Scalability
MySQL Enterprise Backup
• Online Backup for InnoDB
• Full, Incremental, Partial Backups (scriptable interface)
• Compression
• Point in Time, Full, Partial Recovery options
• Metadata on status, progress, history
• Unlimited Database Size
• Cross-Platform
• Windows, Linux, Unix
• Certified with Oracle Secure Backup
MEB Backup Files
MySQL Database Files
mysqlbackup
Offer on-line auto-backups for your customers
Pre-integrated, pre-tested virtual appliance for self-service deployment in minutes
• Rapid DEPLOYMENT
• Increased RELIABILITY
• Higher AVAILABILITY
• Lower COST
Oracle VM Servers
Oracle VM Server Pool
Oracle VM Oracle VM
Oracle VM Oracle VM Oracle VM
MySQL Enterprise High Availability Oracle VM Template for MySQL Enterprise Edition
MySQL Enterprise Backup 3.8 – Now GA!
- Parallel Backups, Better performance
MySQL Enterprise Monitor 3.0
- Large-scale deployments (for SaaS, cloud)
- Capacity analysis, planning, alerts
- Backup Management
- Integration with Oracle Enterprise Manager 12c
MySQL Workbench SE 5.2, 5.3
- MySQL Enterprise Security management
- MySQL Enterprise Audit management
- MySQL Enterprise Backup management
MySQL Enterprise Edition – In Progress
Innovation for the Cloud:
MySQL 5.6
MySQL 5.6 builds on MySQL 5.5 by improving:
- Performance and Scalability (up to 64 cores)
- Optimizer for better query execution times, diagnostics
- InnoDB for better transactional throughput, availability
- Replication for higher availability, data integrity
- Performance Schema for better instrumentation
- Many Other Enhancements
Available Now! Get it here:
dev.mysql.com/downloads/mysql/
MySQL 5.6 = A Better MySQL
• Subquery Optimizations
• File sort optimizations with small limit
• 4X better execution time – 40s to 10s
• Index Condition Pushdown
• 160X Better execution time – 15s to 90ms
• Postpone Materialization of views/subqueries in FROM
• 240X better execution time for EXPLAIN – 8m to 2s
• Batched Key Access and Multi Range Read
• 280X Better execution time – 2800s to 10s
MySQL 5.6: Optimizer
Provision fewer instances to meet performance SLAs
• Better Performance, Scale
• Improved thread concurrency, LRU flushing
• Reduced contention during file extension
• Increase max redo log size
• Separate tablespaces for undo log
• Fast checksum
• SSD Optimizations
• Better Recovery
• Dump and restore buffer pool
• Better Usability
• Full-text Search
• Variable page sizes – 4k, 8k
MySQL 5.6: InnoDB
Transactional by
Default
> 95% of MySQL apps run InnoDB
Exploiting latest generation of cloud hardware platforms
Users/Hosts/Accounts
Which application users, hosts, accounts are consuming the most
resources?
Summaries for Billing and Chargeback
Aggregated statistics grouped by thread, user, host, account or
object
Statements/Stages
What are my most resource intensive queries? Where do they spend
time?
Table/Index I/O, Table Locks
Which application tables/indexes cause the most load or contention?
Network I/O
What is the network load like? How long do sessions idle?
MySQL 5.6: Performance Schema Instrumentation
Capture granular resource consumption for billing
MySQL 5.6 Replication Scaling + HA for the Cloud
• Multi-Threaded Slaves
• Binary Log Group Commit
• Optimized Row-Based Replication
PERFORMANCE
• Global Transaction Identifiers
• Replication Failover & Admin Utilities
• Crash Safe Slaves & Binlogs
FAILOVER & RECOVERY
• Replication Event Checksums
DATA INTEGRITY
• Replication Utilities
• Time-Delayed Replication
• Remote Binlog Backup
• Informational Log Events
• Server UUIDs
DEV/OPS AGILITY
5x Higher Replication Performance
• SysBench, running across 10 x schemas
• Oracle Linux 6.1, Oracle Sun Fire x4150 m2 Server
0 5 10
QPS 58 144 283
0
50
100
150
200
250
300
Qu
eri
es
pe
r Se
con
d
Worker Threads
Multi-Threaded Slave Performance
Global Transaction Identifiers
• Simple to track & compare replication across the cluster – Unique identifier for each transaction written to the Binlog
• Automatically identify the most up-to-date slave for failover
• Deploy n-tier replication hierarchies
Master
GTID=123456
GTID=123456
GTID=123456 GTID=123456
• Enabling self-healing replication topologies
within and across cloud data centers
• Automated failover & recovery
– mysqlfailover Utility
• Switchover & administration
– mysqlrpladmin Utility
• Delivers HA within the core MySQL
distribution
– Eliminates the need for 3rd party solutions
– Allows extensibility to support variety of
HA mechanisms
HA Utilities Monitoring
Failed
Master
Slaves
Promoted
Master
Replication HA Utilities
• Check: Verifying pre-requisites for Replication
• Repl: Initiating Replication to the new slave
• Show: Displaying Replication topology
• HA: Detecting and failing-over from master to slave. Monitoring status.
• Implemented as Python scripts
– Available from LaunchPad or as a plug-in for MySQL Workbench
– Extensible to include custom scripting
Check Repl Show HA
Growing Suite of MySQL Utilities
Workflow for Replication Provisioning
Optimized for Web, Cloud-based, Embedded use cases
Simplified, Pluggable architecture
- Faster release, maintenance cycles
- More NoSQL options (HTTP, JSON, JavaScript, etc.)
Refactoring
- Data Dictionary on InnoDB
- Optimizer/Parser/Protocol
InnoDB
- Optimized for mass use cases (fast bulk INSERT, read only, fast
recovery), GIS
Easy HA, Replication and Sharding
MySQL Database Development Priorities
• Straight from the Source
• Largest Team of MySQL Experts
• Backed by MySQL Developers
• Forward Compatible Hot Fixes
• MySQL Maintenance Releases
• MySQL Support in 29 Languages
• Direct Access to MySQL Support Engineers
• 24/7/365
• Unlimited Incidents
• Knowledge Base
• MySQL Consultative Support
Supporting your DBaaS
Oracle Premier Support for MySQL
"The rep that assisted me was
simply outstanding. He immediately
recognized the cause of my problem
and provided the resolution.”
mysql.com/support/quotes
Only From
Oracle
..version of MySQL to run?
…servers down?
…will systems scale?
…security policies, change?
…performance issues?
Where/When/How to Tune?
…expensive, slow queries?
…Replication synch issues?
…managing Oracle and MySQL databases?
…Developers productive?
…can I recover?
Tough Questions, Real Solutions
• MySQL Enterprise Scalability
• MySQL Enterprise Monitor, Advisors, Query Analyzer
• MySQL Consultative Support
• MySQL Enterprise Monitor, Query Analyzer
• MySQL Enterprise Monitor, Advisors, Query Analyzer
• MySQL Consultative Support
• MySQL Enterprise Monitor, Replication Monitor
• Oracle Premier 7x24 Support
• MySQL Enterprise Scalability
• MySQL Enterprise Monitor, Advisors, Query Analyzer
• MySQL Consultative Support
• Oracle Premier 24x7 Support
• MySQL Enterprise Monitor, Advisors
• MySQL Enterprise High Availability
• MySQL External Authentication
• MySQL Enterprise Monitor, Security Advisor
• MySQL Workbench SE
• MySQL Enterprise Monitor, Query Analyzer
• Oracle Premier 24x7 Support
• MySQL Enterprise Backup
• MySQL Enterprise Oracle Certifications/Integrations
Summary
MySQL is the Leading Web Database
MySQL is Ubiquitous in the Cloud
Easy to Develop, Deploy & Manage:
On Premise, Private Clouds,
Public Clouds
• mysql.com
• MySQL Products and Editions
• TCO calculator
• White Papers
• Customer use cases and success stories
• dev.mysql.com
• Downloads
• Documentation
• Forums
• PlanetMySQL
• eDelivery.oracle.com
• Download and evaluate all MySQL products
Learn More
MySQL Workbench SE Database Design
• Visual Design, modeling
• Forward/Reverse Engineer
• Schema validation, Schema doc
SQL Development
• SQL Editor - Color Syntax
Highlighting
• Objects - Import/Export, Browse/Edit
• Connections - Wizard, SSH Tunnel
Database Administration
• Status, Configuration, Start/Stop
• Users, Security, Sessions
• Import/Export Dump Files
Scripting & Plug-in Support
UI Designed to match VS 2010
Saves you time developing and managing your Cloud based MySQL applications.
MySQL Replication Evolution Scalability and HA for the Cloud
• Improves read consistency from slaves
• Reduces risk of data loss if master fails
PERFORMANCE
• Minimize service interruption
• Self-Healing
FAILOVER & RECOVERY
• Correct, consistent & accessible
DATA INTEGRITY
• Reducing TCO
• Quickly responding to business demand
DEV/OPS AGILITY
Copyright 2012 Oracle Corporation
36
MySQL Cluster High Write Scalability, Real Time Performance, 99.999% Uptime
Copyright 2011 Oracle Corporation 37
• Web • High Volume OLTP
• eCommerce
• User Profile Management
• Session Management & Caching
• Content Management
• Online Gaming
• Telecoms
• Subscriber Databases (HLR/HSS)
• Service Delivery Platforms
• VoIP, IPTV & VoD
• Mobile Content Delivery
• Mobile Payments
• LTE Access http://www.mysql.com/customers/cluster/
MySQL Cluster
Ideal For The Cloud
• Auto-sharding for transparent scaling
• Elastic, on-demand scalability
• Multi-master for write-intensive applications
• Shared nothing, distributed design for 99.999% uptime
• Auto failover and self healing recovery
• Geo-redundancy supporting multiple Availability Zones
• Low latency, real-time responsiveness
MySQL Cluster Architecture
Data Nodes
Node Group 1
F1
F3
F3
F1
No
de
1
No
de
2
Node Group 2
F2
F4
F4
F2
Node 3
N
ode 4
Application Nodes
Cluster
Mgmt
Cluster
Mgmt
REST JPA
MySQL Cluster 7.2
• 70x Higher Complex Query Performance: Adaptive Query Localization
• Native Memcached API
• MySQL 5.5 Server Integration
• VM Support
Enabling Next Generation Web Services
• Multi-Site Clustering
• Simplified Active / Active Replication
Enhancing Cross Data Center Scalability
• MySQL Cluster Manager
• Consolidated Privileges
Ease of Use
API Flexibility: SQL & NoSQL Combined
• SQL: Complex, relational queries
• HTTP / memcached: Key-Value web services
• Java: Enterprise Apps
• NDB API: Real-time services
Mix
&
Match
Data Nodes
NDB API
Clients
Native memcached HTTP/REST
JDBC / ODBC
PHP / PERL
Python / Ruby