SlideShare a Scribd company logo
1 of 43
Download to read offline
The MySQL Server Ecosystem in 2016
Colin Charles, Chief Evangelist, Percona Inc.

colin.charles@percona.com / byte@bytebot.net 

http://bytebot.net/blog/ | @bytebot on Twitter

Percona Live Europe Amsterdam, Netherlands

5 October 2016
whoami
• Chief Evangelist (in the CTO office), Percona Inc

• Focusing on the MySQL ecosystem (MySQL, Percona Server, MariaDB
Server), as well as the MongoDB ecosystem (Percona Server for
MongoDB) + 100% open source tools from Percona like Percona
Monitoring & Management, Percona xtrabackup, Percona Toolkit, etc.

• Founding team of MariaDB Server (2009-2016), previously at Monty
Program Ab, merged with SkySQL Ab, now MariaDB Corporation

• Formerly MySQL AB (exit: Sun Microsystems)

• Past lives include Fedora Project (FESCO), OpenOffice.org

• MySQL Community Contributor of the Year Award winner 2014
A Mature Ecosystem
•MySQL: 21 years old — May 1995

•Percona Server: 8 years old — November
2008

•MariaDB Server: 6 years old — February 2010

•Drizzle: 2008 - 2012 (R.I.P.)

•WebScaleSQL: March 2014
History
• 1979: UNIREG

• 1986: UNIREG on UNIX

• mSQL - freely available but not opensource

• 1995: MySQL 1.0 + MySQL AB founded

• 1996: 3.19

• 2000: GPL MySQL Server
History 2
• Shortly thereafter, the dual-license arrives —
libmysql is GPL and not LGPL like before

• May 2000: 3.23.15 - (statement based)
replication arrives 

• 2001: 3.23 GA

• 2001: InnoDB storage engine (InnoBase Oy)

• 2001: first round VC $$$, Mårten Mickos as CEO
History 3
• 2002: MySQL sued Progress NuSphere
over the Gemini storage engine

• 2003: VC Series B

• March 2003: 4.0 GA + 4.1 & 5.0 as alpha

• 2003: SAP partnership (hello MaxDB)

• 2003: Acquires Alzato (NDBCLUSTER)
History 4
• October 2004: 4.1 GA (with NDBCLUSTER)

• 2005: 5.0 tree is the focus, but it has issues

• October 2005: Oracle acquires Innobase Oy
(“InnoDB Friday”)

• October 2005: 5.0 becomes GA*

• Late 2005: Maria project starts (make a crash-
safe+transactional MyISAM)
History 5
• February 2006: VC Series C

• 2006: Netfrastructure acquired (Falcon engine)

• Pluggable storage architecture - only database
that support(ed) it

• A “fork” of MySQL Cluster in 2006

• 2006: PBXT (log-based design + performance)
… 2011
What makes engines different?
• Storage: how the data is
stored on disk

• Or in NDB (memory
+disk), CassandraSE
(access a Cassandra
Cluster), SphinxSE
(access the Sphinx
daemon) 

• Indexes: improves search
operations

• Memory usage: improves
data access for speed

• Transactions: protects the
integrity of your data
(Atomic-Consistent-
Isolated-Durable - ACID)

• Locking level: MyISAM
(table locks), InnoDB (row
locks), old BDB (page
locks)

• Data types: Data types
may be converted,
MEMORY doesn’t support
TEXT, etc.

• Caching: InnoDB caches
data & indexes, MyISAM
caches indexes only
(relying on OS disk cache
for data)

• Full-text search capability:
MyISAM has this, InnoDB
5.6 got this

• GIS: MyISAM & Aria work
(R-tree indexes exist),
InnoDB 5.7 has this too

• Backups

• Foreign Keys
History 6
• November 2007: MySQL 6.0 Alpha, 5.1 current tree
being worked on but not ready

• 2007: quiet period for IPO

• January 2008: Sun Microsystems acquires MySQL AB
for USD$1 BILLION

• June 2008: Drizzle — fork of MySQL 6.0 — modular,
fast, microkernel architecture, UTF8, etc.

• November 2008: 5.1 GA
History 7
• Late 2008: OurDelta binaries

• November 2008: Percona Server (patchset ~July)

• http://www.bytebot.net/blog/archives/2009/10/14/
flickrs-upgraded-shard
History 8
• February 2009: Monty leaves Sun

• March 2009: Final 6.0 Alpha (and shortly dead
thereafter)

• April 2009: Oracle acquires Sun Microsystems (January
2010 sale completes, after a long battle with the EU)

• shortly thereafter Monty Program Ab is where
MariaDB starts being worked on

• October 2009: MariaDB 5.1 Beta release
History 9
• February 2010: MariaDB 5.1 GA release

• November 2010: MariaDB 5.2 GA release 

• December 2010: MySQL 5.5 GA

• April 2011: Percona Server 5.5 stable

• February 2012: MariaDB 5.3 GA (GIS,
replication improvements, optimiser)
History 10
• April 2012: MariaDB 5.5 GA

• November 2012: Announcement of MariaDB
Foundation 

• February 2013: MySQL 5.6 GA

• April 2013: SkySQL Ab acquires Monty Program
Ab

• October 2013: Percona Server 5.6 GA
History 11
• March 2014: MariaDB 10 GA

• March 2014: WebScaleSQL — but there’s no GA/
shipping release

• October 2015: MariaDB 10.1 GA, MySQL 5.7 GA

• February 2016: MySQL 5.7.11 gets InnoDB at-rest data
encryption post-GA; Percona Server 5.7 GA

• April 2016: MySQL 5.7.12 gets X Protocol, MySQL
Shell, X DevAPI post-GA
Open source community
• MariaDB: takes external contributors/committers

• MySQL: 5.7 takes Generated Columns (virtual columns in
MariaDB 5.2) from Andrey Zhakov

• contributions welcome, commits not

• see: MySQL Community Contributor Award Program

• WebScaleSQL: Alibaba, Facebook, Google, LinkedIn, and
Twitter (w/ Percona + MariaDB also agreeing to work on it)

• Percona: bug reports/feature requests welcome, commits not
(yet)
Google Summer of Code
• 2013: 3 contributors (all shipping code, one
committer)

• 2014: 4 contributors (all shipping code, a MariaDB
Foundation member hired a new developer)

• 2015: accepted with 8 contributors, finally 3 passed

• 2016: accepted with 10 students (ended with 5
passing)
Is MySQL dying?
• “The reports of my death have been greatly
exaggerated” — Mark Twain

• MySQL ecosystem development is at its
most vibrant now than it has ever been

• Oracle has been a great steward of
pushing MySQL development forward
MySQL adoption
• MySQL Server (5.5) still leads the way in
Debian/Ubuntu (the only one you can track
via popcon)

• Followed by MariaDB Server and then
Percona Server

• Today you can also see stats on the Docker
hub, Juju Charms, etc.
OpenStack user survey
MySQL 5.7
• Multi-source
replication

• Dynamic replication
filters

• Lossless semisync

• SHOW EXPLAIN for
connection_id

• GIS functionality

• Statement timeouts

• Change master
without stopping
SQL thread

• Online GTID
implementation

• GTID no longer
requires log-slave-
updates to be
enabled

• Virtual columns
(generated columns)

• Online buffer pool
resize

• Username size
increase

• LOCK/UNLOCK
accounts

• JSON + MySQL Shell
+ X DevAPI

• Encryption at rest
MariaDB 10.1
• START TRANSACTION
WITH CONSISTENT
SNAPSHOT

• Integrated Galera Cluster

• Table/tablespace
encryption

• Optimistic parallel
replication

• InnoDB defragmentation

• ANALYZE <statement>

• Threadpool

• cracklib_password_check

• SQL error logging plugin

• Extended REGEXP (PCRE)

• Roles
Percona Server (5.6)/5.7
• Per table/index/user/client/thread
performance counters (userstats)

• Lock-free SHOW SLAVE STATUS
NOLOCK

• Percona Toolkit UDFs

• Expanded fast index creation -
expand_fast_index_creation

• XtraDB changed page tracking

• Kill idle transactions

• Utility user - system access to
admin tasks, limited access to
user schema

• Slow query log enhancements

• Improved MEMORY storage
engine

• Log all client commands to syslog

• PROXY protocol support

• Backup locks

• TokuBackup
InnoDB Parallel Doublewrite Buffer
WebScaleSQL
• Clients can specify millisecond read/write/
connect timeouts 

• Super read-only to prevent writes by
SUPER users

• Prefix index query optimisation 

• Idle system flush rate
Facebook
• Dynamic columns + indexes? DocStore

• RocksDB, including myrocks_hotbackup

• Asynchronous mysql client support

• max_running_queries / max_waiting_queries

• Relay log writes don’t block SHOW SLAVE
STATUS
Twitter
• Last updated mid-June 2015 :(

• They made Apache Cotton for Mesos/
MySQL
AliSQL
• Further optimised threadpool

• For Single’s Day, they have a “hot SKU” fix for inventory
deductions of a single SKU

• SQL firewall

• Temporary table space limitations

• Log SHUTDOWN information

• Persistent InnoDB AUTO_INCREMENT (MDEV-6076)

• Column level compression
What about the !server external ecosystem?
• Percona Toolkit

• Percona Xtrabackup

• MariaDB MaxScale

• mydumper

• MHA

• Tungsten Replicator 

• vitess

• ScaleDB & ScaleBase

• Tumblr JetPants

• MySQL Utilities

• MySQL Router

• MySQL Fabric

• PRM (w/Pacemaker)

• SeveralNines ClusterControl

• MMM

• ShardQuery + FlexViews

• Orchestrator

• MySQL Sandbox

• Numerous GUI tools: MySQL
Workbench, phpMyAdmin, SQLYog,
etc
(GNU/Linux) Distributions
• Most are defaulted to MariaDB Server 10 (some like RHEL
7 are still on MariaDB Server 5.5)

• so when you ask for mysql, you effectively get MariaDB
Server (beware!)

• Debian was hotly contesting if it should drop MySQL or
not (see: Elasticsearch)

• however, today, Debian & Ubuntu ship MySQL as
default, MariaDB Server and Percona Server as choices
Where are they now?
• Drizzle - single company opensource project
(Rackspace). Most went on to work at OpenStack

• PBXT - PrimeBase focuses on TeamDrive, out of
the engine business

• InfoBright

• Calpont InfiniDB - to MariaDB Corporation & Oracle

• Tokutek TokuDB - Percona acquires in April 2015
Future?
• MySQL 8.0 DMR is out! Look out for the interesting work behind
Cluster & group replication

• Percona Server aims to never become a fork — work closely
with Oracle. MORE FEATURES COMING in 5.7, e.g.
compressed columns (Blueprints)

• MariaDB 10.2 (beta out!) will become more of a fork with various
features like window functions, CTEs, 5.7 compatibility, etc.

• WebScaleSQL (really, fb-mysql) will skip MySQL 5.7; backports
to current tree + look at 8
MySQL 8.0 - DMR now available!
• Major refactoring - C++11, better support for ARM64/PPC

• utf8mb4

• SET PERSIST

• Bye, bye, .FRM files - transactional data dictionary 

• Optimiser: table level hints, invisible indexes, cost based optimiser

• Progress of row based replication in PERFORMANCE_SCHEMA?

• Roles

• http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-
is-available/
MariaDB 10.2 - alpha’s available
• Window functions

• CTEs

• CREATE USER with limits

• CHECK constraints

• Better virtual computed columns support 

• Missing… e.g. https://jira.mariadb.org/browse/MDEV-7145 

• https://jira.mariadb.org/browse/MDEV-10392 (incompatibilities)

• https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/
#incompatibilities-between-mariadb-101-and-mysql-57
MariaDB 10.3
• Developer’s meeting in Amsterdam after
Percona Live Amsterdam (Thu-Sat)

• sql_mode=ORACLE

• Pluggable parser for compatibility with other
databases (MDEV-10142)

• https://jira.mariadb.org/browse/MDEV-10137
Discussions
http://planet.mysql.com/ 

https://lists.launchpad.net/maria-developers/

https://lists.launchpad.net/maria-discuss/

https://groups.google.com/forum/#!forum/percona-
discussion 

https://groups.google.com/forum/#!forum/maxscale 

https://groups.google.com/forum/#!forum/codership-team 

https://lists.mysql.com/internals (kinda dead :( )
Bugs
http://bugs.mysql.com/

https://bugs.launchpad.net/percona-server

https://jira.mariadb.org/secure/
Dashboard.jspa 

Phabricator https://reviews.facebook.net/
Conferences/Events w/dedicated MySQL
track
• SCALE, Los Angeles, CA

• FOSDEM, Brussels, Belgium

• Percona Live Data Performance, Santa Clara, CA

• SouthEast LinuxFest, Charlotte, NC

• Percona Live Europe, Amsterdam, Netherlands

• Oracle OpenWorld, San Francisco, CA

• Various db.tech showcases in Japan

• DataOps LATAM, Buenos Aires, Argentina
What should you use?
• Think about the innovation today

• Think about the features you need today (with
tolerance for the roadmap & what comes tomorrow)

• Beware vendor lock-in

• Ensure you are well supported

• Branches & forks tend to provide “Enterprise”
features for free
Thank you!
Colin Charles
colin.charles@percona.com / byte@bytebot.net
http://bytebot.net/blog | @bytebot on twitter
slides: slideshare.net/bytebot

More Related Content

What's hot

MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016Colin Charles
 
My first moments with MongoDB
My first moments with MongoDBMy first moments with MongoDB
My first moments with MongoDBColin Charles
 
Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016Colin Charles
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialColin Charles
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Colin Charles
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitMeet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitColin Charles
 
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityBest practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityColin Charles
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB MeetupMariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB MeetupColin Charles
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleColin Charles
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)Colin Charles
 
MySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerMySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerColin Charles
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020Alkin Tezuysal
 
Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Colin Charles
 
Databases in the hosted cloud
Databases in the hosted cloudDatabases in the hosted cloud
Databases in the hosted cloudColin Charles
 
The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! Colin Charles
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialColin Charles
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data storesColin Charles
 
Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)kayokogoto
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialColin Charles
 
MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMario Beck
 

What's hot (20)

MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016
 
My first moments with MongoDB
My first moments with MongoDBMy first moments with MongoDB
My first moments with MongoDB
 
Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitMeet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web Summit
 
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityBest practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High Availability
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB MeetupMariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
 
MySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerMySQL features missing in MariaDB Server
MySQL features missing in MariaDB Server
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020
 
Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0
 
Databases in the hosted cloud
Databases in the hosted cloudDatabases in the hosted cloud
Databases in the hosted cloud
 
The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it!
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability Tutorial
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data stores
 
Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
 
MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB Cluster
 

Viewers also liked

LaravelSP - MySQL 5.7: introdução ao JSON Data Type
LaravelSP - MySQL 5.7: introdução ao JSON Data TypeLaravelSP - MySQL 5.7: introdução ao JSON Data Type
LaravelSP - MySQL 5.7: introdução ao JSON Data TypeGabriela Ferrara
 
SunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQLSunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQLGabriela Ferrara
 
[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습smartstudy_official
 
MySQL Enterprise Cloud
MySQL Enterprise Cloud MySQL Enterprise Cloud
MySQL Enterprise Cloud Mark Swarbrick
 
Building Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL FabricBuilding Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL FabricMats Kindahl
 
LAMP: Desenvolvendo além do trivial
LAMP: Desenvolvendo além do trivialLAMP: Desenvolvendo além do trivial
LAMP: Desenvolvendo além do trivialGabriela Ferrara
 
MySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoMySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoGabriela Ferrara
 
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...Ivan Zoratti
 
20171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v120171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v1Ivan Ma
 
MySQL Cluster Whats New
MySQL Cluster Whats NewMySQL Cluster Whats New
MySQL Cluster Whats NewMark Swarbrick
 
Strip your TEXT fields - Exeter Web Feb/2016
Strip your TEXT fields - Exeter Web Feb/2016Strip your TEXT fields - Exeter Web Feb/2016
Strip your TEXT fields - Exeter Web Feb/2016Gabriela Ferrara
 
Sharding using MySQL and PHP
Sharding using MySQL and PHPSharding using MySQL and PHP
Sharding using MySQL and PHPMats Kindahl
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Coding like a girl - DjangoCon
Coding like a girl - DjangoConCoding like a girl - DjangoCon
Coding like a girl - DjangoConGabriela Ferrara
 
MySQL Sharding: Tools and Best Practices for Horizontal Scaling
MySQL Sharding: Tools and Best Practices for Horizontal ScalingMySQL Sharding: Tools and Best Practices for Horizontal Scaling
MySQL Sharding: Tools and Best Practices for Horizontal ScalingMats Kindahl
 
Exploring MongoDB & Elasticsearch: Better Together
Exploring MongoDB & Elasticsearch: Better TogetherExploring MongoDB & Elasticsearch: Better Together
Exploring MongoDB & Elasticsearch: Better TogetherObjectRocket
 

Viewers also liked (20)

LaravelSP - MySQL 5.7: introdução ao JSON Data Type
LaravelSP - MySQL 5.7: introdução ao JSON Data TypeLaravelSP - MySQL 5.7: introdução ao JSON Data Type
LaravelSP - MySQL 5.7: introdução ao JSON Data Type
 
SunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQLSunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQL
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습[스마트스터디]MongoDB 의 역습
[스마트스터디]MongoDB 의 역습
 
MySQL Enterprise Cloud
MySQL Enterprise Cloud MySQL Enterprise Cloud
MySQL Enterprise Cloud
 
Building Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL FabricBuilding Scalable High Availability Systems using MySQL Fabric
Building Scalable High Availability Systems using MySQL Fabric
 
LAMP: Desenvolvendo além do trivial
LAMP: Desenvolvendo além do trivialLAMP: Desenvolvendo além do trivial
LAMP: Desenvolvendo além do trivial
 
MySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoMySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo Proveito
 
Laravel 5 and SOLID
Laravel 5 and SOLIDLaravel 5 and SOLID
Laravel 5 and SOLID
 
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
Ora mysql bothGetting the best of both worlds with Oracle 11g and MySQL Enter...
 
20171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v120171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v1
 
Mongodb
MongodbMongodb
Mongodb
 
MySQL Cluster Whats New
MySQL Cluster Whats NewMySQL Cluster Whats New
MySQL Cluster Whats New
 
Strip your TEXT fields - Exeter Web Feb/2016
Strip your TEXT fields - Exeter Web Feb/2016Strip your TEXT fields - Exeter Web Feb/2016
Strip your TEXT fields - Exeter Web Feb/2016
 
Sharding using MySQL and PHP
Sharding using MySQL and PHPSharding using MySQL and PHP
Sharding using MySQL and PHP
 
Strip your TEXT fields
Strip your TEXT fieldsStrip your TEXT fields
Strip your TEXT fields
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Coding like a girl - DjangoCon
Coding like a girl - DjangoConCoding like a girl - DjangoCon
Coding like a girl - DjangoCon
 
MySQL Sharding: Tools and Best Practices for Horizontal Scaling
MySQL Sharding: Tools and Best Practices for Horizontal ScalingMySQL Sharding: Tools and Best Practices for Horizontal Scaling
MySQL Sharding: Tools and Best Practices for Horizontal Scaling
 
Exploring MongoDB & Elasticsearch: Better Together
Exploring MongoDB & Elasticsearch: Better TogetherExploring MongoDB & Elasticsearch: Better Together
Exploring MongoDB & Elasticsearch: Better Together
 

Similar to The MySQL Server Ecosystem in 2016

The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016sys army
 
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdfMySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdfAlkin Tezuysal
 
MariaDB 初学者指南
MariaDB 初学者指南MariaDB 初学者指南
MariaDB 初学者指南YUCHENG HU
 
MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC Colin Charles
 
OSDC 2017 | Lessons from database failures by Colin Charles
OSDC 2017 | Lessons from database failures by Colin CharlesOSDC 2017 | Lessons from database failures by Colin Charles
OSDC 2017 | Lessons from database failures by Colin CharlesNETWAYS
 
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...NETWAYS
 
Mysql ecosystem in 2018
Mysql ecosystem in 2018Mysql ecosystem in 2018
Mysql ecosystem in 2018Alkin Tezuysal
 
Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud Colin Charles
 
Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted CloudColin Charles
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么YUCHENG HU
 
MariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectMariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectColin Charles
 
A beginners guide to MariaDB
A beginners guide to MariaDBA beginners guide to MariaDB
A beginners guide to MariaDBColin Charles
 
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted CloudColin Charles
 
Technology Day 2011 MySQL & MariaDB
Technology Day 2011 MySQL & MariaDBTechnology Day 2011 MySQL & MariaDB
Technology Day 2011 MySQL & MariaDBDan-Claudiu Dragoș
 
MariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started TutorialMariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started Tutorialphamhphuc
 
MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)Colin Charles
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...Insight Technology, Inc.
 
The MySQL Diaspora
The MySQL DiasporaThe MySQL Diaspora
The MySQL DiasporaYUCHENG HU
 
The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015Colin Charles
 

Similar to The MySQL Server Ecosystem in 2016 (20)

The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016
 
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdfMySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
 
MariaDB 初学者指南
MariaDB 初学者指南MariaDB 初学者指南
MariaDB 初学者指南
 
MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC
 
OSDC 2017 | Lessons from database failures by Colin Charles
OSDC 2017 | Lessons from database failures by Colin CharlesOSDC 2017 | Lessons from database failures by Colin Charles
OSDC 2017 | Lessons from database failures by Colin Charles
 
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
 
Mysql ecosystem in 2018
Mysql ecosystem in 2018Mysql ecosystem in 2018
Mysql ecosystem in 2018
 
Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud
 
Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted Cloud
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么
 
MariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectMariaDB 10 and what's new with the project
MariaDB 10 and what's new with the project
 
MySQL in the Cloud
MySQL in the CloudMySQL in the Cloud
MySQL in the Cloud
 
A beginners guide to MariaDB
A beginners guide to MariaDBA beginners guide to MariaDB
A beginners guide to MariaDB
 
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted Cloud
 
Technology Day 2011 MySQL & MariaDB
Technology Day 2011 MySQL & MariaDBTechnology Day 2011 MySQL & MariaDB
Technology Day 2011 MySQL & MariaDB
 
MariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started TutorialMariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started Tutorial
 
MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
 
The MySQL Diaspora
The MySQL DiasporaThe MySQL Diaspora
The MySQL Diaspora
 
The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

The MySQL Server Ecosystem in 2016

  • 1. The MySQL Server Ecosystem in 2016 Colin Charles, Chief Evangelist, Percona Inc. colin.charles@percona.com / byte@bytebot.net http://bytebot.net/blog/ | @bytebot on Twitter Percona Live Europe Amsterdam, Netherlands 5 October 2016
  • 2. whoami • Chief Evangelist (in the CTO office), Percona Inc • Focusing on the MySQL ecosystem (MySQL, Percona Server, MariaDB Server), as well as the MongoDB ecosystem (Percona Server for MongoDB) + 100% open source tools from Percona like Percona Monitoring & Management, Percona xtrabackup, Percona Toolkit, etc. • Founding team of MariaDB Server (2009-2016), previously at Monty Program Ab, merged with SkySQL Ab, now MariaDB Corporation • Formerly MySQL AB (exit: Sun Microsystems) • Past lives include Fedora Project (FESCO), OpenOffice.org • MySQL Community Contributor of the Year Award winner 2014
  • 3. A Mature Ecosystem •MySQL: 21 years old — May 1995 •Percona Server: 8 years old — November 2008 •MariaDB Server: 6 years old — February 2010 •Drizzle: 2008 - 2012 (R.I.P.) •WebScaleSQL: March 2014
  • 4. History • 1979: UNIREG • 1986: UNIREG on UNIX • mSQL - freely available but not opensource • 1995: MySQL 1.0 + MySQL AB founded • 1996: 3.19 • 2000: GPL MySQL Server
  • 5. History 2 • Shortly thereafter, the dual-license arrives — libmysql is GPL and not LGPL like before • May 2000: 3.23.15 - (statement based) replication arrives • 2001: 3.23 GA • 2001: InnoDB storage engine (InnoBase Oy) • 2001: first round VC $$$, Mårten Mickos as CEO
  • 6. History 3 • 2002: MySQL sued Progress NuSphere over the Gemini storage engine • 2003: VC Series B • March 2003: 4.0 GA + 4.1 & 5.0 as alpha • 2003: SAP partnership (hello MaxDB) • 2003: Acquires Alzato (NDBCLUSTER)
  • 7. History 4 • October 2004: 4.1 GA (with NDBCLUSTER) • 2005: 5.0 tree is the focus, but it has issues • October 2005: Oracle acquires Innobase Oy (“InnoDB Friday”) • October 2005: 5.0 becomes GA* • Late 2005: Maria project starts (make a crash- safe+transactional MyISAM)
  • 8. History 5 • February 2006: VC Series C • 2006: Netfrastructure acquired (Falcon engine) • Pluggable storage architecture - only database that support(ed) it • A “fork” of MySQL Cluster in 2006 • 2006: PBXT (log-based design + performance) … 2011
  • 9. What makes engines different? • Storage: how the data is stored on disk • Or in NDB (memory +disk), CassandraSE (access a Cassandra Cluster), SphinxSE (access the Sphinx daemon) • Indexes: improves search operations • Memory usage: improves data access for speed • Transactions: protects the integrity of your data (Atomic-Consistent- Isolated-Durable - ACID) • Locking level: MyISAM (table locks), InnoDB (row locks), old BDB (page locks) • Data types: Data types may be converted, MEMORY doesn’t support TEXT, etc. • Caching: InnoDB caches data & indexes, MyISAM caches indexes only (relying on OS disk cache for data) • Full-text search capability: MyISAM has this, InnoDB 5.6 got this • GIS: MyISAM & Aria work (R-tree indexes exist), InnoDB 5.7 has this too • Backups • Foreign Keys
  • 10. History 6 • November 2007: MySQL 6.0 Alpha, 5.1 current tree being worked on but not ready • 2007: quiet period for IPO • January 2008: Sun Microsystems acquires MySQL AB for USD$1 BILLION • June 2008: Drizzle — fork of MySQL 6.0 — modular, fast, microkernel architecture, UTF8, etc. • November 2008: 5.1 GA
  • 11. History 7 • Late 2008: OurDelta binaries • November 2008: Percona Server (patchset ~July) • http://www.bytebot.net/blog/archives/2009/10/14/ flickrs-upgraded-shard
  • 12. History 8 • February 2009: Monty leaves Sun • March 2009: Final 6.0 Alpha (and shortly dead thereafter) • April 2009: Oracle acquires Sun Microsystems (January 2010 sale completes, after a long battle with the EU) • shortly thereafter Monty Program Ab is where MariaDB starts being worked on • October 2009: MariaDB 5.1 Beta release
  • 13. History 9 • February 2010: MariaDB 5.1 GA release • November 2010: MariaDB 5.2 GA release • December 2010: MySQL 5.5 GA • April 2011: Percona Server 5.5 stable • February 2012: MariaDB 5.3 GA (GIS, replication improvements, optimiser)
  • 14. History 10 • April 2012: MariaDB 5.5 GA • November 2012: Announcement of MariaDB Foundation • February 2013: MySQL 5.6 GA • April 2013: SkySQL Ab acquires Monty Program Ab • October 2013: Percona Server 5.6 GA
  • 15. History 11 • March 2014: MariaDB 10 GA • March 2014: WebScaleSQL — but there’s no GA/ shipping release • October 2015: MariaDB 10.1 GA, MySQL 5.7 GA • February 2016: MySQL 5.7.11 gets InnoDB at-rest data encryption post-GA; Percona Server 5.7 GA • April 2016: MySQL 5.7.12 gets X Protocol, MySQL Shell, X DevAPI post-GA
  • 16. Open source community • MariaDB: takes external contributors/committers • MySQL: 5.7 takes Generated Columns (virtual columns in MariaDB 5.2) from Andrey Zhakov • contributions welcome, commits not • see: MySQL Community Contributor Award Program • WebScaleSQL: Alibaba, Facebook, Google, LinkedIn, and Twitter (w/ Percona + MariaDB also agreeing to work on it) • Percona: bug reports/feature requests welcome, commits not (yet)
  • 17. Google Summer of Code • 2013: 3 contributors (all shipping code, one committer) • 2014: 4 contributors (all shipping code, a MariaDB Foundation member hired a new developer) • 2015: accepted with 8 contributors, finally 3 passed • 2016: accepted with 10 students (ended with 5 passing)
  • 18. Is MySQL dying? • “The reports of my death have been greatly exaggerated” — Mark Twain • MySQL ecosystem development is at its most vibrant now than it has ever been • Oracle has been a great steward of pushing MySQL development forward
  • 19. MySQL adoption • MySQL Server (5.5) still leads the way in Debian/Ubuntu (the only one you can track via popcon) • Followed by MariaDB Server and then Percona Server • Today you can also see stats on the Docker hub, Juju Charms, etc.
  • 21.
  • 22. MySQL 5.7 • Multi-source replication • Dynamic replication filters • Lossless semisync • SHOW EXPLAIN for connection_id • GIS functionality • Statement timeouts • Change master without stopping SQL thread • Online GTID implementation • GTID no longer requires log-slave- updates to be enabled • Virtual columns (generated columns) • Online buffer pool resize • Username size increase • LOCK/UNLOCK accounts • JSON + MySQL Shell + X DevAPI • Encryption at rest
  • 23. MariaDB 10.1 • START TRANSACTION WITH CONSISTENT SNAPSHOT • Integrated Galera Cluster • Table/tablespace encryption • Optimistic parallel replication • InnoDB defragmentation • ANALYZE <statement> • Threadpool • cracklib_password_check • SQL error logging plugin • Extended REGEXP (PCRE) • Roles
  • 24. Percona Server (5.6)/5.7 • Per table/index/user/client/thread performance counters (userstats) • Lock-free SHOW SLAVE STATUS NOLOCK • Percona Toolkit UDFs • Expanded fast index creation - expand_fast_index_creation • XtraDB changed page tracking • Kill idle transactions • Utility user - system access to admin tasks, limited access to user schema • Slow query log enhancements • Improved MEMORY storage engine • Log all client commands to syslog • PROXY protocol support • Backup locks • TokuBackup
  • 26. WebScaleSQL • Clients can specify millisecond read/write/ connect timeouts • Super read-only to prevent writes by SUPER users • Prefix index query optimisation • Idle system flush rate
  • 27. Facebook • Dynamic columns + indexes? DocStore • RocksDB, including myrocks_hotbackup • Asynchronous mysql client support • max_running_queries / max_waiting_queries • Relay log writes don’t block SHOW SLAVE STATUS
  • 28. Twitter • Last updated mid-June 2015 :( • They made Apache Cotton for Mesos/ MySQL
  • 29. AliSQL • Further optimised threadpool • For Single’s Day, they have a “hot SKU” fix for inventory deductions of a single SKU • SQL firewall • Temporary table space limitations • Log SHUTDOWN information • Persistent InnoDB AUTO_INCREMENT (MDEV-6076) • Column level compression
  • 30. What about the !server external ecosystem? • Percona Toolkit • Percona Xtrabackup • MariaDB MaxScale • mydumper • MHA • Tungsten Replicator • vitess • ScaleDB & ScaleBase • Tumblr JetPants • MySQL Utilities • MySQL Router • MySQL Fabric • PRM (w/Pacemaker) • SeveralNines ClusterControl • MMM • ShardQuery + FlexViews • Orchestrator • MySQL Sandbox • Numerous GUI tools: MySQL Workbench, phpMyAdmin, SQLYog, etc
  • 31. (GNU/Linux) Distributions • Most are defaulted to MariaDB Server 10 (some like RHEL 7 are still on MariaDB Server 5.5) • so when you ask for mysql, you effectively get MariaDB Server (beware!) • Debian was hotly contesting if it should drop MySQL or not (see: Elasticsearch) • however, today, Debian & Ubuntu ship MySQL as default, MariaDB Server and Percona Server as choices
  • 32. Where are they now? • Drizzle - single company opensource project (Rackspace). Most went on to work at OpenStack • PBXT - PrimeBase focuses on TeamDrive, out of the engine business • InfoBright • Calpont InfiniDB - to MariaDB Corporation & Oracle • Tokutek TokuDB - Percona acquires in April 2015
  • 33. Future? • MySQL 8.0 DMR is out! Look out for the interesting work behind Cluster & group replication • Percona Server aims to never become a fork — work closely with Oracle. MORE FEATURES COMING in 5.7, e.g. compressed columns (Blueprints) • MariaDB 10.2 (beta out!) will become more of a fork with various features like window functions, CTEs, 5.7 compatibility, etc. • WebScaleSQL (really, fb-mysql) will skip MySQL 5.7; backports to current tree + look at 8
  • 34. MySQL 8.0 - DMR now available! • Major refactoring - C++11, better support for ARM64/PPC • utf8mb4 • SET PERSIST • Bye, bye, .FRM files - transactional data dictionary • Optimiser: table level hints, invisible indexes, cost based optimiser • Progress of row based replication in PERFORMANCE_SCHEMA? • Roles • http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release- is-available/
  • 35.
  • 36. MariaDB 10.2 - alpha’s available • Window functions • CTEs • CREATE USER with limits • CHECK constraints • Better virtual computed columns support • Missing… e.g. https://jira.mariadb.org/browse/MDEV-7145 • https://jira.mariadb.org/browse/MDEV-10392 (incompatibilities) • https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/ #incompatibilities-between-mariadb-101-and-mysql-57
  • 37. MariaDB 10.3 • Developer’s meeting in Amsterdam after Percona Live Amsterdam (Thu-Sat) • sql_mode=ORACLE • Pluggable parser for compatibility with other databases (MDEV-10142) • https://jira.mariadb.org/browse/MDEV-10137
  • 38.
  • 41. Conferences/Events w/dedicated MySQL track • SCALE, Los Angeles, CA • FOSDEM, Brussels, Belgium • Percona Live Data Performance, Santa Clara, CA • SouthEast LinuxFest, Charlotte, NC • Percona Live Europe, Amsterdam, Netherlands • Oracle OpenWorld, San Francisco, CA • Various db.tech showcases in Japan • DataOps LATAM, Buenos Aires, Argentina
  • 42. What should you use? • Think about the innovation today • Think about the features you need today (with tolerance for the roadmap & what comes tomorrow) • Beware vendor lock-in • Ensure you are well supported • Branches & forks tend to provide “Enterprise” features for free
  • 43. Thank you! Colin Charles colin.charles@percona.com / byte@bytebot.net http://bytebot.net/blog | @bytebot on twitter slides: slideshare.net/bytebot