SlideShare a Scribd company logo
Why MariaDB?
       Colin Charles, Monty Program Ab
          colin@montyprogram.com
http://montyprogram.com / http://mariadb.org/
http://bytebot.net/blog / @bytebot on Twitter
          Percona Live London 2011
               25 October 2011
Aims


• Give you an update of what we’ve done
  with MariaDB
• Discuss the broader MySQL ecosystem
What is it?

• A branch of MySQL with more features?
• A branch of MySQL with better features?
• A fork?
MariaDB is...

• Community Developed
• Feature Enhanced
• Backward Compatible
Who’s behind it?

• MySQL (database) owned by MySQL AB
  (company)
• Monty Program is just a sponsor of
  MariaDB
• maria-captains: 64% Monty Program, 36%
  community (+16% MP 3Q/2011)
When did this begin?

• Sun buys MySQL AB in January 2008
• Oracle proposes acquisition of Sun
  Microsystems in April 2009
• Widenius decides that beyond the engine
  (Febuary 2009), focus on MariaDB, a
  complete database solution
Why MariaDB?


• MySQL - an open source product or
  project?
• MariaDB is an open source project
Aims of MariaDB

• 100% compatible, drop-in replacement to
  MySQL
• Stable (bug-free) releases
• GPLv2
Compatibility with
         MySQL
•   There is no NDB cluster        •   Tools are similar (some
    storage engine                     additional tools for Aria,
                                       PBXT)
•   Client libraries, client-
    server protocol, SQL           •   XtraDB enabled by default;
    dialect, replication master-       InnoDB and InnoDB plugin
    slave all similar                  are included, but not
                                       enabled by default
•   Data files are supported as
    long as its similar between    •   http://kb.askmonty.org/v/
    versions                           mariadb-versus-mysql-
                                       compatibility
What’s in MariaDB 5.1
•   Released February 2010    •   Croatian collations

•   Create external           •   Numerous bug fixes
    buildsystem using
    Buildbot + VMs for test   •   Test cases and coverage
    +builds                       improvements

•   Release filled with        •   Removal of mutexes
    storage engines
                              •   Compiler warnings gone!
    •   XtraDB, PBXT,
        FederatedX, (M)Aria
What’s in MariaDB 5.1
•   XtraDB                   •   http://
    (ENGINE=InnoDB)              www.percona.com/docs/
                                 wiki/percona-
    •   enhanced InnoDB          xtradb:start
        designed to better
        scale on modern
        hardware; backward
        compatible, scale
        better on many
        cores, use memory
        more efficiently
What’s in MariaDB 5.1
•   PrimeBase PBXT                 •   Rollback transactions,
                                       recovery after restart
    •   Transactional, foreign         very fast (identifies
                                       garbage making undo
        keys, ACID, MVCC (read
        w/o locking)                   unnecessary)

    •   Row-level locking during   •   Write once w/log-based
        (SELECT FOR) UPDATE            storage; write data to
                                       DB, without first writing
                                       in transaction log

                                   •   http://kb.askmonty.org/v/
                                       about-pbxt
What’s in MariaDB 5.1
•   Extended statistics for slow   •   PROCESSLIST with
    query log                          microsecond precision

    •   based on microslow             •   TIME_MS in
        from Percona http://               INFORMATION_SCH
        kb.askmonty.org/v/                 EMA.PROCESSLIST
        slow-query-log-                    http://kb.askmonty.org/
        extended-statistics                v/time_ms-column-in-
                                           information_schemapr
                                           ocesslist
What’s in MariaDB 5.1
•   Table elimination             •   Pool of threads (MySQL 6
                                      backport)
    •   Query highly
        normalised data, it is        •   Use a limited set of
        sometimes possible to             threads to handle all
        resolve a query                   queries vs one-thread-
        without accessing some            per-connection. Win if
        tables the query refers           most queries are short
        to e.g. http://                   running, and there are
        kb.askmonty.org/v/                few table/row locks.
        what-is-table-                    http://kb.askmonty.org/
        elimination                       v/pool-of-threads
What’s in MariaDB 5.2
•   Released November 2010                       •    Use socket_peercred - if already
                                                      logged in via Unix credentials,
•   MariaDB 5.2.8 (MariaDB 5.1.55 -                   MariaDB will trust it
    changes up to MySQL 5.1.55)
                                                 •    http://kb.askmonty.org/v/
•   Pluggable authentication                          development-pluggable-
                                                      authentication
    •   authentication of users handled by
        plugins                              •   User Statistics (userstatsv2)

    •   mysql_native_password (20 byte)          •    Percona, Google, Weldon Whipple.
        and mysql_old_password (8 byte)               Understand server activity better,
        included by default                           identify database loads http://
                                                      kb.askmonty.org/v/user-statistics
    •   CREATE USER foo IDENTIFIED VIA
        mysql_native_password USING              •    Client, user, index, table statistics
        ‘pass’; == CREATE user foo
        IDENTIFIED BY PASSWORD
        ‘pass’;
What’s in MariaDB 5.2
•   Segmented MyISAM
    keycache

    •   mitigates thread
        contention for key
        cache lock, with
        notable 250%
        performance
        improvements
        http://
        kb.askmonty.org/
        v/segmented-key-
        cache
MariaDB 5.2: SphinxSE
•   CREATE TABLE t1 (..)         •   monitor it - SHOW
    ENGINE=SPHINX                    ENGINE SPHINX
    CONNECTION=”sphin                STATUS;
    x://localhost:9312/test”;
                                 •   can JOIN a SphinxSE
•   SELECT * from t1                 search table and tables
    WHERE query=‘test                using other engines as
    it;mode=any’;                    well

    •   matching modes,          •   https://kb.askmonty.org/
        limits, filters, ranges       v/about-sphinxse
        supported
MariaDB 5.3: NoSQL
•   HandlerSocket            •   Dynamic columns

    •   direct access to         •   different set of
        InnoDB/XtraDB                “virtual columns” for
                                     each row in your
    •   no SQL, simple               table
        CRUD operations on
        tables                   •   store different
                                     attributes for each
                                     item (see: e-
                                     commerce shops)
MariaDB 5.3: Dynamic
      Columns
MariaDB 5.3: group
             commit
•   Group commit for the binary log        •   https://www.facebook.com/note.php?
                                               note_id=10150261692455933
    •    sync_binlog=1,
         innodb_flush_log_at_trx_commit=1   •   http://kb.askmonty.org/en/group-commit-
                                               for-the-binary-log
MariaDB 5.3:
                replication
•   Checksums for binlog             •   mysqldump --single-
    events (5.6 backport)                transaction --master-
                                         data => non-blocking
•   START TRANSACTION                    backup! (new slave
                                         provisioning?) Works
    WITH CONSISTENT
    SNAPSHOT works w/                    w/XtraDB+PBXT
    binlog
                                 •   row-based replication
    •   obtain binlog pos. w/o       for tables w/no primary
                                     key
        blocking other
        queries
MariaDB 5.3
•   Progress reporting for     •   disk access: Index
    ALTER TABLE/LOAD               Condition Pushdown
    DATA INFILE                    (ICP), Multi-Range
                                   Read (MRR)

                               •   join: Classic Hash
    •   mytop included             Join, Batched Key
                                   Access (ordered
•   Optimiser changes              retrievals via MRR),
                                   and many many more
    •   @@optimizer_switc          optimizations
        h flags (default=off)
MariaDB 5.3:
        Subqueries finally!
  •   DBT-3, 60M line item   •   optimizer_switch=‘semij
      rows, 29GB XtraDB          oin=on’ /
      database                   materialization=on




Instant EXPLAIN too!
MariaDB 5.3: User
       Feedback Plugin
•   New “phone home”
    plugin (works with
    Percona server, MySQL)

•   disabled by default --
    please consider enabling
    it (feedback=on)

•   http://mariadb.org/
    feedback_plugin/
How open is MariaDB?
•   Mailing lists: Launchpad        •   http://launchpad.net/
                                        maria
    •   maria-
        developers@lists.laun   •   Bugs database:
        chpad.net
                                    •   https://
    •   maria-                          bugs.launchpad.net/
        discuss@lists.launchp           maria/
        ad.net
                                •   #maria on FreeNode
•   Code hosting:                   IRC
    Launchpad
Worklog
•   Funding (bounties)

•   Votes

•   http://askmonty.org/
    worklog/
Knowledgebase
• http://kb.askmonty.org/
Deployments,
   deployments, deployments
    happy users: pap.fr, wabtec, Paybox Services, OLX,
                         Jelastic, etc.                   “We made the switch on Saturday --
                                                         and we’re seeing benefits already -- our
“MariaDB had these same bugs that we ran into             daily optimization time is down from
with MySQL. However the big difference was that           24 minutes to just 4 minutes” -- Ali
when we reported these bugs, they were quickly              Watters, CEO, travelblog.org
resolved within 48 hours!” -- Dreas van Donselaar,
Chief Technology Officer, SpamExperts
B.V. after migrating over 300 servers from MySQL
5.0 to MariaDB 5.1.           “Migrating from MySQL 5.1 to MariaDB 5.2 was as
                              simple as removing MySQL RPMs and installing
                              the MariaDB packages, then running
                              mysql_upgrade.” - Panayot Belchev, proprietor,
                              Host Bulgaria on providing
                              MariaDB to over 7,000 of their web hosting
                              customers.
Getting MariaDB

•   http://mariadb.org/ is the site + downloads

•   Get it via OpenSUSE build service

•   Its in Gentoo, FreeBSD, Homebrew

•   http://kb.askmonty.org/v/distributions-which-include-
    mariadb
The future?

• GIS
• Merging takes time
• Features (different implementations) make
  it into upstream
We have a book
Support
• Monty Program does NRE/engineering
  work for MySQL/MariaDB (not L1/L2
  support)
• Support via capable service providers
 • http://mariadb.org/service-providers/
 • Percona, FromDual, Open Query,
    SoftMethod GmbH, SkySQL
Q&A?
       email: colin@montyprogram.com
http://montyprogram.com/ | http://mariadb.org/
twitter: @bytebot / url: http://bytebot.net/blog/

More Related Content

What's hot (20)

PDF
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Colin Charles
 
PDF
MariaDB: The 2012 Edition
Colin Charles
 
PDF
Introduction to MariaDB
JongJin Lee
 
PDF
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB Corporation
 
PDF
Differences between MariaDB 10.3 & MySQL 8.0
Colin Charles
 
PDF
Meet MariaDB 10.1 at the Bulgaria Web Summit
Colin Charles
 
PDF
My first moments with MongoDB
Colin Charles
 
PDF
The Complete MariaDB Server Tutorial - Percona Live 2015
Colin Charles
 
PDF
Tuning Linux for your database FLOSSUK 2016
Colin Charles
 
PDF
MariaDB Server & MySQL Security Essentials 2016
Colin Charles
 
PDF
The MySQL Server ecosystem in 2016
Colin Charles
 
PDF
Lessons from database failures
Colin Charles
 
PDF
Databases in the hosted cloud
Colin Charles
 
PDF
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Colin Charles
 
PDF
MySQL features missing in MariaDB Server
Colin Charles
 
PDF
MariaDB Server Compatibility with MySQL
Colin Charles
 
PDF
MariaDB: The New M In LAMP - SCALE10x
Colin Charles
 
PDF
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Colin Charles
 
PDF
Distributions from the view a package
Colin Charles
 
PDF
What is MariaDB Server 10.3?
Colin Charles
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Colin Charles
 
MariaDB: The 2012 Edition
Colin Charles
 
Introduction to MariaDB
JongJin Lee
 
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB Corporation
 
Differences between MariaDB 10.3 & MySQL 8.0
Colin Charles
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Colin Charles
 
My first moments with MongoDB
Colin Charles
 
The Complete MariaDB Server Tutorial - Percona Live 2015
Colin Charles
 
Tuning Linux for your database FLOSSUK 2016
Colin Charles
 
MariaDB Server & MySQL Security Essentials 2016
Colin Charles
 
The MySQL Server ecosystem in 2016
Colin Charles
 
Lessons from database failures
Colin Charles
 
Databases in the hosted cloud
Colin Charles
 
Better encryption & security with MariaDB 10.1 & MySQL 5.7
Colin Charles
 
MySQL features missing in MariaDB Server
Colin Charles
 
MariaDB Server Compatibility with MySQL
Colin Charles
 
MariaDB: The New M In LAMP - SCALE10x
Colin Charles
 
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Colin Charles
 
Distributions from the view a package
Colin Charles
 
What is MariaDB Server 10.3?
Colin Charles
 

Viewers also liked (20)

PDF
MariaDB Galera Cluster presentation
Francisco Gonçalves
 
PPTX
Maria db vs mysql
Nitin KR
 
PDF
MariaDB Vorstellung
MariaDB plc
 
PDF
State of MariaDB
Monty Program
 
KEY
CakePHP 2.0 - It'll rock your world
Graham Weldon
 
PPTX
SQLite en Unity3D
Elias Timoteo Mamani Canaza
 
PDF
With jQuery & CakePHP to World Domination
Felix Geisendörfer
 
PPT
RDBMS vs NoSQL
Murat Çakal
 
PPT
Maria db the new mysql (Colin Charles)
Ontico
 
PPTX
RESTful Web Development with CakePHP
Andru Weir
 
PDF
SQL vs. NoSQL Databases
Osama Jomaa
 
PDF
Advanced Querying with CakePHP 3
José Lorenzo Rodríguez Urdaneta
 
PPTX
MySQL Basics
mysql content
 
PPT
Mysql tutorial commands_part1
prashob7
 
PDF
Sql update statement
Vivek Singh
 
PDF
SQL vs. NoSQL
Guido Schmutz
 
PPTX
Maria DB Galera Cluster for High Availability
OSSCube
 
PDF
Node.js vs Play Framework (with Japanese subtitles)
Yevgeniy Brikman
 
PPTX
Elk stack
Jilles van Gurp
 
PPT
NoSQL databases pros and cons
Fabio Fumarola
 
MariaDB Galera Cluster presentation
Francisco Gonçalves
 
Maria db vs mysql
Nitin KR
 
MariaDB Vorstellung
MariaDB plc
 
State of MariaDB
Monty Program
 
CakePHP 2.0 - It'll rock your world
Graham Weldon
 
SQLite en Unity3D
Elias Timoteo Mamani Canaza
 
With jQuery & CakePHP to World Domination
Felix Geisendörfer
 
RDBMS vs NoSQL
Murat Çakal
 
Maria db the new mysql (Colin Charles)
Ontico
 
RESTful Web Development with CakePHP
Andru Weir
 
SQL vs. NoSQL Databases
Osama Jomaa
 
Advanced Querying with CakePHP 3
José Lorenzo Rodríguez Urdaneta
 
MySQL Basics
mysql content
 
Mysql tutorial commands_part1
prashob7
 
Sql update statement
Vivek Singh
 
SQL vs. NoSQL
Guido Schmutz
 
Maria DB Galera Cluster for High Availability
OSSCube
 
Node.js vs Play Framework (with Japanese subtitles)
Yevgeniy Brikman
 
Elk stack
Jilles van Gurp
 
NoSQL databases pros and cons
Fabio Fumarola
 
Ad

Similar to Why MariaDB? (20)

PDF
MariaDB 初学者指南
YUCHENG HU
 
PDF
MariaDB 5.5 and what comes next - Percona Live NYC 2012
Colin Charles
 
PDF
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
Insight Technology, Inc.
 
PDF
[B14] A MySQL Replacement by Colin Charles
Insight Technology, Inc.
 
PDF
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
Insight Technology, Inc.
 
PDF
Maria db 10 and the mariadb foundation(colin)
kayokogoto
 
PDF
Open11 maria db the new m in lamp
Colin Charles
 
PDF
Les fonctionnalites mariadb
lemugfr
 
PDF
MySQL Storage Engines Landscape
Colin Charles
 
PDF
MariaDB for the Enterprise
Great Wide Open
 
PDF
MariaDB for Developers and Operators (DevOps)
Colin Charles
 
PDF
MariaDB for the Enterprise
All Things Open
 
PDF
MySQL 开发
YUCHENG HU
 
PDF
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
Colin Charles
 
PDF
The MySQL Diaspora
YUCHENG HU
 
PPTX
Maria DBMS
Ramez Al-Fayez
 
PDF
Collaborate 2012 - Administering MySQL for Oracle DBAs
Nelson Calero
 
PDF
Introduction of MariaDB 2017 09
GOTO Satoru
 
PPTX
MariaDB und mehr - MariaDB Roadshow Summer 2014 Hamburg Berlin Frankfurt
MariaDB Corporation
 
PDF
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli
 
MariaDB 初学者指南
YUCHENG HU
 
MariaDB 5.5 and what comes next - Percona Live NYC 2012
Colin Charles
 
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
Insight Technology, Inc.
 
[B14] A MySQL Replacement by Colin Charles
Insight Technology, Inc.
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
Insight Technology, Inc.
 
Maria db 10 and the mariadb foundation(colin)
kayokogoto
 
Open11 maria db the new m in lamp
Colin Charles
 
Les fonctionnalites mariadb
lemugfr
 
MySQL Storage Engines Landscape
Colin Charles
 
MariaDB for the Enterprise
Great Wide Open
 
MariaDB for Developers and Operators (DevOps)
Colin Charles
 
MariaDB for the Enterprise
All Things Open
 
MySQL 开发
YUCHENG HU
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
Colin Charles
 
The MySQL Diaspora
YUCHENG HU
 
Maria DBMS
Ramez Al-Fayez
 
Collaborate 2012 - Administering MySQL for Oracle DBAs
Nelson Calero
 
Introduction of MariaDB 2017 09
GOTO Satoru
 
MariaDB und mehr - MariaDB Roadshow Summer 2014 Hamburg Berlin Frankfurt
MariaDB Corporation
 
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli
 
Ad

More from Colin Charles (15)

PDF
Databases in the hosted cloud
Colin Charles
 
PDF
The MySQL ecosystem - understanding it, not running away from it!
Colin Charles
 
PDF
Databases in the Hosted Cloud
Colin Charles
 
PDF
Best practices for MySQL High Availability Tutorial
Colin Charles
 
PDF
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Colin Charles
 
PDF
Capacity planning for your data stores
Colin Charles
 
PDF
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
Colin Charles
 
PDF
Lessons from {distributed,remote,virtual} communities and companies
Colin Charles
 
PDF
Forking Successfully - or is a branch better?
Colin Charles
 
PDF
Securing your MySQL / MariaDB Server data
Colin Charles
 
PDF
The MySQL Server Ecosystem in 2016
Colin Charles
 
PDF
Lessons from database failures
Colin Charles
 
PDF
Lessons from database failures
Colin Charles
 
PDF
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Colin Charles
 
PDF
Cool MariaDB Plugins
Colin Charles
 
Databases in the hosted cloud
Colin Charles
 
The MySQL ecosystem - understanding it, not running away from it!
Colin Charles
 
Databases in the Hosted Cloud
Colin Charles
 
Best practices for MySQL High Availability Tutorial
Colin Charles
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Colin Charles
 
Capacity planning for your data stores
Colin Charles
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
Colin Charles
 
Lessons from {distributed,remote,virtual} communities and companies
Colin Charles
 
Forking Successfully - or is a branch better?
Colin Charles
 
Securing your MySQL / MariaDB Server data
Colin Charles
 
The MySQL Server Ecosystem in 2016
Colin Charles
 
Lessons from database failures
Colin Charles
 
Lessons from database failures
Colin Charles
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Colin Charles
 
Cool MariaDB Plugins
Colin Charles
 

Recently uploaded (20)

PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
PDF
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
PDF
Understanding The True Cost of DynamoDB Webinar
ScyllaDB
 
PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PPTX
Mastering Authorization: Integrating Authentication and Authorization Data in...
Hitachi, Ltd. OSS Solution Center.
 
PDF
Kubernetes - Architecture & Components.pdf
geethak285
 
PDF
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
PDF
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
PDF
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
PDF
Understanding AI Optimization AIO, LLMO, and GEO
CoDigital
 
PPTX
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
PDF
Why aren't you using FME Flow's CPU Time?
Safe Software
 
PDF
TrustArc Webinar - Navigating APAC Data Privacy Laws: Compliance & Challenges
TrustArc
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PDF
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
PDF
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
PPTX
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
Understanding The True Cost of DynamoDB Webinar
ScyllaDB
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
Mastering Authorization: Integrating Authentication and Authorization Data in...
Hitachi, Ltd. OSS Solution Center.
 
Kubernetes - Architecture & Components.pdf
geethak285
 
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
Understanding AI Optimization AIO, LLMO, and GEO
CoDigital
 
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
Why aren't you using FME Flow's CPU Time?
Safe Software
 
TrustArc Webinar - Navigating APAC Data Privacy Laws: Compliance & Challenges
TrustArc
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 

Why MariaDB?

  • 1. Why MariaDB? Colin Charles, Monty Program Ab [email protected] http://montyprogram.com / http://mariadb.org/ http://bytebot.net/blog / @bytebot on Twitter Percona Live London 2011 25 October 2011
  • 2. Aims • Give you an update of what we’ve done with MariaDB • Discuss the broader MySQL ecosystem
  • 3. What is it? • A branch of MySQL with more features? • A branch of MySQL with better features? • A fork?
  • 4. MariaDB is... • Community Developed • Feature Enhanced • Backward Compatible
  • 5. Who’s behind it? • MySQL (database) owned by MySQL AB (company) • Monty Program is just a sponsor of MariaDB • maria-captains: 64% Monty Program, 36% community (+16% MP 3Q/2011)
  • 6. When did this begin? • Sun buys MySQL AB in January 2008 • Oracle proposes acquisition of Sun Microsystems in April 2009 • Widenius decides that beyond the engine (Febuary 2009), focus on MariaDB, a complete database solution
  • 7. Why MariaDB? • MySQL - an open source product or project? • MariaDB is an open source project
  • 8. Aims of MariaDB • 100% compatible, drop-in replacement to MySQL • Stable (bug-free) releases • GPLv2
  • 9. Compatibility with MySQL • There is no NDB cluster • Tools are similar (some storage engine additional tools for Aria, PBXT) • Client libraries, client- server protocol, SQL • XtraDB enabled by default; dialect, replication master- InnoDB and InnoDB plugin slave all similar are included, but not enabled by default • Data files are supported as long as its similar between • http://kb.askmonty.org/v/ versions mariadb-versus-mysql- compatibility
  • 10. What’s in MariaDB 5.1 • Released February 2010 • Croatian collations • Create external • Numerous bug fixes buildsystem using Buildbot + VMs for test • Test cases and coverage +builds improvements • Release filled with • Removal of mutexes storage engines • Compiler warnings gone! • XtraDB, PBXT, FederatedX, (M)Aria
  • 11. What’s in MariaDB 5.1 • XtraDB • http:// (ENGINE=InnoDB) www.percona.com/docs/ wiki/percona- • enhanced InnoDB xtradb:start designed to better scale on modern hardware; backward compatible, scale better on many cores, use memory more efficiently
  • 12. What’s in MariaDB 5.1 • PrimeBase PBXT • Rollback transactions, recovery after restart • Transactional, foreign very fast (identifies garbage making undo keys, ACID, MVCC (read w/o locking) unnecessary) • Row-level locking during • Write once w/log-based (SELECT FOR) UPDATE storage; write data to DB, without first writing in transaction log • http://kb.askmonty.org/v/ about-pbxt
  • 13. What’s in MariaDB 5.1 • Extended statistics for slow • PROCESSLIST with query log microsecond precision • based on microslow • TIME_MS in from Percona http:// INFORMATION_SCH kb.askmonty.org/v/ EMA.PROCESSLIST slow-query-log- http://kb.askmonty.org/ extended-statistics v/time_ms-column-in- information_schemapr ocesslist
  • 14. What’s in MariaDB 5.1 • Table elimination • Pool of threads (MySQL 6 backport) • Query highly normalised data, it is • Use a limited set of sometimes possible to threads to handle all resolve a query queries vs one-thread- without accessing some per-connection. Win if tables the query refers most queries are short to e.g. http:// running, and there are kb.askmonty.org/v/ few table/row locks. what-is-table- http://kb.askmonty.org/ elimination v/pool-of-threads
  • 15. What’s in MariaDB 5.2 • Released November 2010 • Use socket_peercred - if already logged in via Unix credentials, • MariaDB 5.2.8 (MariaDB 5.1.55 - MariaDB will trust it changes up to MySQL 5.1.55) • http://kb.askmonty.org/v/ • Pluggable authentication development-pluggable- authentication • authentication of users handled by plugins • User Statistics (userstatsv2) • mysql_native_password (20 byte) • Percona, Google, Weldon Whipple. and mysql_old_password (8 byte) Understand server activity better, included by default identify database loads http:// kb.askmonty.org/v/user-statistics • CREATE USER foo IDENTIFIED VIA mysql_native_password USING • Client, user, index, table statistics ‘pass’; == CREATE user foo IDENTIFIED BY PASSWORD ‘pass’;
  • 16. What’s in MariaDB 5.2 • Segmented MyISAM keycache • mitigates thread contention for key cache lock, with notable 250% performance improvements http:// kb.askmonty.org/ v/segmented-key- cache
  • 17. MariaDB 5.2: SphinxSE • CREATE TABLE t1 (..) • monitor it - SHOW ENGINE=SPHINX ENGINE SPHINX CONNECTION=”sphin STATUS; x://localhost:9312/test”; • can JOIN a SphinxSE • SELECT * from t1 search table and tables WHERE query=‘test using other engines as it;mode=any’; well • matching modes, • https://kb.askmonty.org/ limits, filters, ranges v/about-sphinxse supported
  • 18. MariaDB 5.3: NoSQL • HandlerSocket • Dynamic columns • direct access to • different set of InnoDB/XtraDB “virtual columns” for each row in your • no SQL, simple table CRUD operations on tables • store different attributes for each item (see: e- commerce shops)
  • 20. MariaDB 5.3: group commit • Group commit for the binary log • https://www.facebook.com/note.php? note_id=10150261692455933 • sync_binlog=1, innodb_flush_log_at_trx_commit=1 • http://kb.askmonty.org/en/group-commit- for-the-binary-log
  • 21. MariaDB 5.3: replication • Checksums for binlog • mysqldump --single- events (5.6 backport) transaction --master- data => non-blocking • START TRANSACTION backup! (new slave provisioning?) Works WITH CONSISTENT SNAPSHOT works w/ w/XtraDB+PBXT binlog • row-based replication • obtain binlog pos. w/o for tables w/no primary key blocking other queries
  • 22. MariaDB 5.3 • Progress reporting for • disk access: Index ALTER TABLE/LOAD Condition Pushdown DATA INFILE (ICP), Multi-Range Read (MRR) • join: Classic Hash • mytop included Join, Batched Key Access (ordered • Optimiser changes retrievals via MRR), and many many more • @@optimizer_switc optimizations h flags (default=off)
  • 23. MariaDB 5.3: Subqueries finally! • DBT-3, 60M line item • optimizer_switch=‘semij rows, 29GB XtraDB oin=on’ / database materialization=on Instant EXPLAIN too!
  • 24. MariaDB 5.3: User Feedback Plugin • New “phone home” plugin (works with Percona server, MySQL) • disabled by default -- please consider enabling it (feedback=on) • http://mariadb.org/ feedback_plugin/
  • 25. How open is MariaDB? • Mailing lists: Launchpad • http://launchpad.net/ maria • maria- [email protected] • Bugs database: chpad.net • https:// • maria- bugs.launchpad.net/ [email protected] maria/ ad.net • #maria on FreeNode • Code hosting: IRC Launchpad
  • 26. Worklog • Funding (bounties) • Votes • http://askmonty.org/ worklog/
  • 28. Deployments, deployments, deployments happy users: pap.fr, wabtec, Paybox Services, OLX, Jelastic, etc. “We made the switch on Saturday -- and we’re seeing benefits already -- our “MariaDB had these same bugs that we ran into daily optimization time is down from with MySQL. However the big difference was that 24 minutes to just 4 minutes” -- Ali when we reported these bugs, they were quickly Watters, CEO, travelblog.org resolved within 48 hours!” -- Dreas van Donselaar, Chief Technology Officer, SpamExperts B.V. after migrating over 300 servers from MySQL 5.0 to MariaDB 5.1. “Migrating from MySQL 5.1 to MariaDB 5.2 was as simple as removing MySQL RPMs and installing the MariaDB packages, then running mysql_upgrade.” - Panayot Belchev, proprietor, Host Bulgaria on providing MariaDB to over 7,000 of their web hosting customers.
  • 29. Getting MariaDB • http://mariadb.org/ is the site + downloads • Get it via OpenSUSE build service • Its in Gentoo, FreeBSD, Homebrew • http://kb.askmonty.org/v/distributions-which-include- mariadb
  • 30. The future? • GIS • Merging takes time • Features (different implementations) make it into upstream
  • 31. We have a book
  • 32. Support • Monty Program does NRE/engineering work for MySQL/MariaDB (not L1/L2 support) • Support via capable service providers • http://mariadb.org/service-providers/ • Percona, FromDual, Open Query, SoftMethod GmbH, SkySQL
  • 33. Q&A? email: [email protected] http://montyprogram.com/ | http://mariadb.org/ twitter: @bytebot / url: http://bytebot.net/blog/