SlideShare a Scribd company logo
Key Reasons to Upgrade to
MySQL 8.0 or MariaDB 10.11
● MySQL 5.7 is dead: what now?
● MySQL vs MariaDB:
○ Governance
○ Release policies
○ Compatibility
○ Unique features
○ Testing what works better for your application
Agenda
● Vettabase is not a vendor
● We offer services for MariaDB, MySQL, Percona Server (and
more). All of them are important for us
● That said, I have opinions. Hopefully you have opinions, too.
Let's discuss.
● Criticism helps projects.
Not understanding this damages projects.
● If you work for a vendor, whether you want to say it or not, feel
free to correct any mistake I might make
WARNING
MySQL 5.7
is dead
● MySQL 5.7 was released in 2013
● …and went GA in 2015
● Premier support ended in 2020
● Extended support ends on 31st October 2023
MySQL 5.7 is dead
This means:
● There will never be another release
● No bugfixes
● No security fixes
● Drivers, libraries and tools will stop supporting MySQL 5.7
(at some point)
● Documentation, binaries download, etc, won't be available
anymore (at some point)
○ Download them just in case!!!
MySQL 5.7 is dead
The paths from here:
● MySQL 8.0
● MariaDB 10.11
Let's discuss the pros and cons of both.
MySQL 5.7 is dead
My vs Maria:
Governance
● MySQL was acquired by Oracle in 2009
● There were serious concerns that Oracle just wanted to kill a
competitor
● In reality Oracle invested a lot of resources into MySQL
development
MySQL / MariaDB: governance
● Thought some areas were clearly left behind
(Oracle wants us to buy its more expensive products)
○ Data Warehousing / ETL / analytics
○ Stored procedures
MySQL / MariaDB: governance
● MariaDB belongs to the MariaDB company
● MariaDB Foundation exists to guarantee that:
○ MariaDB remains open source
○ Adoption (users, use cases, platforms)
○ Continuity
(please check mariadb.org as I don't speak for
MariaDB Foundation)
MySQL / MariaDB: governance
● MySQL:
○ GitHub repo is updated from time to time
○ Public bug tracker is not used internally
○ Documentation has a proprietary license
● MariaDB:
○ GitHub has the repo they normally work on
○ MariaDB Foundation helps contributions
○ JIRA can be followed to check day to day activities
○ Documentation is a public wiki with open licenses
(GNU FDL / CC-BY-SA3)
MySQL / MariaDB: governance
● Some MariaDB storage engines were developed by third parties
(and are now supported as the rest of MariaDB code)
○ SPIDER, CONNECT, OQGRAPH, Sphinx
● Galera is maintained by Codership
● Some features were contributed as part of GSoC (roles)
● Some features were contributed by third parties (crypto at rest)
MySQL / MariaDB: governance
● Commercial editions:
○ MariaDB Enterprise
only includes OSS + MaxScale
○ MySQL Enterprise Edition
includes some non-OSS features
● Cloud:
○ MariaDB SkySQL
includes Xpand
○ Oracle Cloud: MySQL HeatWave
MySQL / MariaDB: governance
Other editions / forks:
● Percona Server for MySQL
● MySQL Cluster (NDB)
○ RonDB
● MariaDB ColumnStore
MySQL / MariaDB: governance
My vs Maria:
Release policies
● Before MySQL 8.0 and MariaDB 10.7:
development → alpha → beta → gamma → RC → Generally Available
● Release Candidates were mostly feature frozen
MySQL / MariaDB: release policies
● MySQL 8.0 is an evergreen version. All releases might
include new features and incompatibilities
● Things that happened after MySQL 8.0 went GA:
○ Compatibility with Percona Xtrabackup was broken
■ Twice! And restoring it took months of efforts from Percona
○ GROUP BY col ASC | DESC syntax was removed
○ A bug in ALTER TABLE ALGORITHM=INSTANT caused
unrecoverable data corruption
MySQL / MariaDB: release policies
● Latest release is 8.0.34:
○ mysqlpump tool is deprecated
○ 8 variables are deprecated
○ 2 mysql_option() flags is deprecated
○ Other options for the Audit Log are deprecated
○ 1 authentication plugin is deprecated
○ Minor syntax deprecation (missing leading space in
executable comments results in a warning)
● Statement format for Binary Log is deprecated
MySQL / MariaDB: release policies
● MariaDB now has LTS versions supported for at least 5
years: 10.6, 10.11
● MariaDB short-term support versions are supported for 1
year, not recommended in production
MySQL / MariaDB: release policies
● MySQL "observed industry trends"
(never name competitors!)
● They now follow the same policy starting from 8.1
(Except it's called an Innovation release rather than STS)
MySQL / MariaDB: release policies
My vs Maria:
Compatibility
● MariaDB followed MySQL version numbers up to 5.6
● This indicated compatibility. For example:
MariaDB 5.5 = MySQL 5.5 + some unique features
● This was a big constrain for MariaDB
● Starting from version 10.0 they try to be compatible with
MySQL, and they are for most users
● But some advanced features / syntax / configuration are
different
MySQL / MariaDB: compatibility
● Dumps are theoretically compatible with any version
thanks to executable comments:
○ SELECT * /*! , CONCAT_WS(...) */
MySQL and MariaDB
○ SELECT * /*!570000 , CONCAT_WS(...) */
MySQL/MariaDB 5.7+
○ SELECT * /*!M , SFORMAT(...) */
MariaDB
○ SELECT * /*!101100 , SFORMAT(...) */
● This facilitates porting, but unsupported features…
remain unsupported
MySQL / MariaDB: compatibility
● Backup tools for MySQL don't work (or partially work) with
MariaDB due to different file formats, and different features
● MariaDB comes with its own tools:
○ mariadb-dump = mysqldump
○ mariabackup = xtrabackup
● Other tools generally work, but you might have to be careful
when you try to use advanced features
(Ansible MySQL collection, etc)
MySQL / MariaDB: compatibility
● Replication between MySQL 8.0 and MariaDB doesn't work
● For synchronous replication, MySQL and MariaDB use
different solutions
○ MariaDB has Galera
○ MySQL has InnoDB Cluster
○ Percona Server supports both
MySQL / MariaDB: compatibility
My vs Maria:
Unique features
MySQL unique features:
● Document store (schemaless)
● X protocol
● InnoDB support for memcached
● TEMPTABLE storage engine
● Lateral queries
● Multi-valued indexes (eg: index a JSON array)
● Expressional indexes
● GIS: SRID + new functions
● SET PERSISTENT
● Clone plugin
● Resource groups
MySQL / MariaDB: unique features
● MariaDB unique storage engines:
○ MyRocks
○ SPIDER
○ CONNECT
○ S3
○ SphinxSE
○ OQGRAPH
○ SEQUENCE
MySQL / MariaDB: unique features
● Temporal tables
● Flashback
● 2 phases ALTER TABLE replication
● Types: UUID, INET4, INET6
● DELETE/INSERT/REPLACE … RETURNING
● sql_mode='ORACLE' + PL/SQL+ better stored procedures
○ (but not Oracle built-in packages)
● Table elimination
● Any statement can be prepared
● Handlersocket for InnoDB and SPIDER
MySQL / MariaDB: unique features
Some thoughts from me…
● MariaDB is not great at a couple of things:
○ Documenting its features
○ Marketing its features
● There were cases where new MySQL features were
welcomed as absolute novelties from the community…
MariaDB implemented them first, but not many people knew
that
● Binlog compression, hash joins, INTERSECT and EXCEPT,
and more
MySQL / MariaDB: unique features
Conclusions…
Should I upgrade?
● I really recommend it
Conclusions
MySQL 8.0 or MariaDB 10.11?
● MariaDB 10.11 could be easier
● Check if one of the unique features is important enough to
affect your choice
● Decide which approach you like most
● Test!
Conclusions
Test?
● Try pt-upgrade from Percona:
○ Do your queries return the same results?
○ Which DBMS is faster for your queries?
○ Do you get errors/warnings?
○ Which DBMS consumes more resources? (monitoring)
● Test your tooling
● Test incidents
● Testing is important, but other criteria
might be more important
Conclusions
Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11

More Related Content

What's hot (20)

PDF
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Jim Mlodgenski
 
PDF
MySQL Database Monitoring: Must, Good and Nice to Have
Sveta Smirnova
 
PPTX
Introduction to Storm
Chandler Huang
 
PDF
Upgrade from MySQL 5.7 to MySQL 8.0
Olivier DASINI
 
PDF
Google Architecture - Breaking it Open
HARMAN Services
 
PDF
Better than you think: Handling JSON data in ClickHouse
Altinity Ltd
 
PDF
Neo4j Bloom for Project Teams: Browser-Based and Multi-User Enabled
Neo4j
 
PPTX
Graph databases
Vinoth Kannan
 
PDF
Using S3 Select to Deliver 100X Performance Improvements Versus the Public Cloud
Databricks
 
PDF
A Thorough Comparison of Delta Lake, Iceberg and Hudi
Databricks
 
PDF
Graal and Truffle: One VM to Rule Them All
Thomas Wuerthinger
 
PPTX
Introduction to NoSQL
PolarSeven Pty Ltd
 
PDF
MySQL Advanced Administrator 2021 - 네오클로바
NeoClova
 
PDF
Linux tuning to improve PostgreSQL performance
PostgreSQL-Consulting
 
PDF
Automated master failover
Yoshinori Matsunobu
 
PPTX
Azure data bricks by Eugene Polonichko
Alex Tumanoff
 
PDF
Percona Live 2022 - MySQL Architectures
Frederic Descamps
 
PDF
Near Real-Time Netflix Recommendations Using Apache Spark Streaming with Nit...
Databricks
 
PDF
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
Altinity Ltd
 
PDF
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
Aurimas Mikalauskas
 
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Jim Mlodgenski
 
MySQL Database Monitoring: Must, Good and Nice to Have
Sveta Smirnova
 
Introduction to Storm
Chandler Huang
 
Upgrade from MySQL 5.7 to MySQL 8.0
Olivier DASINI
 
Google Architecture - Breaking it Open
HARMAN Services
 
Better than you think: Handling JSON data in ClickHouse
Altinity Ltd
 
Neo4j Bloom for Project Teams: Browser-Based and Multi-User Enabled
Neo4j
 
Graph databases
Vinoth Kannan
 
Using S3 Select to Deliver 100X Performance Improvements Versus the Public Cloud
Databricks
 
A Thorough Comparison of Delta Lake, Iceberg and Hudi
Databricks
 
Graal and Truffle: One VM to Rule Them All
Thomas Wuerthinger
 
Introduction to NoSQL
PolarSeven Pty Ltd
 
MySQL Advanced Administrator 2021 - 네오클로바
NeoClova
 
Linux tuning to improve PostgreSQL performance
PostgreSQL-Consulting
 
Automated master failover
Yoshinori Matsunobu
 
Azure data bricks by Eugene Polonichko
Alex Tumanoff
 
Percona Live 2022 - MySQL Architectures
Frederic Descamps
 
Near Real-Time Netflix Recommendations Using Apache Spark Streaming with Nit...
Databricks
 
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
Altinity Ltd
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
Aurimas Mikalauskas
 

Similar to Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11 (20)

PDF
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB Corporation
 
PDF
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
MariaDB Corporation
 
PDF
MariaDB 10 and Beyond
MariaDB Corporation
 
PPTX
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Corporation
 
PDF
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
✔ Eric David Benari, PMP
 
PPTX
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...
MariaDB Corporation
 
PPTX
MariaDB und mehr - MariaDB Roadshow Summer 2014 Hamburg Berlin Frankfurt
MariaDB Corporation
 
PDF
MySQL and MariaDB Backups
Federico Razzoli
 
PDF
Ukoug 2011 mysql_arch_for_orcl_dba
orablue11
 
PDF
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
FromDual GmbH
 
PDF
Scaling up and accelerating Drupal 8 with NoSQL
OSInet
 
PDF
What to expect from MariaDB Platform X5, part 1
MariaDB plc
 
PPTX
002 Database-Engines.pptx
Irfan Ullah Khan
 
PDF
On the past, present and future of Open Source databases - Kaj Arnö (MariaDB)
Shift Conference
 
PDF
MyRocks in MariaDB
Sergey Petrunya
 
PDF
SkySQL MariaDB 云数据组件
YUCHENG HU
 
PDF
Differences between MariaDB 10.3 & MySQL 8.0
Colin Charles
 
PDF
IT Tage 2019 MariaDB 10.4 New Features
FromDual GmbH
 
PDF
How to keep maintainability of long life Scala applications
takezoe
 
PDF
Experiences testing dev versions of MySQL and why it is good for you
Simon J Mudd
 
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB Corporation
 
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
MariaDB Corporation
 
MariaDB 10 and Beyond
MariaDB Corporation
 
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Corporation
 
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
✔ Eric David Benari, PMP
 
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...
MariaDB Corporation
 
MariaDB und mehr - MariaDB Roadshow Summer 2014 Hamburg Berlin Frankfurt
MariaDB Corporation
 
MySQL and MariaDB Backups
Federico Razzoli
 
Ukoug 2011 mysql_arch_for_orcl_dba
orablue11
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
FromDual GmbH
 
Scaling up and accelerating Drupal 8 with NoSQL
OSInet
 
What to expect from MariaDB Platform X5, part 1
MariaDB plc
 
002 Database-Engines.pptx
Irfan Ullah Khan
 
On the past, present and future of Open Source databases - Kaj Arnö (MariaDB)
Shift Conference
 
MyRocks in MariaDB
Sergey Petrunya
 
SkySQL MariaDB 云数据组件
YUCHENG HU
 
Differences between MariaDB 10.3 & MySQL 8.0
Colin Charles
 
IT Tage 2019 MariaDB 10.4 New Features
FromDual GmbH
 
How to keep maintainability of long life Scala applications
takezoe
 
Experiences testing dev versions of MySQL and why it is good for you
Simon J Mudd
 
Ad

More from Federico Razzoli (20)

PDF
MariaDB Data Protection: Backup Strategies for the Real World
Federico Razzoli
 
PDF
MariaDB/MySQL_: Developing Scalable Applications
Federico Razzoli
 
PDF
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
PDF
High-level architecture of a complete MariaDB deployment
Federico Razzoli
 
PDF
Webinar - Unleash AI power with MySQL and MindsDB
Federico Razzoli
 
PDF
MariaDB Security Best Practices
Federico Razzoli
 
PDF
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli
 
PDF
MariaDB stored procedures and why they should be improved
Federico Razzoli
 
PDF
Webinar - MariaDB Temporal Tables: a demonstration
Federico Razzoli
 
PDF
MariaDB 10.11 key features overview for DBAs
Federico Razzoli
 
PDF
Recent MariaDB features to learn for a happy life
Federico Razzoli
 
PDF
Advanced MariaDB features that developers love.pdf
Federico Razzoli
 
PDF
Automate MariaDB Galera clusters deployments with Ansible
Federico Razzoli
 
PDF
Creating Vagrant development machines with MariaDB
Federico Razzoli
 
PDF
MariaDB, MySQL and Ansible: automating database infrastructures
Federico Razzoli
 
PDF
Playing with the CONNECT storage engine
Federico Razzoli
 
PDF
MariaDB Temporal Tables
Federico Razzoli
 
PDF
Database Design most common pitfalls
Federico Razzoli
 
PDF
JSON in MySQL and MariaDB Databases
Federico Razzoli
 
PDF
How MySQL can boost (or kill) your application v2
Federico Razzoli
 
MariaDB Data Protection: Backup Strategies for the Real World
Federico Razzoli
 
MariaDB/MySQL_: Developing Scalable Applications
Federico Razzoli
 
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
High-level architecture of a complete MariaDB deployment
Federico Razzoli
 
Webinar - Unleash AI power with MySQL and MindsDB
Federico Razzoli
 
MariaDB Security Best Practices
Federico Razzoli
 
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli
 
MariaDB stored procedures and why they should be improved
Federico Razzoli
 
Webinar - MariaDB Temporal Tables: a demonstration
Federico Razzoli
 
MariaDB 10.11 key features overview for DBAs
Federico Razzoli
 
Recent MariaDB features to learn for a happy life
Federico Razzoli
 
Advanced MariaDB features that developers love.pdf
Federico Razzoli
 
Automate MariaDB Galera clusters deployments with Ansible
Federico Razzoli
 
Creating Vagrant development machines with MariaDB
Federico Razzoli
 
MariaDB, MySQL and Ansible: automating database infrastructures
Federico Razzoli
 
Playing with the CONNECT storage engine
Federico Razzoli
 
MariaDB Temporal Tables
Federico Razzoli
 
Database Design most common pitfalls
Federico Razzoli
 
JSON in MySQL and MariaDB Databases
Federico Razzoli
 
How MySQL can boost (or kill) your application v2
Federico Razzoli
 
Ad

Recently uploaded (20)

PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PDF
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
Dipole Tech Innovations – Global IT Solutions for Business Growth
dipoletechi3
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PPTX
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Coefficient of Variance in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
IObit Driver Booster Pro 12.4.0.585 Crack Free Download
henryc1122g
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Dipole Tech Innovations – Global IT Solutions for Business Growth
dipoletechi3
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Build a Custom Agent for Agentic Testing.pptx
klpathrudu
 

Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11

  • 1. Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11
  • 2. ● MySQL 5.7 is dead: what now? ● MySQL vs MariaDB: ○ Governance ○ Release policies ○ Compatibility ○ Unique features ○ Testing what works better for your application Agenda
  • 3. ● Vettabase is not a vendor ● We offer services for MariaDB, MySQL, Percona Server (and more). All of them are important for us ● That said, I have opinions. Hopefully you have opinions, too. Let's discuss. ● Criticism helps projects. Not understanding this damages projects. ● If you work for a vendor, whether you want to say it or not, feel free to correct any mistake I might make WARNING
  • 5. ● MySQL 5.7 was released in 2013 ● …and went GA in 2015 ● Premier support ended in 2020 ● Extended support ends on 31st October 2023 MySQL 5.7 is dead
  • 6. This means: ● There will never be another release ● No bugfixes ● No security fixes ● Drivers, libraries and tools will stop supporting MySQL 5.7 (at some point) ● Documentation, binaries download, etc, won't be available anymore (at some point) ○ Download them just in case!!! MySQL 5.7 is dead
  • 7. The paths from here: ● MySQL 8.0 ● MariaDB 10.11 Let's discuss the pros and cons of both. MySQL 5.7 is dead
  • 9. ● MySQL was acquired by Oracle in 2009 ● There were serious concerns that Oracle just wanted to kill a competitor ● In reality Oracle invested a lot of resources into MySQL development MySQL / MariaDB: governance
  • 10. ● Thought some areas were clearly left behind (Oracle wants us to buy its more expensive products) ○ Data Warehousing / ETL / analytics ○ Stored procedures MySQL / MariaDB: governance
  • 11. ● MariaDB belongs to the MariaDB company ● MariaDB Foundation exists to guarantee that: ○ MariaDB remains open source ○ Adoption (users, use cases, platforms) ○ Continuity (please check mariadb.org as I don't speak for MariaDB Foundation) MySQL / MariaDB: governance
  • 12. ● MySQL: ○ GitHub repo is updated from time to time ○ Public bug tracker is not used internally ○ Documentation has a proprietary license ● MariaDB: ○ GitHub has the repo they normally work on ○ MariaDB Foundation helps contributions ○ JIRA can be followed to check day to day activities ○ Documentation is a public wiki with open licenses (GNU FDL / CC-BY-SA3) MySQL / MariaDB: governance
  • 13. ● Some MariaDB storage engines were developed by third parties (and are now supported as the rest of MariaDB code) ○ SPIDER, CONNECT, OQGRAPH, Sphinx ● Galera is maintained by Codership ● Some features were contributed as part of GSoC (roles) ● Some features were contributed by third parties (crypto at rest) MySQL / MariaDB: governance
  • 14. ● Commercial editions: ○ MariaDB Enterprise only includes OSS + MaxScale ○ MySQL Enterprise Edition includes some non-OSS features ● Cloud: ○ MariaDB SkySQL includes Xpand ○ Oracle Cloud: MySQL HeatWave MySQL / MariaDB: governance
  • 15. Other editions / forks: ● Percona Server for MySQL ● MySQL Cluster (NDB) ○ RonDB ● MariaDB ColumnStore MySQL / MariaDB: governance
  • 17. ● Before MySQL 8.0 and MariaDB 10.7: development → alpha → beta → gamma → RC → Generally Available ● Release Candidates were mostly feature frozen MySQL / MariaDB: release policies
  • 18. ● MySQL 8.0 is an evergreen version. All releases might include new features and incompatibilities ● Things that happened after MySQL 8.0 went GA: ○ Compatibility with Percona Xtrabackup was broken ■ Twice! And restoring it took months of efforts from Percona ○ GROUP BY col ASC | DESC syntax was removed ○ A bug in ALTER TABLE ALGORITHM=INSTANT caused unrecoverable data corruption MySQL / MariaDB: release policies
  • 19. ● Latest release is 8.0.34: ○ mysqlpump tool is deprecated ○ 8 variables are deprecated ○ 2 mysql_option() flags is deprecated ○ Other options for the Audit Log are deprecated ○ 1 authentication plugin is deprecated ○ Minor syntax deprecation (missing leading space in executable comments results in a warning) ● Statement format for Binary Log is deprecated MySQL / MariaDB: release policies
  • 20. ● MariaDB now has LTS versions supported for at least 5 years: 10.6, 10.11 ● MariaDB short-term support versions are supported for 1 year, not recommended in production MySQL / MariaDB: release policies
  • 21. ● MySQL "observed industry trends" (never name competitors!) ● They now follow the same policy starting from 8.1 (Except it's called an Innovation release rather than STS) MySQL / MariaDB: release policies
  • 23. ● MariaDB followed MySQL version numbers up to 5.6 ● This indicated compatibility. For example: MariaDB 5.5 = MySQL 5.5 + some unique features ● This was a big constrain for MariaDB ● Starting from version 10.0 they try to be compatible with MySQL, and they are for most users ● But some advanced features / syntax / configuration are different MySQL / MariaDB: compatibility
  • 24. ● Dumps are theoretically compatible with any version thanks to executable comments: ○ SELECT * /*! , CONCAT_WS(...) */ MySQL and MariaDB ○ SELECT * /*!570000 , CONCAT_WS(...) */ MySQL/MariaDB 5.7+ ○ SELECT * /*!M , SFORMAT(...) */ MariaDB ○ SELECT * /*!101100 , SFORMAT(...) */ ● This facilitates porting, but unsupported features… remain unsupported MySQL / MariaDB: compatibility
  • 25. ● Backup tools for MySQL don't work (or partially work) with MariaDB due to different file formats, and different features ● MariaDB comes with its own tools: ○ mariadb-dump = mysqldump ○ mariabackup = xtrabackup ● Other tools generally work, but you might have to be careful when you try to use advanced features (Ansible MySQL collection, etc) MySQL / MariaDB: compatibility
  • 26. ● Replication between MySQL 8.0 and MariaDB doesn't work ● For synchronous replication, MySQL and MariaDB use different solutions ○ MariaDB has Galera ○ MySQL has InnoDB Cluster ○ Percona Server supports both MySQL / MariaDB: compatibility
  • 28. MySQL unique features: ● Document store (schemaless) ● X protocol ● InnoDB support for memcached ● TEMPTABLE storage engine ● Lateral queries ● Multi-valued indexes (eg: index a JSON array) ● Expressional indexes ● GIS: SRID + new functions ● SET PERSISTENT ● Clone plugin ● Resource groups MySQL / MariaDB: unique features
  • 29. ● MariaDB unique storage engines: ○ MyRocks ○ SPIDER ○ CONNECT ○ S3 ○ SphinxSE ○ OQGRAPH ○ SEQUENCE MySQL / MariaDB: unique features
  • 30. ● Temporal tables ● Flashback ● 2 phases ALTER TABLE replication ● Types: UUID, INET4, INET6 ● DELETE/INSERT/REPLACE … RETURNING ● sql_mode='ORACLE' + PL/SQL+ better stored procedures ○ (but not Oracle built-in packages) ● Table elimination ● Any statement can be prepared ● Handlersocket for InnoDB and SPIDER MySQL / MariaDB: unique features
  • 31. Some thoughts from me… ● MariaDB is not great at a couple of things: ○ Documenting its features ○ Marketing its features ● There were cases where new MySQL features were welcomed as absolute novelties from the community… MariaDB implemented them first, but not many people knew that ● Binlog compression, hash joins, INTERSECT and EXCEPT, and more MySQL / MariaDB: unique features
  • 33. Should I upgrade? ● I really recommend it Conclusions
  • 34. MySQL 8.0 or MariaDB 10.11? ● MariaDB 10.11 could be easier ● Check if one of the unique features is important enough to affect your choice ● Decide which approach you like most ● Test! Conclusions
  • 35. Test? ● Try pt-upgrade from Percona: ○ Do your queries return the same results? ○ Which DBMS is faster for your queries? ○ Do you get errors/warnings? ○ Which DBMS consumes more resources? (monitoring) ● Test your tooling ● Test incidents ● Testing is important, but other criteria might be more important Conclusions