The History and Future of the
MySQL Ecosystem
New York Linux User Group (NYLUG)
Ronald Bradford
http://ronaldbradford.com
2013.06
Slide 2
Slide 2 text
Image from http://livelikeliam.blogspot.com
Spaghetti and MySQLBalls
(with a side of greens)
Slide 3
Slide 3 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
ABOUT MySELF
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
Ronald BRADFORD
Slide 4
Slide 4 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
covering MySQL
Some history
Distributions/Variants
Patches
Storage Engines
Alternatives
Vendors
Slide 5
Slide 5 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
A long time ago(*), in a
small nordic country far,
far away ...
(*) 10,000,000 seconds and counting
Slide 6
Slide 6 text
1994
1996
MySQL (.com)
1998
2001
v3.23
v4.0
2003
2004
v4.1
v5.0
2005 2008
BEFORE
Slide 7
Slide 7 text
1994
1996
MySQL (.com)
1998
2001
v3.23
v4.0
2003
2004
v4.1
v5.0
2005 2008
BEFORE
Slide 8
Slide 8 text
1994
1996
MySQL (.com)
1998
2001
v3.23
v4.0
2003
2004
v4.1
v5.0
2005
Sun (.com)
2008
BEFORE
Slide 9
Slide 9 text
1994
1996
MySQL (.com)
1998
2001
v3.23
v4.0
2003
2004
v4.1
v5.0
2005
Sun (.com)
2008
BEFORE
1995
Innobase
2005
Slide 10
Slide 10 text
1994
1996
MySQL (.com)
1998
2001
v3.23
v4.0
2003
2004
v4.1
v5.0
2005
Sun (.com)
2008
BEFORE
1995
Innobase
Oracle (.com)
2005
Slide 11
Slide 11 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
popularity
MySQL - the world's most widely use
open source RDBMS
Inclusion in Linux distributions
The ‘M’ of LAMP Stack
Slide 12
Slide 12 text
MySQL (.com)
2008
v5.1
v5.0
2005
Sun (.com)
2008
During
v5.2
v6.0
X X
4/21/2009
v5.4 beta
X
Slide 13
Slide 13 text
MySQL (.com)
2008
v5.1
v5.0
2005
Sun (.com)
2008
During
v5.2
v6.0
X X
4/21/2009
v5.4 beta
X
Slide 14
Slide 14 text
MySQL (.com)
2008
v5.1
v5.0
2005
Sun (.com)
2008
During
v5.2
v6.0
X X
4/21/2009
v5.4 beta
X
Oracle (.com)
4/20/2009
Acquisition announcement
Slide 15
Slide 15 text
MySQL (.com)
2008
v5.1
v5.0
2005
Sun (.com)
2008
During
v5.2
v6.0
X X
4/21/2009
v5.4 beta
X
Oracle (.com)
4/20/2009
Acquisition announcement
Proven Scaling
2006 2009
Slide 16
Slide 16 text
MySQL (.com)
2008
v5.1
v5.0
2005
Sun (.com)
2008
During
v5.2
v6.0
X X
4/21/2009
v5.4 beta
X
Oracle (.com)
4/20/2009
Acquisition announcement
Proven Scaling
Our Delta
2006 2009
2008 2011
Slide 17
Slide 17 text
Now
12/2010
v5.5
3/2013
v5.6
Sun (.com)
July 2013
4/2009 1/2010
Slide 18
Slide 18 text
Now
Oracle (.com)
12/2010
v5.5
3/2013
v5.6
Sun (.com)
July 2013
4/2009 1/2010
Slide 19
Slide 19 text
Now
Oracle (.com)
12/2010
v5.5
3/2013
v5.6
Sun (.com)
Percona Server
2006
4/2011
v5.5
4/2009
v1.0.3
7/2010
v5.1
?
July 2013
????
v5.6
4/2009 1/2010
Slide 20
Slide 20 text
Now
Oracle (.com)
12/2010
v5.5
3/2013
v5.6
Sun (.com)
Percona Server
Maria DB
2006
2009
4/2011
v5.5
4/2009
v1.0.3
7/2010
v5.1
?
July 2013
????
v5.6
4/2009 1/2010
4/12
v5.5
11/10
v5.2
2/12
V5.3
2/10
v5.1
?
????
v10.0
Slide 21
Slide 21 text
https://en.wikipedia.org/wiki/MySQL
Slide 22
Slide 22 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
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
Slide 23
Slide 23 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Distributions/Variants
Slide 24
Slide 24 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Recap
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 (*)
Distributions/V
ariants
Slide 25
Slide 25 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Distros
Moving to MariaDB
Fedora 19
SUSE 12.3
Ubuntu (currently both)
Expanding ‘M’ in LAMP
Slide 26
Slide 26 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Storage Engines
Slide 27
Slide 27 text
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.
Slide 28
Slide 28 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
storage engines
Different locking strategies
Indexing algorithms
Transactional capabilities
ACID characteristics
Improving Performance
Slide 29
Slide 29 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Storage Engines
MyISAM (Default before 5.5)
InnoDB (Default since 5.5)
Memory/Archive/Federated/Merge/
Blackhole/CSV/Example/BDB
stock
Slide 30
Slide 30 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
PSEA
Pluggable Storage Engine Architecture
(PSEA)
Enabling third party providers
Since 5.1 (circa 2006)
http://dev.mysql.com/doc/refman/5.1/en/pluggable-storage-overview.html
Slide 31
Slide 31 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
storage engines
Why develop a storage
engine?
Slide 32
Slide 32 text
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
Slide 33
Slide 33 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
early PSE
NitroEDB
PBXT
Blob Streaming
Kickfire
File System
Akiban (***)
SolidDB
Spider
Falcon
More...
Slide 34
Slide 34 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
TODAY
Tokutek
DeepDB
Data Warehousing
Infobright - Brighthouse
Calpont - InfiniDB
Slide 35
Slide 35 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Other PSE
Sphinx
IBM DB/2
Cassandra
OQGraph
?
Slide 36
Slide 36 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Ecosystem
Slide 37
Slide 37 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
patches
Proven Scaling
Google
Facebook
eBay
Twitter
Storage Engine Providers
Slide 38
Slide 38 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Alternatives
Drizzle
libdrizzle
Galera
Percona XtraDB Cluster
Maria Galera
ScaleDB
Tungsten Replicator
Slide 39
Slide 39 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Cloud
AWS RDS for MySQL
Google Cloud SQL
HP/Openstack DBaaS
Percona Server
Drizzle???
Slide 40
Slide 40 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
imitators
Use the MySQL protocol
Clustrix
Xeround
Unclear of internals
GenieDB
ClearDB
Slide 41
Slide 41 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
connectivity
Scale Base
Parelastic
Thu June 20
http://www.meetup.com/EffectiveMySQL/
Slide 42
Slide 42 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Support
Ecosystem now provides options
Oracle Support
Percona Support
Monty Program/SkySQL
Freedom of per incident not subscription
Slide 43
Slide 43 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Today
Slide 44
Slide 44 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
mysql 5.6
http://effectivemysql.com/presentation/mysql-5-6-features-for-
nosql-big-data-and-the-cloud/
http://effectivemysql.com/presentation/new-mysql-5-6-
replication-features/
Slide 45
Slide 45 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
tokutek
Well Established
Boston/New York Team
Now Open source
Community/Enterprise
http://www.tokutek.com/
http://effectivemysql.com/article/understanding-tokutek-fractal-tree-indexes/
Slide 46
Slide 46 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
deepDB
Recently released
Commercial only
Formally called CloudTree
http://deep.is/
Slide 47
Slide 47 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Going Green
Slide 48
Slide 48 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
NO SQL
MySQL Cluster
MySQL [NDB] Cluster
My(SQL) + NDB Cluster
Handler Socket
Memcache API (MySQL & MySQL Cluster)
Slide 49
Slide 49 text
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
Slide 50
Slide 50 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Why not both?
Slide 51
Slide 51 text
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/
Slide 52
Slide 52 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Tips for SysAdmin
Slide 53
Slide 53 text
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
Slide 54
Slide 54 text
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
FOR SYSADMINS
Binary logging is essential for backup
and recovery
#my.cnf
[mysqld]
server-id=1
log-bin
Slide 57
Slide 57 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Tomorrow
Slide 58
Slide 58 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Slide 59
Slide 59 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Tomorrow
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
What of MySQL 5.7
Slide 60
Slide 60 text
EffectiveMySQL.com - Performance, Scalability & Business Continuity
http://effectiveMySQL.com
Ronald Bradford