SlideShare una empresa de Scribd logo
1 de 27
MySQL Features Missing in MariaDB Server
Colin Charles, Chief Evangelist, Percona Inc.

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

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

MariaDB Developers Unconference, New York

25 February 2018
Why this matters
• MariaDB Server is the “default” MySQL in pretty much every Linux
distribution except Ubuntu (shipping MySQL 5.7)

• MariaDB isn’t MySQL - there are also many cloud providers that
have an option for MariaDB

• Amazon Web Services (AWS) RDS MariaDB, Microsoft Azure,
Rackspace Cloud
Commitments
• http://mariadb.org/about/ 

• “It is an enhanced, drop-in replacement for MySQL.”
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
What’s documented?
• https://mariadb.com/kb/en/the-mariadb-library/mariadb-vs-mysql-
compatibility/ 

• Tracker bug: https://jira.mariadb.org/browse/MDEV-10392 

• https://mariadb.com/kb/en/library/system-variable-differences-
between-mariadb-and-mysql/ 

• https://mariadb.com/kb/en/library/incompatibilities-and-feature-
differences-between-mariadb-102-and-mysql-57/ 

• whatever is not included (“incompatibilities”), what are plans to
include it?
Replication - people can’t attach a MySQL
replica
GTID variances
• https://mariadb.com/kb/en/library/gtid/#the-domain-id <— good
MariaDB Server invention, however MySQL lacks it
Replication
• Default binlog format is now MIXED
• ROW in MySQL

• Default replicate_annotate_row_events is ON

• OFF in MySQL

• Multi-source replication in MySQL is limited to 256 channels; in MariaDB
Server it is 64, but seemingly expands when needed, and there is no upper
limit (really?)

• GTIDs in the OK packet - ProxySQL uses —session-track-gtids for GTID
consistent reads (see: https://fosdem.org/2018/schedule/event/
proxysql_gtid/)
Synchronous replication
• MySQL Group Replication in MySQL / Percona Server

• Galera Cluster for MySQL / Percona Server / MariaDB Server

• Group Replication + MySQL Router + mysqlsh = MySQL InnoDB
Cluster

• Microsoft Windows support? (group replication works there)
MDEV-3953
rows_examined is added as examined_rows, but missing rows_sent/rows_read
JSON - MySQL 8 has syntax additions
• 5.7 has a binary data type, MariaDB chooses not to implement it this
way, choosing to not violate the SQL standard - https://
jira.mariadb.org/browse/MDEV-9144 

• claims faster, but no benchmarks - https://jira.mariadb.org/browse/
MDEV-13777
X Protocol
• MariaDB Server has no support for the MySQL X Protocol

• This means you cannot use mysqlsh to access MariaDB Server either

• mysqlsh to be released as part of MySQL 8; supports JavaScript,
Python interfaces to MySQL

• Using MySQL as a Document Store? https://dev.mysql.com/doc/
refman/5.7/en/document-store.html 

• also requires connector support: Connector/J, Connector/Node.js,
Connector/Net, Connector/Python, Connector/C++

• admin interface to mysqlsh (e.g. to control InnoDB cluster)
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 8 has redo log, undo log encryption, but not binary log encryption

• Percona Server 5.7.20-18 has binary log encryption + HashiCorp Vault keyring plugin

• MySQL implementation works fully with Percona XtraDB Cluster

• MariaDB Galera Cluster gcache is unencrypted - https://jira.mariadb.org/browse/
MDEV-9639 

• mysqlbinlog cannot read encrypted binary logs - https://jira.mariadb.org/browse/
MDEV-8813 

• also SSL support now in mysqlbinlog
CJK language support
• Add “ngram” support to MariaDB Server: https://jira.mariadb.org/
browse/MDEV-10267 

• Add “MeCab” support to MariaDB Server: https://jira.mariadb.org/
browse/MDEV-10268 

• gb18030 support: https://jira.mariadb.org/browse/MDEV-7495
PERFORMANCE_SCHEMA
• No sys schema - https://jira.mariadb.org/browse/MDEV-9077 

• No new PERFORMANCE_SCHEMA instrumentation from 5.7 -
https://jira.mariadb.org/browse/MDEV-6114 

• e.g. 52 rows in set (0.00 sec) vs. 87 rows in set (0.00 sec)

• current mix from 5.6.17/5.6.24/5.6.26 

• It can’t be turned on dynamically! (so maybe consider leaving it
turned on once 5.7 or 8.0 one is merged?)
Optimiser
• Optimiser trace: https://jira.mariadb.org/browse/MDEV-6111 

• Optimizer hints - https://jira.mariadb.org/browse/MDEV-9078 

• “cost model” information, also in EXPLAIN FORMAT=JSON

• Server side query rewriting? - https://jira.mariadb.org/browse/
MDEV-5561 

• http://mysqlserverteam.com/write-yourself-a-query-rewrite-plugin-
part-1/
Other bits
• MariaDB: SHOW EXPLAIN FOR <thread_id>
• MySQL: EXPLAIN FOR CONNECTION <thread_id>
• https://jira.mariadb.org/browse/MDEV-10000 (simple, easy fix)

• MySQL has SUPER READONLY, missing in MariaDB - https://
jira.mariadb.org/browse/MDEV-9458 

• Replication crash-safety for non-GTID slaves - https://jira.mariadb.org/
browse/MDEV-8946 

• Minimal/NOBLOB Binlog Row Image replication fails when tables from
master have different PK in slave - https://jira.mariadb.org/browse/
MDEV-8398
Installation…
• MySQL: https://dev.mysql.com/downloads/repo/yum/ - grab a
package — e.g. mysql57-community-release-el7-9.noarch.rpm 

• MariaDB Server: https://downloads.mariadb.org/mariadb/
repositories/ - copy/paste, edit a file, then install

• Percona Server: https://www.percona.com/doc/percona-server/5.7/
installation/yum_repo.html - yum install Percona-Server-server-57

• Think its time proper repository files are provided for ease of
installation
Security
• MySQL: sha256_password & MariaDB: ed25519 password plugin

• MySQL 8: caching_sha2_password default instead of
mysql_native_password

• uses caching to address latency @ connect time

• how will MySQL 8 users be migrated to MariaDB Server?

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

• re-written for MySQL 8 infrastructure 

• No more test database or anonymous users created on installation
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

• MySQL 8: password history information saved (prevent password reuse)
More 5.7
• RENAME INDEX - https://jira.mariadb.org/browse/MDEV-7318 

• ALTER TABLE .. RENAME COLUMN also in 8.0 (https://
dev.mysql.com/worklog/task/?id=10761) 

• GIS: GeoJSON functions? Geohash functions?

• SELECT ST_AsGeoJSON(ST_GeomFromText('POINT(11.11111
12.22222)’),2);

• SELECT ST_GeoHash(180,0,10), ST_GeoHash(-180,-90,15);
Tools
• including new tools like mysql_ssl_rsa_setup ? mysqlpump?

• When merging XtraDB (pre-10.2), why isn’t it complete, with backup
locks? https://jira.mariadb.org/browse/MDEV-5336 

• tools that require MySQL GTID don’t work with MariaDB Server (e.g.
mysqlfailover, mysqlrpladmin, MHA, MySQL Router, etc.)

• vitess, started life on just MariaDB Server, but note they support
5.6/5.7 and generally only 10.0
Storage Engines
• InnoDB 5.7 is now included in MariaDB Server 10.2 (there is no longer Percona
XtraDB for the first time)

• you need to remove XtraDB related options in my.cnf or the server won’t start

• https://lists.launchpad.net/maria-discuss/msg04708.html 

• Is InnoDB fully tested? 

• Test cases still need merging - https://jira.mariadb.org/browse/MDEV-13626 

• Hangs on startup - https://jira.mariadb.org/browse/MDEV-9843 

• BLACKHOLE, FEDERATED (now FederatedX) require you to actually load the plugins

• was a “surprise” - https://jira.mariadb.org/browse/MDEV-11942 (now fixed)

• Status of other engines: OQGRAPH, SphinxSE? Cassandra deprecated
MySQL 8 (what MariaDB Server 10.3 will be
compared to?)
• Roles, including ROLES_GRAPHML()
function

• Common Table Expressions

• Window Functions

• Transactional data dictionary + FRM files
obsoleted

• atomic DDLs

• Resource groups - assign threads, control
CPU resources

• InnoDB? Serialized Dictionary Information
(SDI)? “auto-configuration” via
innodb_dedicated_server

• Invisible indexes - https://jira.mariadb.org/
browse/MDEV-7317 

• Regex changes - using ICU (full unicode,
multibyte safe) not PCRE like MariaDB Server

• internal temporary tables in TempTable
storage engine 

• Error logging rewritten, now you can also get
JSON logs

• Query cache removed

• No more mysql_install_db (use mysqld —
initialize)

• storage engine needs to support
PARTITIONING
Open ended…
• How often are upgrades from 5.6/5.7 tested? 

• What is the status of community contributions, e.g. HandlerSocket (e.g.
deprecated in Percona Server 5.7)

• status of QA - people don’t like “surprises” when they upgrade point
releases

• e.g. InnoDB slow starts - https://jira.mariadb.org/browse/MDEV-13869 /
https://lists.launchpad.net/maria-discuss/msg04922.html

• status of merges to avoid “merge errors” (e.g. introducing unwanted
fsync()’s that go undetected for quite sometime)
Thank you!
Colin Charles
colin.charles@percona.com / byte@bytebot.net
http://bytebot.net/blog | @bytebot on twitter
slides: slideshare.net/bytebot

Más contenido relacionado

La actualidad más candente

Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failuresColin 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
 
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
 
Securing your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataSecuring your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataColin Charles
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialColin 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 LondonIvan Zoratti
 
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: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialColin 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
 
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 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
 
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 - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014Colin Charles
 
A beginners guide to MariaDB
A beginners guide to MariaDBA beginners guide to MariaDB
A beginners guide to MariaDBColin Charles
 
High Performance Drupal with MariaDB
High Performance Drupal with MariaDBHigh Performance Drupal with MariaDB
High Performance Drupal with MariaDBMariaDB Corporation
 
My first moments with MongoDB
My first moments with MongoDBMy first moments with MongoDB
My first moments with MongoDBColin Charles
 
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
 
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
 

La actualidad más candente (20)

Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failures
 
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
 
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
 
Securing your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataSecuring your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server data
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
 
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
 
MySQL highav Availability
MySQL highav AvailabilityMySQL highav Availability
MySQL highav Availability
 
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)
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
 
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
 
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 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
 
MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC
 
MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014
 
A beginners guide to MariaDB
A beginners guide to MariaDBA beginners guide to MariaDB
A beginners guide to MariaDB
 
Why MariaDB?
Why MariaDB?Why MariaDB?
Why MariaDB?
 
High Performance Drupal with MariaDB
High Performance Drupal with MariaDBHigh Performance Drupal with MariaDB
High Performance Drupal with MariaDB
 
My first moments with MongoDB
My first moments with MongoDBMy first moments with MongoDB
My first moments with MongoDB
 
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
 
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
 

Similar a MySQL features missing in MariaDB Server

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 Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLColin Charles
 
MariaDB: The 2012 Edition
MariaDB: The 2012 EditionMariaDB: The 2012 Edition
MariaDB: The 2012 EditionColin 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.
 
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin CharlesA26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin CharlesInsight Technology, Inc.
 
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 Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014MariaDB Corporation
 
Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Ontico
 
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
 
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
 
The New MariaDB Offering - MariaDB 10, MaxScale and more
The New MariaDB Offering - MariaDB 10, MaxScale and moreThe New MariaDB Offering - MariaDB 10, MaxScale and more
The New MariaDB Offering - MariaDB 10, MaxScale and moreMariaDB Corporation
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020Alkin Tezuysal
 
The New MariaDB Offering: MariaDB 10, MaxScale and More
The New MariaDB Offering: MariaDB 10, MaxScale and MoreThe New MariaDB Offering: MariaDB 10, MaxScale and More
The New MariaDB Offering: MariaDB 10, MaxScale and MoreMariaDB Corporation
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么YUCHENG HU
 
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
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016Colin Charles
 
MariaDB 5.5 and what comes next - Percona Live NYC 2012
MariaDB 5.5 and what comes next - Percona Live NYC 2012MariaDB 5.5 and what comes next - Percona Live NYC 2012
MariaDB 5.5 and what comes next - Percona Live NYC 2012Colin Charles
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016sys army
 
Deploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksDeploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksMariaDB plc
 
SkySQL MariaDB 云数据组件
SkySQL MariaDB 云数据组件SkySQL MariaDB 云数据组件
SkySQL MariaDB 云数据组件YUCHENG HU
 

Similar a MySQL features missing in MariaDB Server (20)

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)
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQL
 
MariaDB: The 2012 Edition
MariaDB: The 2012 EditionMariaDB: The 2012 Edition
MariaDB: The 2012 Edition
 
[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 ...
 
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin CharlesA26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
 
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 Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
 
Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin 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)
 
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+...
 
The New MariaDB Offering - MariaDB 10, MaxScale and more
The New MariaDB Offering - MariaDB 10, MaxScale and moreThe New MariaDB Offering - MariaDB 10, MaxScale and more
The New MariaDB Offering - MariaDB 10, MaxScale and more
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020
 
The New MariaDB Offering: MariaDB 10, MaxScale and More
The New MariaDB Offering: MariaDB 10, MaxScale and MoreThe New MariaDB Offering: MariaDB 10, MaxScale and More
The New MariaDB Offering: MariaDB 10, MaxScale and More
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么
 
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
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016
 
MariaDB 5.5 and what comes next - Percona Live NYC 2012
MariaDB 5.5 and what comes next - Percona Live NYC 2012MariaDB 5.5 and what comes next - Percona Live NYC 2012
MariaDB 5.5 and what comes next - Percona Live NYC 2012
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016
 
Deploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia NetworksDeploying MariaDB databases with containers at Nokia Networks
Deploying MariaDB databases with containers at Nokia Networks
 
SkySQL MariaDB 云数据组件
SkySQL MariaDB 云数据组件SkySQL MariaDB 云数据组件
SkySQL MariaDB 云数据组件
 

Más de Colin Charles

Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted CloudColin 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 storesColin 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 companiesColin 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 failures Lessons from database failures
Lessons from database failures Colin Charles
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failuresColin Charles
 
Distributions from the view a package
Distributions from the view a packageDistributions from the view a package
Distributions from the view a packageColin 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.7Colin Charles
 

Más de Colin Charles (10)

Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted Cloud
 
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のヒント)
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data stores
 
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
 
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?
 
Lessons from database failures
Lessons from database failures Lessons from database failures
Lessons from database failures
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failures
 
Distributions from the view a package
Distributions from the view a packageDistributions from the view a package
Distributions from the view a package
 
Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins
 
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
 

Último

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

MySQL features missing in MariaDB Server

  • 1. MySQL Features Missing in MariaDB Server Colin Charles, Chief Evangelist, Percona Inc. colin.charles@percona.com / byte@bytebot.net http://bytebot.net/blog/ | @bytebot on Twitter MariaDB Developers Unconference, New York 25 February 2018
  • 2. Why this matters • MariaDB Server is the “default” MySQL in pretty much every Linux distribution except Ubuntu (shipping MySQL 5.7) • MariaDB isn’t MySQL - there are also many cloud providers that have an option for MariaDB • Amazon Web Services (AWS) RDS MariaDB, Microsoft Azure, Rackspace Cloud
  • 3. Commitments • http://mariadb.org/about/ • “It is an enhanced, drop-in replacement for MySQL.”
  • 4. 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
  • 5. What’s documented? • https://mariadb.com/kb/en/the-mariadb-library/mariadb-vs-mysql- compatibility/ • Tracker bug: https://jira.mariadb.org/browse/MDEV-10392 • https://mariadb.com/kb/en/library/system-variable-differences- between-mariadb-and-mysql/ • https://mariadb.com/kb/en/library/incompatibilities-and-feature- differences-between-mariadb-102-and-mysql-57/ • whatever is not included (“incompatibilities”), what are plans to include it?
  • 6. Replication - people can’t attach a MySQL replica
  • 7. GTID variances • https://mariadb.com/kb/en/library/gtid/#the-domain-id <— good MariaDB Server invention, however MySQL lacks it
  • 8. Replication • Default binlog format is now MIXED • ROW in MySQL • Default replicate_annotate_row_events is ON • OFF in MySQL • Multi-source replication in MySQL is limited to 256 channels; in MariaDB Server it is 64, but seemingly expands when needed, and there is no upper limit (really?) • GTIDs in the OK packet - ProxySQL uses —session-track-gtids for GTID consistent reads (see: https://fosdem.org/2018/schedule/event/ proxysql_gtid/)
  • 9. Synchronous replication • MySQL Group Replication in MySQL / Percona Server • Galera Cluster for MySQL / Percona Server / MariaDB Server • Group Replication + MySQL Router + mysqlsh = MySQL InnoDB Cluster • Microsoft Windows support? (group replication works there)
  • 10. MDEV-3953 rows_examined is added as examined_rows, but missing rows_sent/rows_read
  • 11. JSON - MySQL 8 has syntax additions • 5.7 has a binary data type, MariaDB chooses not to implement it this way, choosing to not violate the SQL standard - https:// jira.mariadb.org/browse/MDEV-9144 • claims faster, but no benchmarks - https://jira.mariadb.org/browse/ MDEV-13777
  • 12. X Protocol • MariaDB Server has no support for the MySQL X Protocol • This means you cannot use mysqlsh to access MariaDB Server either • mysqlsh to be released as part of MySQL 8; supports JavaScript, Python interfaces to MySQL • Using MySQL as a Document Store? https://dev.mysql.com/doc/ refman/5.7/en/document-store.html • also requires connector support: Connector/J, Connector/Node.js, Connector/Net, Connector/Python, Connector/C++ • admin interface to mysqlsh (e.g. to control InnoDB cluster)
  • 13. 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 8 has redo log, undo log encryption, but not binary log encryption • Percona Server 5.7.20-18 has binary log encryption + HashiCorp Vault keyring plugin • MySQL implementation works fully with Percona XtraDB Cluster • MariaDB Galera Cluster gcache is unencrypted - https://jira.mariadb.org/browse/ MDEV-9639 • mysqlbinlog cannot read encrypted binary logs - https://jira.mariadb.org/browse/ MDEV-8813 • also SSL support now in mysqlbinlog
  • 14. CJK language support • Add “ngram” support to MariaDB Server: https://jira.mariadb.org/ browse/MDEV-10267 • Add “MeCab” support to MariaDB Server: https://jira.mariadb.org/ browse/MDEV-10268 • gb18030 support: https://jira.mariadb.org/browse/MDEV-7495
  • 15. PERFORMANCE_SCHEMA • No sys schema - https://jira.mariadb.org/browse/MDEV-9077 • No new PERFORMANCE_SCHEMA instrumentation from 5.7 - https://jira.mariadb.org/browse/MDEV-6114 • e.g. 52 rows in set (0.00 sec) vs. 87 rows in set (0.00 sec) • current mix from 5.6.17/5.6.24/5.6.26 • It can’t be turned on dynamically! (so maybe consider leaving it turned on once 5.7 or 8.0 one is merged?)
  • 16. Optimiser • Optimiser trace: https://jira.mariadb.org/browse/MDEV-6111 • Optimizer hints - https://jira.mariadb.org/browse/MDEV-9078 • “cost model” information, also in EXPLAIN FORMAT=JSON • Server side query rewriting? - https://jira.mariadb.org/browse/ MDEV-5561 • http://mysqlserverteam.com/write-yourself-a-query-rewrite-plugin- part-1/
  • 17. Other bits • MariaDB: SHOW EXPLAIN FOR <thread_id> • MySQL: EXPLAIN FOR CONNECTION <thread_id> • https://jira.mariadb.org/browse/MDEV-10000 (simple, easy fix) • MySQL has SUPER READONLY, missing in MariaDB - https:// jira.mariadb.org/browse/MDEV-9458 • Replication crash-safety for non-GTID slaves - https://jira.mariadb.org/ browse/MDEV-8946 • Minimal/NOBLOB Binlog Row Image replication fails when tables from master have different PK in slave - https://jira.mariadb.org/browse/ MDEV-8398
  • 18. Installation… • MySQL: https://dev.mysql.com/downloads/repo/yum/ - grab a package — e.g. mysql57-community-release-el7-9.noarch.rpm • MariaDB Server: https://downloads.mariadb.org/mariadb/ repositories/ - copy/paste, edit a file, then install • Percona Server: https://www.percona.com/doc/percona-server/5.7/ installation/yum_repo.html - yum install Percona-Server-server-57 • Think its time proper repository files are provided for ease of installation
  • 19. Security • MySQL: sha256_password & MariaDB: ed25519 password plugin • MySQL 8: caching_sha2_password default instead of mysql_native_password • uses caching to address latency @ connect time • how will MySQL 8 users be migrated to MariaDB Server? • validate_password is on by default in MySQL 5.7 (not in MariaDB) • re-written for MySQL 8 infrastructure • No more test database or anonymous users created on installation
  • 20. 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 • MySQL 8: password history information saved (prevent password reuse)
  • 21.
  • 22. More 5.7 • RENAME INDEX - https://jira.mariadb.org/browse/MDEV-7318 • ALTER TABLE .. RENAME COLUMN also in 8.0 (https:// dev.mysql.com/worklog/task/?id=10761) • GIS: GeoJSON functions? Geohash functions? • SELECT ST_AsGeoJSON(ST_GeomFromText('POINT(11.11111 12.22222)’),2); • SELECT ST_GeoHash(180,0,10), ST_GeoHash(-180,-90,15);
  • 23. Tools • including new tools like mysql_ssl_rsa_setup ? mysqlpump? • When merging XtraDB (pre-10.2), why isn’t it complete, with backup locks? https://jira.mariadb.org/browse/MDEV-5336 • tools that require MySQL GTID don’t work with MariaDB Server (e.g. mysqlfailover, mysqlrpladmin, MHA, MySQL Router, etc.) • vitess, started life on just MariaDB Server, but note they support 5.6/5.7 and generally only 10.0
  • 24. Storage Engines • InnoDB 5.7 is now included in MariaDB Server 10.2 (there is no longer Percona XtraDB for the first time) • you need to remove XtraDB related options in my.cnf or the server won’t start • https://lists.launchpad.net/maria-discuss/msg04708.html • Is InnoDB fully tested? • Test cases still need merging - https://jira.mariadb.org/browse/MDEV-13626 • Hangs on startup - https://jira.mariadb.org/browse/MDEV-9843 • BLACKHOLE, FEDERATED (now FederatedX) require you to actually load the plugins • was a “surprise” - https://jira.mariadb.org/browse/MDEV-11942 (now fixed) • Status of other engines: OQGRAPH, SphinxSE? Cassandra deprecated
  • 25. MySQL 8 (what MariaDB Server 10.3 will be compared to?) • Roles, including ROLES_GRAPHML() function • Common Table Expressions • Window Functions • Transactional data dictionary + FRM files obsoleted • atomic DDLs • Resource groups - assign threads, control CPU resources • InnoDB? Serialized Dictionary Information (SDI)? “auto-configuration” via innodb_dedicated_server • Invisible indexes - https://jira.mariadb.org/ browse/MDEV-7317 • Regex changes - using ICU (full unicode, multibyte safe) not PCRE like MariaDB Server • internal temporary tables in TempTable storage engine • Error logging rewritten, now you can also get JSON logs • Query cache removed • No more mysql_install_db (use mysqld — initialize) • storage engine needs to support PARTITIONING
  • 26. Open ended… • How often are upgrades from 5.6/5.7 tested? • What is the status of community contributions, e.g. HandlerSocket (e.g. deprecated in Percona Server 5.7) • status of QA - people don’t like “surprises” when they upgrade point releases • e.g. InnoDB slow starts - https://jira.mariadb.org/browse/MDEV-13869 / https://lists.launchpad.net/maria-discuss/msg04922.html • status of merges to avoid “merge errors” (e.g. introducing unwanted fsync()’s that go undetected for quite sometime)
  • 27. Thank you! Colin Charles colin.charles@percona.com / byte@bytebot.net http://bytebot.net/blog | @bytebot on twitter slides: slideshare.net/bytebot