SlideShare a Scribd company logo
MariaDB: The 2012
     Edition
       Colin Charles, Monty Program Ab
          colin@montyprogram.com
http://montyprogram.com / http://mariadb.org/
http://bytebot.net/blog / @bytebot on Twitter
   Percona Live Santa Clara, California, USA
                11 April 2012
whoami

• MariaDB dude at Monty Program Ab
• Formerly of MySQL AB/Sun Microsystems
• Past lives included FESCO (Fedora
  Project), OpenOffice.org


  fb.com/MariaDB.dbms |
        @mariadb
Aims


• Two years and four major releases - what is
  inside MariaDB?
• Discuss the broader MySQL ecosystem

  fb.com/MariaDB.dbms |
        @mariadb
MariaDB is currently...

• Community Developed
• Feature Enhanced
 • branch of MySQL with more
• Backward Compatible
 • i.e. not a fork
  fb.com/MariaDB.dbms |
        @mariadb
Who’s behind it?

• MySQL (database) owned by MySQL AB
  (company)
• Monty Program is just a sponsor of
  MariaDB
• maria-captains: 52% Monty Program, 48%
  community
  fb.com/MariaDB.dbms |
        @mariadb
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
  fb.com/MariaDB.dbms |
        @mariadb
Why MariaDB?


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

  fb.com/MariaDB.dbms |
        @mariadb
Aims of MariaDB

• 100% compatible, drop-in replacement to
  MySQL
• Stable (bug-free) releases
• GPLv2
  fb.com/MariaDB.dbms |
        @mariadb
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
    dialect, replication            default; InnoDB
    master-slave all similar        included, but not
                                    enabled by default
•   Data files are supported
    as long as its similar      •   http://kb.askmonty.org/v/
    between versions                mariadb-versus-mysql-
                                    compatibility
    fb.com/MariaDB.dbms |
          @mariadb
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
    fb.com/MariaDB.dbms |
          @mariadb
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

    fb.com/MariaDB.dbms |
          @mariadb
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



    fb.com/MariaDB.dbms |
          @mariadb
What’s in MariaDB 5.1
•   Table elimination             •   Pool of threads (MySQL 6
                                      backport - libevent based)
    •   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

    fb.com/MariaDB.dbms |
          @mariadb
What’s in MariaDB 5.2
•   Released November 2010                  •   http://kb.askmonty.org/
                                                en/pam-authentication-
•   Pluggable authentication                    plugin

    •   mysql_native_password (20   •   User Statistics (userstatsv2)
        byte) and
        mysql_old_password (8           •   Percona, Google, Weldon
        byte) included by default           Whipple. Understand server
                                            activity better, identify
    •   Now with a PAM                      database loads http://
                                            kb.askmonty.org/v/user-
        authentication plugin!
                                            statistics

                                        •   Client, user, index, table
                                            statistics
    fb.com/MariaDB.dbms |
          @mariadb
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
    fb.com/MariaDB.dbms |
          @mariadb
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
    fb.com/MariaDB.dbms |
          @mariadb
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)

    fb.com/MariaDB.dbms |
          @mariadb
MariaDB 5.3: group
             commit
•   Group commit in 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




        fb.com/MariaDB.dbms |
              @mariadb
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
    binlog
                                 •   row-based replication
    •   obtain binlog pos. w/o       for tables w/no primary
                                     key
        blocking other
        queries

    fb.com/MariaDB.dbms |
          @mariadb
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)
    fb.com/MariaDB.dbms |
          @mariadb
MariaDB 5.3:
      Subqueries finally!
•   DBT-3, 60M line item    •   optimizer_switch=‘semij
    rows, 29GB XtraDB           oin=on’ /
    database                    materialization=on




    fb.com/MariaDB.dbms |
          @mariadb
MariaDB 5.3:
         Subqueries
• Instant EXPLAIN
• http://
  kb.askmonty.org/
  en/the-query-
  optimizer



  fb.com/MariaDB.dbms |
        @mariadb
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/


    fb.com/MariaDB.dbms |
          @mariadb
MariaDB 5.3: GIS
• MySQL has OpenGIS SFS (Simple feature
  access, SQL access method)
• Now, SQL with geometry types
• ST_ prefix
• Read more: http://kb.askmonty.org/en/gis-
  features-in-533
  fb.com/MariaDB.dbms |
        @mariadb
MariaDB 5.3: Aria
     storage engine
• Still a crash-safe MyISAM
• Has been included and improved upon
  since MariaDB 5.1
• Has group commit in MariaDB 5.2, to
  speed up multi-user inserts
• Is TRANSACTIONAL (crash safe, atomic),
  but doesn’t do ROLLBACK yet (Aria 2.0)
  fb.com/MariaDB.dbms |
        @mariadb
MariaDB 5.5: a new
        threadpool
•   Modified from MariaDB
    5.1, great for CPU
    bound loads, and short
    running queries

•   No minimization of
    concurrent transactions!

•   Windows (threadpool),
    Linux (epoll), Solaris
    (event ports), FreeBSD/
    OSX (kevent)               More benchmarks: http://kb.askmonty.org/en/threadpool-
                                                   benchmarks

    fb.com/MariaDB.dbms |
          @mariadb
MariaDB 5.5: better for
       DBAs
•   Comes with a non-                  •   queries against multiple
    blocking client library                servers? (eg. SHOW
                                           STATUS against all
    •   start an operation, do             running servers)
        other work in the
        same thread, operation     •   SELECT statements might
        processed in server,           examine too many rows
        result travels back.           and consume many
                                       resources. Terminate
    •   multiple queries against       execution with LIMIT
        a single server? (better       ROWS EXAMINED
        utilise more CPUs?)
    fb.com/MariaDB.dbms |
          @mariadb
MariaDB 5.5


• MariaDB 5.5 - GA TODAY
 • http://kb.askmonty.org/en/mariadb-5523-
    release-notes


  fb.com/MariaDB.dbms |
        @mariadb
How do we support all
      these?
                   Supported     Latest
Version   Released                        MySQL
                      till      release
5.1.42    Feb 2010   Feb 2015   5.1.62    5.1.62

 5.2.3    Nov 2010 Nov 2015     5.2.12    5.1.62

 5.3.5    Feb 2012   Feb 2017    5.3.6    5.1.62

5.5.23    Apr 2012   Apr 2017             5.5.23
    fb.com/MariaDB.dbms |
          @mariadb
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
    fb.com/MariaDB.dbms |
          @mariadb
Worklog
•   Funding (bounties)

•   Votes

•   http://askmonty.org/
    worklog/




    fb.com/MariaDB.dbms |
          @mariadb
Knowledgebase
• http://kb.askmonty.org/




  fb.com/MariaDB.dbms |
        @mariadb
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.
          fb.com/MariaDB.dbms |
                @mariadb
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

•   Next up: Debian, Ubuntu (5.5 GA), then Fedora/CentOS

    fb.com/MariaDB.dbms |
          @mariadb
The future?

• Merging takes time
• Features (different implementations) make
  it into upstream
• Probably moving to JIRA for bugs+worklog
  functionality

  fb.com/MariaDB.dbms |
        @mariadb
We have a book




fb.com/MariaDB.dbms |
      @mariadb
Support
• Monty Program does NRE/engineering
  work for MySQL/MariaDB (not L1/L2
  support)
• Support via capable service providers
 • http://mariadb.org/service-providers/
 • SkySQL, Percona, FromDual, Open
    Query, SoftMethod GmbH
  fb.com/MariaDB.dbms |
        @mariadb
Er.. what about other
          branches?
MySQL Percona MariaDB MySQL Percona      MariaDB


5.5.20   7.7M    61M     5.5.20 222299   1587843


5.5.22   16M     60M     5.5.22 438567   1540932

     fb.com/MariaDB.dbms |
           @mariadb
We’re on social media

• facebook: fb.com/MariaDB.dbms
• twitter: @mariadb
• google plus: http://gplus.to/mariadb

  fb.com/MariaDB.dbms |
        @mariadb
MariaDB BoF, Ballroom
    A, 9pm-10pm
Salmiakkikossu (black vodka) will be served, Monty will
     be there, come talk some MariaDB with all!
Q&A?
       email: colin@montyprogram.com
http://montyprogram.com/ | http://mariadb.org/
twitter: @bytebot / url: http://bytebot.net/blog/

More Related Content

PDF
MariaDB: The New M In LAMP - SCALE10x
PDF
MariaDB - a MySQL Replacement #SELF2014
PDF
MariaDB 10: A MySQL Replacement - HKOSC
PDF
MariaDB 10.0 - SkySQL Paris Meetup
PDF
MariaDB 10 and what's new with the project
PDF
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
PDF
A beginners guide to MariaDB
PDF
Why MariaDB?
MariaDB: The New M In LAMP - SCALE10x
MariaDB - a MySQL Replacement #SELF2014
MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB 10 and what's new with the project
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
A beginners guide to MariaDB
Why MariaDB?

What's hot (20)

PDF
Introduction to MariaDB
PDF
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
PDF
MariaDB 5.5 and what comes next - Percona Live NYC 2012
PDF
MariaDB: in-depth (hands on training in Seoul)
PDF
MariaDB 10: The Complete Tutorial
PDF
MySQL in the Hosted Cloud - Percona Live 2015
PDF
The Complete MariaDB Server tutorial
PDF
Meet MariaDB 10.1 at the Bulgaria Web Summit
PDF
Differences between MariaDB 10.3 & MySQL 8.0
PDF
Databases in the hosted cloud
PDF
My first moments with MongoDB
PDF
The MySQL Server ecosystem in 2016
PDF
Tuning Linux for your database FLOSSUK 2016
PDF
Lessons from database failures
PDF
The Complete MariaDB Server Tutorial - Percona Live 2015
PDF
Best practices for MySQL/MariaDB Server/Percona Server High Availability
PDF
Databases in the hosted cloud
PDF
MySQL features missing in MariaDB Server
PPTX
Maria db vs mysql
PDF
MariaDB Server & MySQL Security Essentials 2016
Introduction to MariaDB
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 5.5 and what comes next - Percona Live NYC 2012
MariaDB: in-depth (hands on training in Seoul)
MariaDB 10: The Complete Tutorial
MySQL in the Hosted Cloud - Percona Live 2015
The Complete MariaDB Server tutorial
Meet MariaDB 10.1 at the Bulgaria Web Summit
Differences between MariaDB 10.3 & MySQL 8.0
Databases in the hosted cloud
My first moments with MongoDB
The MySQL Server ecosystem in 2016
Tuning Linux for your database FLOSSUK 2016
Lessons from database failures
The Complete MariaDB Server Tutorial - Percona Live 2015
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Databases in the hosted cloud
MySQL features missing in MariaDB Server
Maria db vs mysql
MariaDB Server & MySQL Security Essentials 2016
Ad

Viewers also liked (8)

PDF
MariaDB with SphinxSE
PDF
Google Sites Lightning Talk
PDF
Bootstrapping Using Free Software
PDF
MHA: Getting started & moving past quirks percona live santa clara 2013
PDF
Open11 maria db the new m in lamp
PDF
MySQL in the Hosted Cloud
PDF
State of MariaDB
PDF
MySQL in the Cloud
MariaDB with SphinxSE
Google Sites Lightning Talk
Bootstrapping Using Free Software
MHA: Getting started & moving past quirks percona live santa clara 2013
Open11 maria db the new m in lamp
MySQL in the Hosted Cloud
State of MariaDB
MySQL in the Cloud
Ad

Similar to MariaDB: The 2012 Edition (20)

PDF
MariaDB 初学者指南
PDF
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
PDF
[B14] A MySQL Replacement by Colin Charles
PPT
Maria db the new mysql (Colin Charles)
PDF
Maria db 10 and the mariadb foundation(colin)
PDF
Les fonctionnalites mariadb
PDF
MariaDB for the Enterprise
PDF
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
PDF
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
PDF
MariaDB for Developers and Operators (DevOps)
PPTX
Maria DBMS
PDF
MariaDB: Connect Storage Engine
PDF
What is MariaDB Server 10.3?
PDF
High Performance Drupal with MariaDB
PDF
Introduction of MariaDB 2017 09
PPTX
MariaDB und mehr - MariaDB Roadshow Summer 2014 Hamburg Berlin Frankfurt
PPTX
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
PDF
The MySQL Diaspora
PDF
MySQL Storage Engines Landscape
PDF
MariaDB for the Enterprise
MariaDB 初学者指南
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
[B14] A MySQL Replacement by Colin Charles
Maria db the new mysql (Colin Charles)
Maria db 10 and the mariadb foundation(colin)
Les fonctionnalites mariadb
MariaDB for the Enterprise
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB for Developers and Operators (DevOps)
Maria DBMS
MariaDB: Connect Storage Engine
What is MariaDB Server 10.3?
High Performance Drupal with MariaDB
Introduction of MariaDB 2017 09
MariaDB und mehr - MariaDB Roadshow Summer 2014 Hamburg Berlin Frankfurt
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
The MySQL Diaspora
MySQL Storage Engines Landscape
MariaDB for the Enterprise

More from Colin Charles (16)

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

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
MYSQL Presentation for SQL database connectivity
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
cuic standard and advanced reporting.pdf
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
MIND Revenue Release Quarter 2 2025 Press Release
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Empathic Computing: Creating Shared Understanding
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
NewMind AI Weekly Chronicles - August'25 Week I
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Advanced methodologies resolving dimensionality complications for autism neur...
MYSQL Presentation for SQL database connectivity
“AI and Expert System Decision Support & Business Intelligence Systems”
Big Data Technologies - Introduction.pptx
Encapsulation theory and applications.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

MariaDB: The 2012 Edition

  • 1. MariaDB: The 2012 Edition Colin Charles, Monty Program Ab colin@montyprogram.com http://montyprogram.com / http://mariadb.org/ http://bytebot.net/blog / @bytebot on Twitter Percona Live Santa Clara, California, USA 11 April 2012
  • 2. whoami • MariaDB dude at Monty Program Ab • Formerly of MySQL AB/Sun Microsystems • Past lives included FESCO (Fedora Project), OpenOffice.org fb.com/MariaDB.dbms | @mariadb
  • 3. Aims • Two years and four major releases - what is inside MariaDB? • Discuss the broader MySQL ecosystem fb.com/MariaDB.dbms | @mariadb
  • 4. MariaDB is currently... • Community Developed • Feature Enhanced • branch of MySQL with more • Backward Compatible • i.e. not a fork fb.com/MariaDB.dbms | @mariadb
  • 5. Who’s behind it? • MySQL (database) owned by MySQL AB (company) • Monty Program is just a sponsor of MariaDB • maria-captains: 52% Monty Program, 48% community fb.com/MariaDB.dbms | @mariadb
  • 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 fb.com/MariaDB.dbms | @mariadb
  • 7. Why MariaDB? • MySQL - an open source product or project? • MariaDB is an open source project fb.com/MariaDB.dbms | @mariadb
  • 8. Aims of MariaDB • 100% compatible, drop-in replacement to MySQL • Stable (bug-free) releases • GPLv2 fb.com/MariaDB.dbms | @mariadb
  • 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 dialect, replication default; InnoDB master-slave all similar included, but not enabled by default • Data files are supported as long as its similar • http://kb.askmonty.org/v/ between versions mariadb-versus-mysql- compatibility fb.com/MariaDB.dbms | @mariadb
  • 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 fb.com/MariaDB.dbms | @mariadb
  • 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 fb.com/MariaDB.dbms | @mariadb
  • 12. 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 fb.com/MariaDB.dbms | @mariadb
  • 13. What’s in MariaDB 5.1 • Table elimination • Pool of threads (MySQL 6 backport - libevent based) • 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 fb.com/MariaDB.dbms | @mariadb
  • 14. What’s in MariaDB 5.2 • Released November 2010 • http://kb.askmonty.org/ en/pam-authentication- • Pluggable authentication plugin • mysql_native_password (20 • User Statistics (userstatsv2) byte) and mysql_old_password (8 • Percona, Google, Weldon byte) included by default Whipple. Understand server activity better, identify • Now with a PAM database loads http:// kb.askmonty.org/v/user- authentication plugin! statistics • Client, user, index, table statistics fb.com/MariaDB.dbms | @mariadb
  • 15. 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 fb.com/MariaDB.dbms | @mariadb
  • 16. 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 fb.com/MariaDB.dbms | @mariadb
  • 17. 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) fb.com/MariaDB.dbms | @mariadb
  • 18. MariaDB 5.3: group commit • Group commit in 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 fb.com/MariaDB.dbms | @mariadb
  • 19. 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 binlog • row-based replication • obtain binlog pos. w/o for tables w/no primary key blocking other queries fb.com/MariaDB.dbms | @mariadb
  • 20. 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) fb.com/MariaDB.dbms | @mariadb
  • 21. MariaDB 5.3: Subqueries finally! • DBT-3, 60M line item • optimizer_switch=‘semij rows, 29GB XtraDB oin=on’ / database materialization=on fb.com/MariaDB.dbms | @mariadb
  • 22. MariaDB 5.3: Subqueries • Instant EXPLAIN • http:// kb.askmonty.org/ en/the-query- optimizer fb.com/MariaDB.dbms | @mariadb
  • 23. 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/ fb.com/MariaDB.dbms | @mariadb
  • 24. MariaDB 5.3: GIS • MySQL has OpenGIS SFS (Simple feature access, SQL access method) • Now, SQL with geometry types • ST_ prefix • Read more: http://kb.askmonty.org/en/gis- features-in-533 fb.com/MariaDB.dbms | @mariadb
  • 25. MariaDB 5.3: Aria storage engine • Still a crash-safe MyISAM • Has been included and improved upon since MariaDB 5.1 • Has group commit in MariaDB 5.2, to speed up multi-user inserts • Is TRANSACTIONAL (crash safe, atomic), but doesn’t do ROLLBACK yet (Aria 2.0) fb.com/MariaDB.dbms | @mariadb
  • 26. MariaDB 5.5: a new threadpool • Modified from MariaDB 5.1, great for CPU bound loads, and short running queries • No minimization of concurrent transactions! • Windows (threadpool), Linux (epoll), Solaris (event ports), FreeBSD/ OSX (kevent) More benchmarks: http://kb.askmonty.org/en/threadpool- benchmarks fb.com/MariaDB.dbms | @mariadb
  • 27. MariaDB 5.5: better for DBAs • Comes with a non- • queries against multiple blocking client library servers? (eg. SHOW STATUS against all • start an operation, do running servers) other work in the same thread, operation • SELECT statements might processed in server, examine too many rows result travels back. and consume many resources. Terminate • multiple queries against execution with LIMIT a single server? (better ROWS EXAMINED utilise more CPUs?) fb.com/MariaDB.dbms | @mariadb
  • 28. MariaDB 5.5 • MariaDB 5.5 - GA TODAY • http://kb.askmonty.org/en/mariadb-5523- release-notes fb.com/MariaDB.dbms | @mariadb
  • 29. How do we support all these? Supported Latest Version Released MySQL till release 5.1.42 Feb 2010 Feb 2015 5.1.62 5.1.62 5.2.3 Nov 2010 Nov 2015 5.2.12 5.1.62 5.3.5 Feb 2012 Feb 2017 5.3.6 5.1.62 5.5.23 Apr 2012 Apr 2017 5.5.23 fb.com/MariaDB.dbms | @mariadb
  • 30. 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 fb.com/MariaDB.dbms | @mariadb
  • 31. Worklog • Funding (bounties) • Votes • http://askmonty.org/ worklog/ fb.com/MariaDB.dbms | @mariadb
  • 33. 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. fb.com/MariaDB.dbms | @mariadb
  • 34. 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 • Next up: Debian, Ubuntu (5.5 GA), then Fedora/CentOS fb.com/MariaDB.dbms | @mariadb
  • 35. The future? • Merging takes time • Features (different implementations) make it into upstream • Probably moving to JIRA for bugs+worklog functionality fb.com/MariaDB.dbms | @mariadb
  • 36. We have a book fb.com/MariaDB.dbms | @mariadb
  • 37. Support • Monty Program does NRE/engineering work for MySQL/MariaDB (not L1/L2 support) • Support via capable service providers • http://mariadb.org/service-providers/ • SkySQL, Percona, FromDual, Open Query, SoftMethod GmbH fb.com/MariaDB.dbms | @mariadb
  • 38. Er.. what about other branches? MySQL Percona MariaDB MySQL Percona MariaDB 5.5.20 7.7M 61M 5.5.20 222299 1587843 5.5.22 16M 60M 5.5.22 438567 1540932 fb.com/MariaDB.dbms | @mariadb
  • 39. We’re on social media • facebook: fb.com/MariaDB.dbms • twitter: @mariadb • google plus: http://gplus.to/mariadb fb.com/MariaDB.dbms | @mariadb
  • 40. MariaDB BoF, Ballroom A, 9pm-10pm Salmiakkikossu (black vodka) will be served, Monty will be there, come talk some MariaDB with all!
  • 41. Q&A? email: colin@montyprogram.com http://montyprogram.com/ | http://mariadb.org/ twitter: @bytebot / url: http://bytebot.net/blog/