The History and Future of the MySQL ecosystem

Post on 15-Jan-2015

1.656 views 1 download

Tags:

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

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

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

Google

Facebook

eBay

Twitter

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

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