what is new in mysql? (lars thalmann)
DESCRIPTION
TRANSCRIPT
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.1
What is new in MySQL?
Lars ThalmannDevelopment Director, MySQL Engineering, OracleMySQL Replication, Enterprise Backup, Connectors, and Utilities
Highload 2012, 23 October 2012, Moscow
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2
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.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3
12 years with MySQL 2001 Joined Alzato (MySQL Cluster)
(MySQL releases 3.23 GA) 2003 MySQL acquires Alzato
(MySQL 4.0 GA) 2004 MySQL 4.1 GA 2005 MySQL 5.0 GA
2008 Sun acquires MySQL MySQL 5.1 GA
2010 Oracle acquires Sun MySQL & InnoDB in same company MySQL 5.5 GA
2012 MySQL 5.6 RC, MySQL Cluster 7.3 DMR, MySQL Enterprise Backup 3.8, Connector Python GA, ...
MySQL Replication, Connectors,
Enterprise Backup, Utilities
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4
2003 MySQL acquires Alzato
“It must be possible to install the software in 15 minutes.” “The source must be available to everyone.” “Everyone can download the software.” Chat systems, Agile development, 250 emails/day
RESULT:
MySQL Cluster became much easier to use.And Open Source.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5
2008 Sun acquires MySQL
“Yeah, sure it is fast, but not on real computers.” “MySQL is only one of many products at Sun.” “There are people to help, especially with performance.”
RESULT:
MySQL performance started to increase a lot.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6
2010 Oracle acquires Sun
“Oracle drives innovation. Make MySQL a better MySQL.” “Security is key.” “Quality and testing is essential.” MySQL & InnoDB in the same company
RESULT:
More development than ever before. More secure, more features, more testing. Huge InnoDB & MySQL performance improvements.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7
DELIVERING MORE BETTER PRODUCTS FASTERORACLE DRIVES
MySQL INNOVATION
DELIVERING MORE BETTER PRODUCTS FASTER
DELIVERING MORE AND BETTER PRODUCTS FASTER
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8
Improving the MySQL Experience
Users: MySQL 5.6 RC, MySQL Cluster, Labs
Customers: Additional Commercial Extensions
Oracle customers using MySQL: Integrations
Across all major platforms
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9
MySQL Enterprise Monitor 2.2
MySQL Cluster 7.1
MySQL Cluster Manager 1.0
MySQL Workbench 5.2
MySQL Database 5.5
MySQL Enterprise Backup 3.5
MySQL Enterprise Monitor 2.3
MySQL Cluster Manager 1.1
Driving MySQL Innovation
All GA!
MySQL Enterprise Backup 3.7
Oracle VM Template for MySQL Enterprise Edition
MySQL Enterprise Oracle Certifications
MySQL Windows Installer
New MySQL Enterprise Commercial Extensions
MySQL Database 5.6 DMR*
MySQL Cluster 7.2 DMR
MySQL Labs!
(“early and often”)
All GA!
MySQL Cluster 7.2
MySQL Utilities 1.0.6
Microsoft SQL Server Migration Wizard
MySQL Database 5.6.6 DMR
MySQL Cluster 7.3 in MySQL Labs
*Development Milestone Release
2010 2011 Q1-Q2 2012
All GA!
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10
Oracle Significantly Invests in MySQL
Complete Solutions Best of Breed at Every Level On Premise and in the Cloud MySQL: Web, Mobile & Embedded
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11
Best of Breed Components for LAMP Apps
Oracle Linux Higher Performance,
Unbreakable Enterprise Kernel Lower Cost, Free to download &
distribute Management Tools included High Availability included Easier Deployment
Oracle VM Oracle VM 3.0 4x More
Scalable than VMWare Lower Cost, Free to download &
distribute Application-Driven, Awareness
of what’s running inside the VM Integrated Management Accelerated Deployment
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12
40% DATA GROWTH PER YEAR
5.9BN MOBILE SUBS IN 2011
OVER 1.2 BILLION iOS & ANDROID APPS IN 2012
85% HANDSETS SHIPPED WITH A
BROWSER
$1TR BY 2013
$700BN IN 2011
2.2BN USERS
630M WEB SITES
400m TWEETS PER DAY
955M USERS
552M DAILY ACTIVE
72 HOURS UPLOADED EVERY
MINUTE
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13
The Best of Both Words - No Trade-OffsSQL AND NoSQL
Mix Key Value & Complex Queries
Transactional Integrity
Standards & Skillsets
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14
Improving the User Experience on Windows
New Microsoft SQL Server to MySQL Migration Wizard New “MySQL for Excel” plug-in New MySQL Notifier Enhanced Installer
Hardware Configuration:Intel x86_64 Servers: 4, CPUs/Server: 4, Cores/CPU: 8
Reduce your Database TCO by up to 90%
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15
STRONG MySQL MOMENTUM
Over 15 million estimated active installations Facebook: 163K fans, +35% YoY Growth Twitter: 25K followers, +67% YoY Growth MySQL Newsletter: 1,35 M subscribers, +20% YoY Growth Events: Dozens of fully booked Dev Days & Tech Tours Awards: CRN, Linux Journal, PHP Architect... MySQL Ubiquitous in the Cloud MySQL Connect 2012 at Oracle Open World
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16
Announcements fromMySQL Connect 2012, Oracle Open World
MySQL 5.6 RC MySQL Enterprise Backup 3.8 MySQL Cluster 7.3 First Development Milestone Release MySQL Connector Python GA New MySQL Enterprise Commercial Extensions
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.17
MySQL 5.6 RC
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.18
MySQL 5.6 builds on MySQL 5.5 by improving:
- InnoDB for better transactional throughput, availability
- Optimizer for better query execution times, diagnostics
- Replication for high availability, data integrity
- Performance Schema for better instrumentation
- Other Important Enhancements
Available Now! Get it here:
dev.mysql.com/downloads/mysql/
MySQL 5.6 Release Candidate
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.19
Better Performance, Scalability- Removal of legacy mutexes, CPU cache sharing- Improved threading and concurrency- Optimizations for Read Only workloads- SSD optimizations
Better Availability- Online DDL operations- Dump, restore/warm buffer pool
More Flexibility- Full Text Search - Transportable Tablespaces- NoSQL, Key-value access to InnoDB
MySQL 5.6: InnoDB
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.20
Key-value access to InnoDB- via industry standard Memcached API- Use existing Memcached clients- Bypasses full SQL parsing
NotOnlySQL access- For key-value operations- SQL for rich queries, JOINs, FKs, etc.
Implemented via:- Memcached plug-in to mysqld - Memcached mapped to native InnoDB
API- Shared process for ultra-low latency
InnoDB Storage Engine
MySQL Server Memcached plugin
Application
SQL (MySQL Client)
NoSQL (Memcached Protocol)
mysqld
MySQL 5.6: InnoDBBest of Both Worlds
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.21
Subquery Optimizations File sort optimizations with small limit Index Condition Pushdown Postpone Materialization of views/subqueries in FROM Batched Key Access and Multi Range Read Better Diagnostics
Huge Performance Improvements!
MySQL 5.6: Optimizer
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.22
EXPLAIN
- INSERT, UPDATE, and DELETE- Structured EXPLAIN output
Optimizer Traces
MySQL 5.6: OptimizerBetter Diagnostics
SET SESSION.OPTIMIZER_TRACE=‘enabled=on’;
SELECT (SELECT 1 FROM t6 WHERE d = c)
AS RESULT FROM t5;
SELECT * FROM information_schema.OPTIMIZER_TRACE;
"records_estimation": [ { "database": "test", "table": "t6", "range_analysis": { "table_scan": { "records": 2, "cost": 4.5034 }, "potential_range_indices": [ { "index": "d", "usable": true, "key_parts": [ "d" ] } ], "best_covering_index_scan": { "index": "d", "cost": 1.4233, "chosen": true },
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.23
• Less stale reads from slaves• Reduces risk of data loss if master fails
• Minimize service interruption• Self-Healing
• Correct, consistent & accessible
• Reducing TCO• Quickly responding to business demand
MySQL 5.6 Replication: Design Goals
PERFORMANCE PERFORMANCEPERFORMANCE
DATA INTEGRITYDATA INTEGRITY
AGILITYAGILITY
FAILOVER & RECOVERYFAILOVER & RECOVERY
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.24
• Multi-Threaded Slaves• Binary Log Group Commit• Optimized Row-Based Replication
• Global Transaction Identifiers• Replication Failover & Admin Utilities• Crash Safe Slaves & Binlogs
• Replication Event Checksums
• Time Delayed Replication• Remote Binlog Backup• Informational Log Events
MySQL 5.6 Replication: EnhancementsPERFORMANCE PERFORMANCE
PERFORMANCEPERFORMANCE
FAILOVER & RECOVERYFAILOVER & RECOVERY
DATA INTEGRITYDATA INTEGRITY
AGILITYAGILITY
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.25
5x Faster Replication Multi-Threaded Slaves
– Updates applied in parallel, across schemas
– Increases slave throughput
Binary Log Group Commit– Groups updates to the binlog
– Increases master performance
Optimized Row Based Replication– Only replicates row elements that have
changed
– Reduces binlog size
0 5 100
50
100
150
200
250
300
Multi-Threaded Slave Performance
Worker Threads
Qu
erie
s p
er S
eco
nd
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.26
FailedMaster
Slaves
PromotedMaster
Failover & Recovery: Self-Healing Replication
Global Transaction Identifiers– Simple to track replication progress
through the cluster
MySQL HA Utilities– Automate failover, switchover & recovery
– Fully configurable slave promotion policies
Crash-Safe Slaves & Binlog– Automatically recover transactions and
replication state
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.27
MySQL 5.6 Performance Schema
New Instrumentation Statements/Stages Table and Index I/O Table locks Users/Hosts/Accounts Network I/O
New Features Host cache New Summary tables Easier configuration
- Start up defaults in my.cnf- Auto tune
Reduced overhead
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.28
Major overhaul of password handling, improved encryption- Provide alternatives to showing passwords in plain text- Assess/Enforce password strength policies- Enforce new password at next login- Stronger password hashing
MySQL 5.6: Security
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.29
New default configuration optimizations TIME/TIMESTAMP/DATETIME - fractional second precision TIMESTAMP/DATETME – default /auto update = CURENT_TIMESTAMP TIMESTAMP – now nullable by default Improved Partitioning
- Better performance for tables w/100s of partitions- Import/export tables to/from partitioned tables- Explicit partition selection
GIS: Precise spatial operations and more...
Get it now!dev.mysql.com/downloads/mysql/
MySQL 5.6: Other Important Enhancements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.30
MySQL CLUSTER 7.3
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.31
MySQL Cluster 7.3 DMR #1: Foreign Keys
Brings MySQL Cluster to a broader range of workloads– Packaged apps, custom projects
Adds powerful functionality while reducing complexity– App logic & data model
Enabled by default Enforced for SQL & NoSQL APIs APIs
On-line add and drop
county(PK) country
Shropshire England
Buckinghamshire England
Berkshire England
Oxfordshire England
town(PK) county
Reading Berkshire
Shrewsbury Shropshire
Maidenhead Berkshire
Oxford Oxfordshire
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.32
MySQL Cluster 7.3: Node.js NoSQL APIEarly Access Feature
Native JavaScript access to MySQL Cluster– End-to-End JavaScript: browser to the app and
database
– Storing and retrieving JavaScript objects directly in MySQL Cluster
– Eliminate SQL transformation
Implemented as a module for node.js– Integrates full Cluster API library within the web app
Couples high performance, distributed apps, with high performance distributed database
V8 JavaScript Engine
MySQL Cluster Node.js Module
MySQL Cluster Data Nodes
Clients
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.33
Evaluating MySQL Cluster 7.3
http://dev.mysql.com/downloads/cluster/
Development Release Tab
http://labs.mysql.com/
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.34
MySQL Enterprise
COMMERCIAL extensions
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.35
Oracle Premier Lifetime 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 EditionHighest Levels of MySQL Scalability, Security and Uptime
MySQL Enterprise Audit
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.36
Do I know…
…What did they change?
…what happened?
…Who can see it?
…What did they see?
…Who can change it?
…Are my apps compliant with company and legal requirements?
…and when?
Can I prove what I believe to be true?
#1 DBA Concern - Is My Data Safe?
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.37
Out-of-the-box logging of connections, logins, query activity across all or specific MySQL servers
User defined policies, filtering and log rotation Dynamically enabled, disabled: no server restart XML-based audit stream per Oracle audit specification MySQL 5.5.28 and higher
– Get it here: support.oracle.com and edelivery.oracle.com
Adds regulatory compliance to MySQL applications
MySQL Enterprise AuditPolicy-based Auditing for MySQL Applications
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.38
2. User Joe Connects and Queries Server1
MySQL Enterprise Audit Flow
1. DBA Enables on Server1Server1
3. Joe’s connection, query logged
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.39
Certified And Supported MySQL HA Solutions
MySQL 5.6 Replication(after GA)
Oracle VM
Template
Solaris Cluster
Windows Cluster
DRBDMySQL Cluster
Auto-Failover & Migration Yes Yes Yes Yes Yes Yes
Zero Data Loss Semi-Sync Yes Yes Yes Yes Yes
Platform Support All Linux Solaris Windows Linux All
Clustering Mode Master + Slaves
Active/Passive
Active/Passive
Active/Passive
Active/Passive
Multi-Master
Shared Storage No Yes Yes Yes No No
Availability Design 99.9% 99.99% 99.99% 99.95% 99.99% 99.999%
Single Vendor Support Yes Yes Yes No Yes Yes
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.40
Training Consulting 24 x 7 x 365 Global Support Database Management and Monitoring
Operational Best Practices for HA
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.41
MySQL ON WINDOWS
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.42
http://www.mysql.com/downloads/installer/
MySQL Database
MySQL Connectors (.Net and ODBC)
MySQL Workbench
New! Migration Wizard (SQL Server, Sybase, PostgreSQL to MySQL)
New! MySQL Notifier Tray App
New! MySQL for Excel
MySQL Utilities (in Python)
MySQL Docs
Sample Databases
From download to development in 3 mins! All-in-one package.
MySQL Installer for Windows
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.43
Database Design- Visual Design, modeling
- Forward/Reverse Engineer
- Schema validation, Schema doc
SQL Development- SQL Editor - Color Syntax Highlighting
- Objects - Import/Export, Browse/Edit
Database Administration- Status, Configuration, Start/Stop
- Users, Security, Sessions
- Import/Export Dump Files
New! Database Migration Wizard for SQL Server, Sybase, PostgreSQL
MySQL Workbench
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.44
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.45
Interesting ideas for the future Supporting new businesses on Web & Cloud Supporting young entrepreneurs More and smarter MySQL Utilities Support for elasticity & sharding with MySQL Flexible replication in any topology Easier to use replication More automatic operations Easier to manage high availability Extended MySQL Enterprise Backup Intelligent connectors More performance improvements
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.46
Summary: Some of the highlights of today!
MySQL 5.6 RC (lots of features + performance improvements) MySQL Utilities (shipped with Workbench) MySQL Enterprise Backup 3.8 MySQL Cluster 7.3 Connector Python GA Windows Installer Database Migration Wizard Multiple HA solutions MySQL Enterprise Audit NoSQL interfaces
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.47