The History and Future of the MySQL ecosystem

60
The History and Future of the MySQL Ecosystem New York Linux User Group (NYLUG) Ronald Bradford http://ronaldbradford.com 2013.06

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.be

Transcript of The History and Future of the MySQL ecosystem

Page 1: The History and Future of the MySQL ecosystem

The History and Future of the MySQL Ecosystem

New York Linux User Group (NYLUG)Ronald Bradford

http://ronaldbradford.com 2013.06

Page 2: The History and Future of the MySQL ecosystem

Image from http://livelikeliam.blogspot.com

Spaghetti and MySQLBalls(with a side of greens)

Page 3: The History and Future of the MySQL ecosystem

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

Page 4: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

covering MySQL

Some history

Distributions/Variants

Patches

Storage Engines

Alternatives

Vendors

Page 5: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

A long time ago(*), in a small nordic country far,

far away ...

(*) 10,000,000 seconds and counting

Page 6: The History and Future of the MySQL ecosystem

1994

1996MySQL (.com)

1998

2001v3.23

v4.02003

2004v4.1

v5.02005 2008

BEFORE

Page 7: The History and Future of the MySQL ecosystem

1994

1996MySQL (.com)

1998

2001v3.23

v4.02003

2004v4.1

v5.02005 2008

BEFORE

Page 8: The History and Future of the MySQL ecosystem

1994

1996MySQL (.com)

1998

2001v3.23

v4.02003

2004v4.1

v5.02005

Sun (.com)

2008

BEFORE

Page 9: The History and Future of the MySQL ecosystem

1994

1996MySQL (.com)

1998

2001v3.23

v4.02003

2004v4.1

v5.02005

Sun (.com)

2008

BEFORE

1995Innobase

2005

Page 10: The History and Future of the MySQL ecosystem

1994

1996MySQL (.com)

1998

2001v3.23

v4.02003

2004v4.1

v5.02005

Sun (.com)

2008

BEFORE

1995Innobase

Oracle (.com)

2005

Page 11: The History and Future of the MySQL ecosystem

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

Page 12: The History and Future of the MySQL ecosystem

MySQL (.com)

2008v5.1

v5.02005

Sun (.com)

2008

During

v5.2

v6.0

X X

4/21/2009v5.4 beta

X

Page 13: The History and Future of the MySQL ecosystem

MySQL (.com)

2008v5.1

v5.02005

Sun (.com)

2008

During

v5.2

v6.0

X X

4/21/2009v5.4 beta

X

Page 14: The History and Future of the MySQL ecosystem

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

Page 15: The History and Future of the MySQL ecosystem

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

Page 16: The History and Future of the MySQL ecosystem

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

Page 17: The History and Future of the MySQL ecosystem

Now

12/2010v5.5

3/2013v5.6

Sun (.com)July 20134/2009 1/2010

Page 18: The History and Future of the MySQL ecosystem

Now

Oracle (.com)12/2010

v5.53/2013

v5.6

Sun (.com)July 20134/2009 1/2010

Page 19: The History and Future of the MySQL ecosystem

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

Page 20: The History and Future of the MySQL ecosystem

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

Page 22: The History and Future of the MySQL ecosystem

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

Page 23: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Distributions/Variants

Page 24: The History and Future of the MySQL ecosystem

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

Page 25: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Distros

Moving to MariaDB

Fedora 19

SUSE 12.3

Ubuntu (currently both)

Expanding ‘M’ in LAMP

Page 26: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Storage Engines

Page 27: The History and Future of the MySQL ecosystem

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.

Page 28: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

storage engines

Different locking strategies

Indexing algorithms

Transactional capabilities

ACID characteristics

Improving Performance

Page 29: The History and Future of the MySQL ecosystem

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

Page 30: The History and Future of the MySQL ecosystem

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

Page 31: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

storage engines

Why develop a storage engine?

Page 32: The History and Future of the MySQL ecosystem

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

Page 33: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

early PSE

NitroEDB

PBXT

Blob Streaming

Kickfire

File System

Akiban (***)

SolidDB

Spider

Falcon

More...

Page 34: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

TODAY

Tokutek

DeepDB

Data Warehousing

Infobright - Brighthouse

Calpont - InfiniDB

Page 35: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Other PSE

Sphinx

IBM DB/2

Cassandra

OQGraph

<your name here>?

Page 36: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Ecosystem

Page 37: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

patches

Proven Scaling

Google

Facebook

eBay

Twitter

Storage Engine Providers

Page 38: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Alternatives

Drizzle

libdrizzle

Galera

Percona XtraDB Cluster

Maria Galera

ScaleDB

Tungsten Replicator

Page 39: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Cloud

AWS RDS for MySQL

Google Cloud SQL

HP/Openstack DBaaS

Percona Server

Drizzle???

Page 40: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

imitators

Use the MySQL protocol

Clustrix

Xeround

Unclear of internals

GenieDB

ClearDB

Page 41: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

connectivity

Scale Base

Parelastic

Thu June 20

http://www.meetup.com/EffectiveMySQL/

Page 42: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Support

Ecosystem now provides options

Oracle Support

Percona Support

Monty Program/SkySQL

Freedom of per incident not subscription

Page 43: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Today

Page 45: The History and Future of the MySQL ecosystem

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/

Page 46: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

deepDB

Recently released

Commercial only

Formally called CloudTree

http://deep.is/

Page 47: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business ContinuityGoing Green

Page 48: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

NO SQL

MySQL Cluster

MySQL [NDB] Cluster

My(SQL) + NDB Cluster

Handler Socket

Memcache API (MySQL & MySQL Cluster)

Page 49: The History and Future of the MySQL ecosystem

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

Page 50: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Why not both?

Page 51: The History and Future of the MySQL ecosystem

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/

Page 52: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Tips for SysAdmin

Page 53: The History and Future of the MySQL ecosystem

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

Page 54: The History and Future of the MySQL ecosystem

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/

Page 55: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Essential config

MyISAM Key Buffer (Indexes Only)

InnoDB Buffer Pool (Data + Indexes)

Query Cache (High Read/Write ratio)

Page 56: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

FOR SYSADMINS

Binary logging is essential for backup and recovery

#my.cnf

[mysqld]server-id=1log-bin

Page 57: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Tomorrow

Page 58: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuity

Page 59: The History and Future of the MySQL ecosystem

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

Page 60: The History and Future of the MySQL ecosystem

EffectiveMySQL.com - Performance, Scalability & Business Continuityhttp://effectiveMySQL.comRonald Bradford