Slide 1

Slide 1 text

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/

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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