The History and Future of the
MySQL Ecosystem
New York Linux User Group (NYLUG)
Ronald Bradford
http://ronaldbradford.com
2013.06
Spaghetti and MySQLBalls
(with a side of greens)

Image from http://livelikeliam.blogspot.com
ABOUT MySELF
Ronald BRADFORD

Enterprise Data Architecture & Developer
24 years with RDBMS - 13 years with MySQL
Published author - 4 books
Accomplished presenter - 8 years
Work at Independent MySQL Consultant
Seeking new clients
EffectiveMySQL.com - Performance, Scalability & Business Continuity
covering MySQL
Some history
Distributions/Variants
Patches
Storage Engines
Alternatives
Vendors
EffectiveMySQL.com - Performance, Scalability & Business Continuity
(*), in
ago

A long time
a
small nordic country far,
far away ...
(*) 10,000,000 seconds and counting
EffectiveMySQL.com - Performance, Scalability & Business Continuity
BEFORE

1994

1998
1996

2001
v3.23

v4.0
2003

v5.0
2005

2008

MySQL (.com)

2004
v4.1
BEFORE

1994

1998
1996

2001
v3.23

v4.0
2003

v5.0
2005

2008

MySQL (.com)

2004
v4.1
BEFORE

1994

1998
1996

2001
v3.23

v4.0
2003

v5.0
2005

2008

MySQL (.com)

2004
v4.1
Sun (.com)
BEFORE

1998

1994

1996

1995

2001
v3.23

v4.0
2003

v5.0
2005

2008

MySQL (.com)

2004
v4.1
2005

Sun (.com)

Innobase
BEFORE

1998

1994

1996

1995

2001
v3.23

v4.0
2003

v5.0
2005

2008

MySQL (.com)

2004
v4.1
2005

Sun (.com)

Innobase
Oracle (.com)
popularity
MySQL - the world's most widely use
open source RDBMS
Inclusion in Linux distributions
The ‘M’ of LAMP Stack

EffectiveMySQL.com - Performance, Scalability & Business Continuity
v5.0
2005

During
2008

MySQL (.com)

4/21/2009
v5.4 beta

v5.2
X

2008
v5.1

X

v6.0

X

Sun (.com)
v5.0
2005

During
2008

MySQL (.com)

4/21/2009
v5.4 beta

v5.2
X

2008
v5.1

X

v6.0

X

Sun (.com)
v5.0
2005

During
2008

MySQL (.com)

4/21/2009
v5.4 beta

v5.2
X

2008
v5.1

X

X

Sun (.com)

v6.0
4/20/2009 Oracle (.com)
Acquisition announcement
v5.0
2005

During
2008

MySQL (.com)

4/21/2009
v5.4 beta

v5.2
X

2008
v5.1
2006

X

Sun (.com)

X

v6.0
4/20/2009 Oracle (.com)
Acquisition announcement
2009

Proven Scaling
v5.0
2005

During
2008

MySQL (.com)

4/21/2009
v5.4 beta

v5.2
X

2008
v5.1

X

Sun (.com)

X

v6.0
4/20/2009 Oracle (.com)
Acquisition announcement
2009

2006

Proven Scaling

2008

2011

Our Delta
Now
4/2009

1/2010

Sun (.com)

12/2010
v5.5

3/2013
v5.6

July 2013
Now
4/2009

1/2010

Sun (.com)

July 2013

Oracle (.com)
12/2010
v5.5

3/2013
v5.6
Now
4/2009

1/2010

July 2013

Sun (.com)

Oracle (.com)
12/2010
v5.5
2006

3/2013
v5.6
?

4/2009
v1.0.3

7/2010
v5.1

4/2011
v5.5

????
v5.6

Percona Server
Now
4/2009

1/2010

July 2013

Sun (.com)

Oracle (.com)
12/2010
v5.5

3/2013
v5.6

2006

Percona Server

?

4/2009
v1.0.3

7/2010
v5.1

4/2011
v5.5

2009

????
v5.6
?

2/10 11/10
v5.1 v5.2

2/12 4/12
V5.3 v5.5

????
v10.0

Maria DB
https://en.wikipedia.org/wiki/MySQL
truths
MySQL to Sun Acquisition (~ 6 weeks)
Sun to Oracle Acquisition (~9 months)
Oracle did not acquire MySQL
It was part of Sun
MySQL is and always will be in some
form (*) available as GPL
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Distributions/Variants

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Recap
Distributions/V
ariants

1. Oracle/MySQL
Community/Enterprise (2 years)
2. Percona Server
3. MariaDB
Moving away from full compatibility
Most flexible for community

4. Storage Engine specific (*)
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Distros
Moving to MariaDB
Fedora 19
SUSE 12.3
Ubuntu (currently both)
Expanding ‘M’ in LAMP
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Storage Engines

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Storage Engines

A storage engine provides
a means to store and/or
retrieve data via the
MySQL SQL interface.

EffectiveMySQL.com - Performance, Scalability & Business Continuity
storage engines
Different locking strategies
Indexing algorithms
Transactional capabilities
ACID characteristics
Improving Performance
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Storage Engines
stock

MyISAM (Default before 5.5)
InnoDB (Default since 5.5)
Memory/Archive/Federated/Merge/
Blackhole/CSV/Example/BDB

EffectiveMySQL.com - Performance, Scalability & Business Continuity
PSEA
Since 5.1 (circa 2006)

Pluggable Storage Engine Architecture
(PSEA)
Enabling third party providers

http://dev.mysql.com/doc/refman/5.1/en/pluggable-storage-overview.html

EffectiveMySQL.com - Performance, Scalability & Business Continuity
storage engines

Why develop a storage
engine?

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Base variants
InnoDB
InnoDB built-in (3.2.23 - v 5.1)
InnoDB plugin (v 5.1+)
XtraDB (Percona/MariaDB)
Schooner

MyISAM
Aria
EffectiveMySQL.com - Performance, Scalability & Business Continuity
early PSE
NitroEDB

SolidDB

PBXT

Spider

Blob Streaming
Kickfire

Falcon
More...

File System
Akiban

(***)

EffectiveMySQL.com - Performance, Scalability & Business Continuity
TODAY
Tokutek
DeepDB
Data Warehousing
Infobright - Brighthouse
Calpont - InfiniDB

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Other PSE
Sphinx
IBM DB/2
Cassandra
OQGraph
<your name here>?

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity
patches
Proven Scaling
Google
Facebook
eBay
Twitter
Storage Engine Providers
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Alternatives
Drizzle

Tungsten Replicator

libdrizzle
Galera
Percona XtraDB Cluster
Maria Galera
ScaleDB
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Cloud
AWS RDS for MySQL
Google Cloud SQL
HP/Openstack DBaaS
Percona Server
Drizzle???

EffectiveMySQL.com - Performance, Scalability & Business Continuity
imitators
Use the MySQL protocol
Clustrix
Xeround
Unclear of internals
GenieDB
ClearDB
EffectiveMySQL.com - Performance, Scalability & Business Continuity
connectivity
Scale Base
Parelastic
Thu June 20
http://www.meetup.com/EffectiveMySQL/

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Support
Ecosystem now provides options
Oracle Support
Percona Support
Monty Program/SkySQL
Freedom of per incident not subscription
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Today

EffectiveMySQL.com - Performance, Scalability & Business Continuity
mysql 5.6

http://effectivemysql.com/presentation/mysql-5-6-features-fornosql-big-data-and-the-cloud/
http://effectivemysql.com/presentation/new-mysql-5-6replication-features/

EffectiveMySQL.com - Performance, Scalability & Business Continuity
tokutek
Well Established

http://www.tokutek.com/

Boston/New York Team
Now Open source
Community/Enterprise
http://effectivemysql.com/article/understanding-tokutek-fractal-tree-indexes/

EffectiveMySQL.com - Performance, Scalability & Business Continuity
deepDB
Recently released

http://deep.is/

Commercial only
Formally called CloudTree

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Going Green

EffectiveMySQL.com - Performance, Scalability & Business Continuity
NO SQL
MySQL Cluster
MySQL [NDB] Cluster
My(SQL) + NDB Cluster
Handler Socket
Memcache API (MySQL & MySQL Cluster)
EffectiveMySQL.com - Performance, Scalability & Business Continuity
No SQL
Key/Value Store
Document Store
Graph
Memcache/Redis/Mongo/Cassandra/
Riak/CouchDB/Tokyo Cabinet/.....
Most companies use multiple products

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Why not both?

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Akiban
DBaaS platform for developers
One data model, document and
relational access
REST (JSON) , SQL, FullText
Import from MySQL
http://www.akiban.com/
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Tips for SysAdmin

EffectiveMySQL.com - Performance, Scalability & Business Continuity
for sysadmins
Keep versions up to date
Tune for memory
Storage Engine specifics
Replication is not Backup & Recovery
Be prepared for a disaster

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Size/Engines
DB Size / Storage Engines
$ wget http://ronaldbradford.com/mysql-dba/allschemas.sql
$ mysql -uroot -p -vvv < allschemas.sql

http://ronaldbradford.com/mysql-dba/
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Essential config
MyISAM Key Buffer (Indexes Only)
InnoDB Buffer Pool (Data + Indexes)
Query Cache (High Read/Write ratio)

EffectiveMySQL.com - Performance, Scalability & Business Continuity
FOR SYSADMINS
Binary logging is essential for backup
and recovery
#my.cnf
[mysqld]
server-id=1
log-bin

EffectiveMySQL.com - Performance, Scalability & Business Continuity
Tomorrow

EffectiveMySQL.com - Performance, Scalability & Business Continuity
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Tomorrow
What of MySQL 5.7

NOTE: The following are only wild
guesses with no basis of FACT
5.7 Will happen, will be better
InnoDB only (MyISAM/Memory)
replaced, others dropped
Maria will continue to diverge
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Ronald Bradford
http://effectiveMySQL.com
EffectiveMySQL.com - Performance, Scalability & Business Continuity

The History and Future of the MySQL ecosystem