the history and future of the mysql ecosystem
DESCRIPTION
The history and future of the MySQL Ecosystem. This talk sub-titled “Spaghetti and MySQLBalls (with a side of greens)” detailed the beginnings of MySQL, the MySQL acquisition history, described the state of current MySQL versions/variants/forks, storage engines, related vendors, NoSQL and much more. A video of the presentations is available on YouTube at http://www.youtube.com/watch?v=9mKwkbaB5X8&feature=youtu.beTRANSCRIPT
The History and Future of the MySQL Ecosystem
New York Linux User Group (NYLUG)Ronald Bradford
http://ronaldbradford.com 2013.06
Image from http://livelikeliam.blogspot.com
Spaghetti and MySQLBalls(with a side of greens)
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
EffectiveMySQL.com - Performance, Scalability & Business Continuity
covering MySQL
Some history
Distributions/Variants
Patches
Storage Engines
Alternatives
Vendors
EffectiveMySQL.com - Performance, Scalability & Business Continuity
A long time ago(*), in a small nordic country far,
far away ...
(*) 10,000,000 seconds and counting
1994
1996MySQL (.com)
1998
2001v3.23
v4.02003
2004v4.1
v5.02005 2008
BEFORE
1994
1996MySQL (.com)
1998
2001v3.23
v4.02003
2004v4.1
v5.02005 2008
BEFORE
1994
1996MySQL (.com)
1998
2001v3.23
v4.02003
2004v4.1
v5.02005
Sun (.com)
2008
BEFORE
1994
1996MySQL (.com)
1998
2001v3.23
v4.02003
2004v4.1
v5.02005
Sun (.com)
2008
BEFORE
1995Innobase
2005
1994
1996MySQL (.com)
1998
2001v3.23
v4.02003
2004v4.1
v5.02005
Sun (.com)
2008
BEFORE
1995Innobase
Oracle (.com)
2005
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
MySQL (.com)
2008v5.1
v5.02005
Sun (.com)
2008
During
v5.2
v6.0
X X
4/21/2009v5.4 beta
X
MySQL (.com)
2008v5.1
v5.02005
Sun (.com)
2008
During
v5.2
v6.0
X X
4/21/2009v5.4 beta
X
MySQL (.com)
2008v5.1
v5.02005
Sun (.com)
2008
During
v5.2
v6.0
X X
4/21/2009v5.4 beta
X
Oracle (.com)4/20/2009Acquisition announcement
MySQL (.com)
2008v5.1
v5.02005
Sun (.com)
2008
During
v5.2
v6.0
X X
4/21/2009v5.4 beta
X
Oracle (.com)4/20/2009Acquisition announcement
Proven Scaling2006 2009
MySQL (.com)
2008v5.1
v5.02005
Sun (.com)
2008
During
v5.2
v6.0
X X
4/21/2009v5.4 beta
X
Oracle (.com)4/20/2009Acquisition announcement
Proven Scaling
Our Delta
2006 2009
2008 2011
Now
12/2010v5.5
3/2013v5.6
Sun (.com)July 20134/2009 1/2010
Now
Oracle (.com)12/2010
v5.53/2013
v5.6
Sun (.com)July 20134/2009 1/2010
Now
Oracle (.com)12/2010
v5.53/2013
v5.6
Sun (.com)
Percona Server2006
4/2011v5.5
4/2009v1.0.3
7/2010v5.1
?
July 2013
????v5.6
4/2009 1/2010
Now
Oracle (.com)12/2010
v5.53/2013
v5.6
Sun (.com)
Percona Server
Maria DB
2006
2009
4/2011v5.5
4/2009v1.0.3
7/2010v5.1
?
July 2013
????v5.6
4/2009 1/2010
4/12v5.5
11/10v5.2
2/12V5.3
2/10v5.1
?
????v10.0
https://en.wikipedia.org/wiki/MySQL
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
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Distributions/Variants
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Recap
1. Oracle/MySQL
Community/Enterprise (2 years)
2. Percona Server
3. MariaDBMoving away from full compatibilityMost flexible for community
4. Storage Engine specific (*)
Distributions/Variants
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
MyISAM (Default before 5.5)
InnoDB (Default since 5.5)
Memory/Archive/Federated/Merge/Blackhole/CSV/Example/BDB
stock
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
EffectiveMySQL.com - Performance, Scalability & Business Continuity
storage engines
Why develop a storage engine?
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Base variants
InnoDBInnoDB built-in (3.2.23 - v 5.1)
InnoDB plugin (v 5.1+)
XtraDB (Percona/MariaDB)
Schooner
MyISAMAria
EffectiveMySQL.com - Performance, Scalability & Business Continuity
early PSE
NitroEDB
PBXT
Blob Streaming
Kickfire
File System
Akiban (***)
SolidDB
Spider
Falcon
More...
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
eBay
Storage Engine Providers
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Alternatives
Drizzle
libdrizzle
Galera
Percona XtraDB Cluster
Maria Galera
ScaleDB
Tungsten Replicator
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-for-nosql-big-data-and-the-cloud/
http://effectivemysql.com/presentation/new-mysql-5-6-replication-features/
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/
EffectiveMySQL.com - Performance, Scalability & Business Continuity
deepDB
Recently released
Commercial only
Formally called CloudTree
http://deep.is/
EffectiveMySQL.com - Performance, Scalability & Business ContinuityGoing 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=1log-bin
EffectiveMySQL.com - Performance, Scalability & Business Continuity
Tomorrow
EffectiveMySQL.com - Performance, Scalability & Business Continuity
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
EffectiveMySQL.com - Performance, Scalability & Business Continuityhttp://effectiveMySQL.comRonald Bradford