SlideShare a Scribd company logo
The MySQL Ecosystem - understanding
it, not running away from it!
Colin Charles, Chief Evangelist, Percona Inc.

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

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

FOSDEM, Brussels, Belgium

4 February 2018
#mysqldevroom #FOSDEM
whoami
• Chief Evangelist, 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 The Fedora Project (FESCO), OpenOffice.org

• MySQL Community Contributor of the Year Award winner 2014
#mysqldevroom #FOSDEM
A Mature Ecosystem
• MySQL: nearly 23 years old — May 1995

• Percona Server: 9+ years old — November 2008

• MariaDB: 8 years old — February 2010

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

• WebScaleSQL: March 2014 - December 2016
#mysqldevroom #FOSDEM
Learnings from WebScaleSQL
#mysqldevroom #FOSDEM
#mysqldevroom #FOSDEM
#mysqldevroom #FOSDEM
#mysqldevroom #FOSDEM
Open source community
• MariaDB: takes external contributors/committers, participates in
Google Summer of Code

• 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

• Percona: bug reports welcome, commits not

• Contributor agreements: Oracle Contributor Agreement (OCA),
MariaDB Contributor Agreement (MCA) and the BSD New
#mysqldevroom #FOSDEM
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
#mysqldevroom #FOSDEM
MySQL 5.7 -
www.thecompletelistoffeatures.com
• 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
#mysqldevroom #FOSDEM
MariaDB 10.1
• START TRANSACTION WITH
CONSISTENT SNAPSHOT

• Integrated Galera Cluster

• Table/tablespace encryption

• Optimistic parallel replication

• Enhanced semi-sync
replication

• InnoDB defragmentation

• ANALYZE <statement>

• Threadpool

• cracklib_password_check

• SQL error logging plugin

• Extended REGEXP (PCRE)

• Roles
#mysqldevroom #FOSDEM
MariaDB 10.2
• InnoDB as default InnoDB

• MyRocks alpha

• Window functions

• Recursive Common Table
Expressions (CTEs)

• AWS Key Management plugin

• CHECK CONSTRAINT

• SHOW CREATE USER

• Multiple triggers for the same
event

• EXECUTE IMMEDIATE (Oracle
styled)

• DML only flashback
#mysqldevroom #FOSDEM
Percona Server 5.6/5.7
• Percona XtraDB (many
improvements, parallel doublewrite
buffer, etc.)

• variable: numa_interleave

• restrict # of binlog files -
max_binlog_files

• Lock-free SHOW SLAVE STATUS
NOLOCK

• Percona Toolkit UDFs

• Expanded fast index creation -
expand_fast_index_creation

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

• Slow query log enhancements

• Log all client commands to syslog

• Improved Memory storage engine

• Per-query variable statement

• PROXY protocol support

• Backup locks

• TokuBackup
#mysqldevroom #FOSDEM
A base blog post resource
• High level, answer to a whitepaper

• https://www.percona.com/blog/2017/11/02/mysql-vs-mariadb-
reality-check/
#mysqldevroom #FOSDEM
Define: compatibility (OED)
• A state in which two things are able to exist or occur together
without problems or conflict.
#mysqldevroom #FOSDEM
Why this matters
• MariaDB Server is the “default” MySQL in pretty much every Linux
distribution except Ubuntu (shipping MySQL 5.7)

• Take a page from the cloud operators & their offerings

• Amazon Web Services (AWS) RDS MySQL & MariaDB, Microsoft
Azure MySQL & MariaDB, Rackspace Cloud MySQL & MariaDB
(and Percona Server)
#mysqldevroom #FOSDEM
Commitments
• Verbal commitments: “MySQL 5.6, should be comparable to
MariaDB Server 10.1. And for 10.2 it should be compatible with
MySQL 5.7” — Michael “Monty” Widenius, CTO of MariaDB
Corporation and MariaDB Foundation, 7 October 2016, MariaDB
Developer’s Meeting, Amsterdam

• http://mariadb.org/about/ 

• “It is an enhanced, drop-in replacement for MySQL.”
#mysqldevroom #FOSDEM
Governance
• MariaDB

• MariaDB Corporation

• MariaDB Foundation

• https://mariadb.org/about/
governance/ 

• MySQL

• Oracle (by way of Sun, MySQL
AB)

• Percona

• Percona Inc
#mysqldevroom #FOSDEM
Releases MariaDB MySQL
5.1: 1 Feb 2010 5.1: 14 Nov 2008
5.2: 10 Nov 2010
5.3: 29 Feb 2012
5.5: 11 Apr 2012 5.5: 3 Dec 2010
5.6: 5 Feb 2013
10.0: 31 Mar 2014
10.1: 17 Oct 2015
5.7: 21 Oct 2015
10.2: 23 May 2017
#mysqldevroom #FOSDEM
Replication
#mysqldevroom #FOSDEM
Replication
• Default binlog format is now MIXED in MariaDB (ROW in MySQL)

• Default replicate_annotate_row_events is ON

• Time delayed replication arrives in MariaDB Server 10.2 (in MySQL 5.6)

• DML only Flashback - rollback instances/databases/tables to an older
snapshot (via Alibaba!) - unique to MariaDB

• Synchronous replication

• Galera Cluster: MariaDB Server has it built-in, Percona XtraDB Cluster
5.7 comes with ProxySQL + an admin tool

• Group replication: works only on MySQL, Percona Server
#mysqldevroom #FOSDEM
X Protocol
• MariaDB Server has no support for the MySQL X Protocol

• This means you cannot use mysqlsh to access MariaDB Server
either
#mysqldevroom #FOSDEM
Encryption
• MySQL 5.7 and MariaDB Server 10.1+ implement encryption
differently (one is fully tablespace encryption, the other is based on
the Google patch for tablespace encryption in addition to having
table encryption)

• One does not encrypt logs, the other does

• MySQL requires innodb_file_per_table

• MySQL implementation works fully with Percona XtraDB Cluster
#mysqldevroom #FOSDEM
Security
• MySQL: sha256_password

• MariaDB: ed25519 password plugin

• validate_password is on by default in MySQL 5.7 (not in
MariaDB)

• SSL: 5.7 has pre-generated keys, enable it in the client; disabled by
default in MariaDB Server

• MySQL links against YaSSL, Percona Server against OpenSSL
(changing in 8.0 for MySQL too)
#mysqldevroom #FOSDEM
mysql.user table changes
• MariaDB Server and MySQL differ here (not just by addition of roles)
- mysql.user.password is just
mysql.user.authentication_string 

• Password expiry is coming? https://jira.mariadb.org/browse/
MDEV-7597 

• Password last changed? Lifetime?

• ACCOUNT LOCK/UNLOCK
• VALIDATE_PASSWORD_STRENGTH() SQL function doesn’t work in
MariaDB Server
#mysqldevroom #FOSDEM
Stuff that might matter to you
• Optimizer hints - https://jira.mariadb.org/browse/MDEV-9078 

• RENAME INDEX - https://jira.mariadb.org/browse/MDEV-7318 

• Query rewriting? - https://jira.mariadb.org/browse/MDEV-5561 

• MySQL SUPER READONLY - https://jira.mariadb.org/browse/
MDEV-9458 

• Optimiser trace: https://jira.mariadb.org/browse/MDEV-6111 

• PERFORMANCE_SCHEMA - 5.7 improvements, MariaDB still ships
5.6 P_S
#mysqldevroom #FOSDEM
Tools
• including new tools like mysql_ssl_rsa_setup ? mysqlpump?

• tools that require MySQL GTID don’t work with MariaDB Server (e.g.
mysqlfailover, mysqlrpladmin, MHA for GTID based failover,
MySQL Router, etc.)
#mysqldevroom #FOSDEM
Ecosystem
• Percona Toolkit

• Percona XtraBackup

• ProxySQL

• MariaDB MaxScale

• mydumper

• MHA

• Tungsten Replicator 

• vitess

• Tumblr JetPants

• MySQL Utilities

• MySQL Router

• PRM (w/Pacemaker)

• SeveralNines ClusterControl

• Orchestrator

• MySQL Sandbox

• MariaDB ColumnStore

• Numerous GUI tools: MySQL
Workbench, phpMyAdmin,
SQLYog, etc
#mysqldevroom #FOSDEM
Today, when to use MariaDB Server?
• MyRocks storage engine 

• TokuDB storage engine

• MyISAM user? Segmented key
caches will help

• CONNECT storage engine

• Threadpool

• PAM authentication

• GSSAPI authentication
(Kerberos, Active Directory)

• Window functions

• PCRE Regular Expressions

• Optimistic parallel replication

• ANALYZE <statement>

• cracklib_password_check

• SQL Roles
#mysqldevroom #FOSDEM
Today, when to use Percona Server?
• When you need scalability,
performance, flexibility,
reliability, management, and
diagnostic improvements

• MyRocks 

• XtraDB

• Improved MEMORY engine

• TokuDB

• Enforcing storage engine, utility
user

• Encryption via the Keyring Vault
plugin

• Column compression

• Contributions go upstream to
Oracle quite often, so less to
maintain, and easier to develop
new features
For everyone else, today?
MySQL 5.7 is truly what you should be using
#mysqldevroom #FOSDEM
The very near future
• MySQL 8 brings roles, CTEs, window functions, transactional data dictionary,
histograms, SDIs (instead of FRMs), etc.

• http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-is-available/

• Will MariaDB Server 10.3 aim to be compatible with MySQL 8? Or more compatible
with Oracle?

• https://jira.mariadb.org/browse/MDEV-10137, https://jira.mariadb.org/browse/
MDEV-11070 

• https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-103/ 

• System versioned tables is an extremely neat feature, semisync via Alibaba merged
in, invisible columns, sequences, sql_mode=ORACLE understands a subset of PL/
SQL, column compression (storage engine independent), SPIDER merged, PROXY
protocol support, etc.
#mysqldevroom #FOSDEM
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

• Know the difference between a branch (Percona Server for MySQL)
and a fork (MariaDB Server)
#mysqldevroom #FOSDEM
Thank you!
Colin Charles
colin.charles@percona.com / byte@bytebot.net
http://bytebot.net/blog | @bytebot on twitter
slides: slideshare.net/bytebot
Ad

More Related Content

What's hot (20)

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
Colin Charles
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?
Colin 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
 
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
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
Colin Charles
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
Colin Charles
 
Securing your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataSecuring your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server data
Colin Charles
 
A beginners guide to MariaDB
A beginners guide to MariaDBA beginners guide to MariaDB
A beginners guide to MariaDB
Colin Charles
 
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
MariaDB 10 Tutorial - 13.11.11 - Percona Live LondonMariaDB 10 Tutorial - 13.11.11 - Percona Live London
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
Ivan Zoratti
 
MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014
Colin Charles
 
MySQL highav Availability
MySQL highav AvailabilityMySQL highav Availability
MySQL highav Availability
Baruch Osoveskiy
 
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
Colin Charles
 
Why MariaDB?
Why MariaDB?Why MariaDB?
Why MariaDB?
Colin 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 2016
Colin Charles
 
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
 
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10.0 - SkySQL Paris MeetupMariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB Corporation
 
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
Colin Charles
 
High Performance Drupal with MariaDB
High Performance Drupal with MariaDBHigh Performance Drupal with MariaDB
High Performance Drupal with MariaDB
MariaDB Corporation
 
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
Colin 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 MaxScale
Colin 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 Summit
Colin Charles
 
What is MariaDB Server 10.3?
What is MariaDB Server 10.3?What is MariaDB Server 10.3?
What is MariaDB Server 10.3?
Colin 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
 
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
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
Colin Charles
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
Colin Charles
 
Securing your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataSecuring your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server data
Colin Charles
 
A beginners guide to MariaDB
A beginners guide to MariaDBA beginners guide to MariaDB
A beginners guide to MariaDB
Colin Charles
 
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
MariaDB 10 Tutorial - 13.11.11 - Percona Live LondonMariaDB 10 Tutorial - 13.11.11 - Percona Live London
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
Ivan Zoratti
 
MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014
Colin Charles
 
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
Colin 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 2016
Colin Charles
 
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
 
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10.0 - SkySQL Paris MeetupMariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB Corporation
 
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
Colin Charles
 
High Performance Drupal with MariaDB
High Performance Drupal with MariaDBHigh Performance Drupal with MariaDB
High Performance Drupal with MariaDB
MariaDB Corporation
 
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
Colin 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 MaxScale
Colin Charles
 

Similar to The MySQL ecosystem - understanding it, not running away from it! (20)

The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016
Colin Charles
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016
sys 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.pdf
Alkin Tezuysal
 
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 Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQL
Colin Charles
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020
Alkin Tezuysal
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Continuent
 
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
NETWAYS
 
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 2018
Alkin Tezuysal
 
MySQL State of the Dolphin - Rich Mason
MySQL State of the Dolphin - Rich MasonMySQL State of the Dolphin - Rich Mason
MySQL State of the Dolphin - Rich Mason
MySQL Brasil
 
Lessons from database failures
Lessons from database failures Lessons from database failures
Lessons from database failures
Colin Charles
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么
YUCHENG HU
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Continuent
 
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityNOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
Ivan Zoratti
 
MariaDB 初学者指南
MariaDB 初学者指南MariaDB 初学者指南
MariaDB 初学者指南
YUCHENG HU
 
[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.
 
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
Codership Oy - Creators of Galera Cluster
 
Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted Cloud
Colin Charles
 
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
phamhphuc
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016
Colin Charles
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016
sys 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.pdf
Alkin Tezuysal
 
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 Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQL
Colin Charles
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020
Alkin Tezuysal
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Continuent
 
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
NETWAYS
 
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 2018
Alkin Tezuysal
 
MySQL State of the Dolphin - Rich Mason
MySQL State of the Dolphin - Rich MasonMySQL State of the Dolphin - Rich Mason
MySQL State of the Dolphin - Rich Mason
MySQL Brasil
 
Lessons from database failures
Lessons from database failures Lessons from database failures
Lessons from database failures
Colin Charles
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么
YUCHENG HU
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControlWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #7: ClusterControl
Continuent
 
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityNOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
Ivan Zoratti
 
MariaDB 初学者指南
MariaDB 初学者指南MariaDB 初学者指南
MariaDB 初学者指南
YUCHENG HU
 
[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.
 
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
Codership Oy - Creators of Galera Cluster
 
Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted Cloud
Colin Charles
 
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
phamhphuc
 
Ad

More from Colin Charles (10)

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
Colin Charles
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Colin Charles
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data stores
Colin Charles
 
Lessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesLessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companies
Colin Charles
 
Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?
Colin Charles
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failures
Colin Charles
 
My first moments with MongoDB
My first moments with MongoDBMy first moments with MongoDB
My first moments with MongoDB
Colin Charles
 
Distributions from the view a package
Distributions from the view a packageDistributions from the view a package
Distributions from the view a package
Colin Charles
 
Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins
Colin Charles
 
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7
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 Tutorial
Colin Charles
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Colin Charles
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data stores
Colin Charles
 
Lessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesLessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companies
Colin Charles
 
Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?
Colin Charles
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failures
Colin Charles
 
My first moments with MongoDB
My first moments with MongoDBMy first moments with MongoDB
My first moments with MongoDB
Colin Charles
 
Distributions from the view a package
Distributions from the view a packageDistributions from the view a package
Distributions from the view a package
Colin Charles
 
Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins
Colin Charles
 
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7Better encryption & security with MariaDB 10.1 & MySQL 5.7
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Colin Charles
 
Ad

Recently uploaded (20)

UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Hands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordDataHands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordData
Lynda Kane
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtBuckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Lynda Kane
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko
Fwdays
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
Rock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning JourneyRock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning Journey
Lynda Kane
 
Datastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptxDatastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptx
kaleeswaric3
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Hands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordDataHands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordData
Lynda Kane
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtBuckeye Dreamin 2024: Assessing and Resolving Technical Debt
Buckeye Dreamin 2024: Assessing and Resolving Technical Debt
Lynda Kane
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko
Fwdays
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
Rock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning JourneyRock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning Journey
Lynda Kane
 
Datastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptxDatastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptx
kaleeswaric3
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 

The MySQL ecosystem - understanding it, not running away from it!

  • 1. The MySQL Ecosystem - understanding it, not running away from it! Colin Charles, Chief Evangelist, Percona Inc. [email protected] / [email protected] http://bytebot.net/blog/ | @bytebot on Twitter FOSDEM, Brussels, Belgium 4 February 2018
  • 2. #mysqldevroom #FOSDEM whoami • Chief Evangelist, 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 The Fedora Project (FESCO), OpenOffice.org • MySQL Community Contributor of the Year Award winner 2014
  • 3. #mysqldevroom #FOSDEM A Mature Ecosystem • MySQL: nearly 23 years old — May 1995 • Percona Server: 9+ years old — November 2008 • MariaDB: 8 years old — February 2010 • Drizzle: 2008 - 2012 (R.I.P.) • WebScaleSQL: March 2014 - December 2016
  • 8. #mysqldevroom #FOSDEM Open source community • MariaDB: takes external contributors/committers, participates in Google Summer of Code • 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 • Percona: bug reports welcome, commits not • Contributor agreements: Oracle Contributor Agreement (OCA), MariaDB Contributor Agreement (MCA) and the BSD New
  • 9. #mysqldevroom #FOSDEM 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
  • 10. #mysqldevroom #FOSDEM MySQL 5.7 - www.thecompletelistoffeatures.com • 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
  • 11. #mysqldevroom #FOSDEM MariaDB 10.1 • START TRANSACTION WITH CONSISTENT SNAPSHOT • Integrated Galera Cluster • Table/tablespace encryption • Optimistic parallel replication • Enhanced semi-sync replication • InnoDB defragmentation • ANALYZE <statement> • Threadpool • cracklib_password_check • SQL error logging plugin • Extended REGEXP (PCRE) • Roles
  • 12. #mysqldevroom #FOSDEM MariaDB 10.2 • InnoDB as default InnoDB • MyRocks alpha • Window functions • Recursive Common Table Expressions (CTEs) • AWS Key Management plugin • CHECK CONSTRAINT • SHOW CREATE USER • Multiple triggers for the same event • EXECUTE IMMEDIATE (Oracle styled) • DML only flashback
  • 13. #mysqldevroom #FOSDEM Percona Server 5.6/5.7 • Percona XtraDB (many improvements, parallel doublewrite buffer, etc.) • variable: numa_interleave • restrict # of binlog files - max_binlog_files • Lock-free SHOW SLAVE STATUS NOLOCK • Percona Toolkit UDFs • Expanded fast index creation - expand_fast_index_creation • Utility user - system access to admin tasks, limited access to user schema • Slow query log enhancements • Log all client commands to syslog • Improved Memory storage engine • Per-query variable statement • PROXY protocol support • Backup locks • TokuBackup
  • 14. #mysqldevroom #FOSDEM A base blog post resource • High level, answer to a whitepaper • https://www.percona.com/blog/2017/11/02/mysql-vs-mariadb- reality-check/
  • 15. #mysqldevroom #FOSDEM Define: compatibility (OED) • A state in which two things are able to exist or occur together without problems or conflict.
  • 16. #mysqldevroom #FOSDEM Why this matters • MariaDB Server is the “default” MySQL in pretty much every Linux distribution except Ubuntu (shipping MySQL 5.7) • Take a page from the cloud operators & their offerings • Amazon Web Services (AWS) RDS MySQL & MariaDB, Microsoft Azure MySQL & MariaDB, Rackspace Cloud MySQL & MariaDB (and Percona Server)
  • 17. #mysqldevroom #FOSDEM Commitments • Verbal commitments: “MySQL 5.6, should be comparable to MariaDB Server 10.1. And for 10.2 it should be compatible with MySQL 5.7” — Michael “Monty” Widenius, CTO of MariaDB Corporation and MariaDB Foundation, 7 October 2016, MariaDB Developer’s Meeting, Amsterdam • http://mariadb.org/about/ • “It is an enhanced, drop-in replacement for MySQL.”
  • 18. #mysqldevroom #FOSDEM Governance • MariaDB • MariaDB Corporation • MariaDB Foundation • https://mariadb.org/about/ governance/ • MySQL • Oracle (by way of Sun, MySQL AB) • Percona • Percona Inc
  • 19. #mysqldevroom #FOSDEM Releases MariaDB MySQL 5.1: 1 Feb 2010 5.1: 14 Nov 2008 5.2: 10 Nov 2010 5.3: 29 Feb 2012 5.5: 11 Apr 2012 5.5: 3 Dec 2010 5.6: 5 Feb 2013 10.0: 31 Mar 2014 10.1: 17 Oct 2015 5.7: 21 Oct 2015 10.2: 23 May 2017
  • 21. #mysqldevroom #FOSDEM Replication • Default binlog format is now MIXED in MariaDB (ROW in MySQL) • Default replicate_annotate_row_events is ON • Time delayed replication arrives in MariaDB Server 10.2 (in MySQL 5.6) • DML only Flashback - rollback instances/databases/tables to an older snapshot (via Alibaba!) - unique to MariaDB • Synchronous replication • Galera Cluster: MariaDB Server has it built-in, Percona XtraDB Cluster 5.7 comes with ProxySQL + an admin tool • Group replication: works only on MySQL, Percona Server
  • 22. #mysqldevroom #FOSDEM X Protocol • MariaDB Server has no support for the MySQL X Protocol • This means you cannot use mysqlsh to access MariaDB Server either
  • 23. #mysqldevroom #FOSDEM Encryption • MySQL 5.7 and MariaDB Server 10.1+ implement encryption differently (one is fully tablespace encryption, the other is based on the Google patch for tablespace encryption in addition to having table encryption) • One does not encrypt logs, the other does • MySQL requires innodb_file_per_table • MySQL implementation works fully with Percona XtraDB Cluster
  • 24. #mysqldevroom #FOSDEM Security • MySQL: sha256_password • MariaDB: ed25519 password plugin • validate_password is on by default in MySQL 5.7 (not in MariaDB) • SSL: 5.7 has pre-generated keys, enable it in the client; disabled by default in MariaDB Server • MySQL links against YaSSL, Percona Server against OpenSSL (changing in 8.0 for MySQL too)
  • 25. #mysqldevroom #FOSDEM mysql.user table changes • MariaDB Server and MySQL differ here (not just by addition of roles) - mysql.user.password is just mysql.user.authentication_string • Password expiry is coming? https://jira.mariadb.org/browse/ MDEV-7597 • Password last changed? Lifetime? • ACCOUNT LOCK/UNLOCK • VALIDATE_PASSWORD_STRENGTH() SQL function doesn’t work in MariaDB Server
  • 26. #mysqldevroom #FOSDEM Stuff that might matter to you • Optimizer hints - https://jira.mariadb.org/browse/MDEV-9078 • RENAME INDEX - https://jira.mariadb.org/browse/MDEV-7318 • Query rewriting? - https://jira.mariadb.org/browse/MDEV-5561 • MySQL SUPER READONLY - https://jira.mariadb.org/browse/ MDEV-9458 • Optimiser trace: https://jira.mariadb.org/browse/MDEV-6111 • PERFORMANCE_SCHEMA - 5.7 improvements, MariaDB still ships 5.6 P_S
  • 27. #mysqldevroom #FOSDEM Tools • including new tools like mysql_ssl_rsa_setup ? mysqlpump? • tools that require MySQL GTID don’t work with MariaDB Server (e.g. mysqlfailover, mysqlrpladmin, MHA for GTID based failover, MySQL Router, etc.)
  • 28. #mysqldevroom #FOSDEM Ecosystem • Percona Toolkit • Percona XtraBackup • ProxySQL • MariaDB MaxScale • mydumper • MHA • Tungsten Replicator • vitess • Tumblr JetPants • MySQL Utilities • MySQL Router • PRM (w/Pacemaker) • SeveralNines ClusterControl • Orchestrator • MySQL Sandbox • MariaDB ColumnStore • Numerous GUI tools: MySQL Workbench, phpMyAdmin, SQLYog, etc
  • 29. #mysqldevroom #FOSDEM Today, when to use MariaDB Server? • MyRocks storage engine • TokuDB storage engine • MyISAM user? Segmented key caches will help • CONNECT storage engine • Threadpool • PAM authentication • GSSAPI authentication (Kerberos, Active Directory) • Window functions • PCRE Regular Expressions • Optimistic parallel replication • ANALYZE <statement> • cracklib_password_check • SQL Roles
  • 30. #mysqldevroom #FOSDEM Today, when to use Percona Server? • When you need scalability, performance, flexibility, reliability, management, and diagnostic improvements • MyRocks • XtraDB • Improved MEMORY engine • TokuDB • Enforcing storage engine, utility user • Encryption via the Keyring Vault plugin • Column compression • Contributions go upstream to Oracle quite often, so less to maintain, and easier to develop new features
  • 31. For everyone else, today? MySQL 5.7 is truly what you should be using
  • 32. #mysqldevroom #FOSDEM The very near future • MySQL 8 brings roles, CTEs, window functions, transactional data dictionary, histograms, SDIs (instead of FRMs), etc. • http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-is-available/ • Will MariaDB Server 10.3 aim to be compatible with MySQL 8? Or more compatible with Oracle? • https://jira.mariadb.org/browse/MDEV-10137, https://jira.mariadb.org/browse/ MDEV-11070 • https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-103/ • System versioned tables is an extremely neat feature, semisync via Alibaba merged in, invisible columns, sequences, sql_mode=ORACLE understands a subset of PL/ SQL, column compression (storage engine independent), SPIDER merged, PROXY protocol support, etc.
  • 33. #mysqldevroom #FOSDEM 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 • Know the difference between a branch (Percona Server for MySQL) and a fork (MariaDB Server)
  • 35. Thank you! Colin Charles [email protected] / [email protected] http://bytebot.net/blog | @bytebot on twitter slides: slideshare.net/bytebot