SlideShare a Scribd company logo
MariaDB: The New M
                               in LAMP?
                                  Colin Charles, Monty Program Ab
                                     colin@montyprogram.com
                           http://montyprogram.com / http://mariadb.org/
                           http://bytebot.net/blog / @bytebot on Twitter
                                  SCALE10x, Los Angeles, CA, USA
                                          20 January 2012




Thursday, 26 January 12
whoami

                    • Chief Evangelist, MariaDB
                    • Formerly of MySQL AB/Sun Microsystems
                    • Past lives included FESCO (Fedora
                          Project), OpenOffice.org


                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
Aims


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

                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
What is it?

                    • A branch of MySQL with more features?
                    • A branch of MySQL with better features?
                    • A fork?

                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
MariaDB is...

                    • Community Developed
                    • Feature Enhanced
                    • Backward Compatible

                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
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)
                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
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
Thursday, 26 January 12
Why MariaDB?


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

                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
Aims of MariaDB

                    • 100% compatible, drop-in replacement to
                          MySQL
                    • Stable (bug-free) releases
                    • GPLv2
                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
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
Thursday, 26 January 12
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
Thursday, 26 January 12
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
Thursday, 26 January 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
                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 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
Thursday, 26 January 12
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

                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
What’s in MariaDB 5.2
                    •     Released November 2010                         •    Use socket_peercred - if already logged
                                                                              in via Unix credentials, MariaDB will
                    •     MariaDB 5.2.10 (MariaDB 5.1.60 - changes            trust it
                          up to MySQL 5.1.60)
                                                                         •    http://kb.askmonty.org/v/development-
                    •     Pluggable authentication                            pluggable-authentication

                          •   authentication of users handled by         •    Now with a PAM authentication
                              plugins                                         plugin!

                          •   mysql_native_password (20 byte) and            •      http://kb.askmonty.org/en/pam-
                              mysql_old_password (8 byte) included                  authentication-plugin
                              by default
                                                                     •   User Statistics (userstatsv2)
                          •   CREATE USER foo IDENTIFIED VIA
                              mysql_native_password USING ‘pass’;        •    Percona, Google, Weldon Whipple.
                              == CREATE user foo IDENTIFIED BY                Understand server activity better,
                              PASSWORD ‘pass’;                                identify database loads http://
                                                                              kb.askmonty.org/v/user-statistics

                                                                         •    Client, user, index, table statistics
                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
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
Thursday, 26 January 12
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
Thursday, 26 January 12
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
Thursday, 26 January 12
MariaDB 5.3: Dynamic
                           Columns




                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
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




                              fb.com/MariaDB.dbms |
                                    @mariadb
Thursday, 26 January 12
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

                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
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
Thursday, 26 January 12
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
Thursday, 26 January 12
MariaDB 5.3:
                                 Subqueries
                    • Instant EXPLAIN
                    • http://
                          kb.askmonty.org/
                          en/the-query-
                          optimizer



                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
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
Thursday, 26 January 12
MariaDB 5.3 & 5.5

                    • MariaDB 5.3 - RC now
                     • MariaDB 5.3.3 - 21/12/2011
                    • MariaDB 5.5 - Beta any day now
                     • https://launchpad.net/maria/5.5
                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
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
Thursday, 26 January 12
Worklog
                    •     Funding (bounties)

                    •     Votes

                    •     http://askmonty.org/
                          worklog/




                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
Knowledgebase
                    • http://kb.askmonty.org/




                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
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
Thursday, 26 January 12
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


                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
The future?
                    • GIS features making it into MariaDB 5.3
                    • Merging takes time
                    • Features (different implementations) make
                          it into upstream
                    • Getting into distributions (Fedora/EPEL
                          policies), Ubuntu/Debian, etc ?
                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
We have a book




                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
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 (here), FromDual, Open Query,
                            SoftMethod GmbH, Percona
                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
We’re on social media

                    • facebook: fb.com/MariaDB.dbms
                    • twitter: @mariadb
                    • google plus: search for mariadb

                          fb.com/MariaDB.dbms |
                                @mariadb
Thursday, 26 January 12
Q&A?
                                 email: colin@montyprogram.com
                          http://montyprogram.com/ | http://mariadb.org/
                          twitter: @bytebot / url: http://bytebot.net/blog/




Thursday, 26 January 12

More Related Content

PDF
MariaDB: The 2012 Edition
PDF
MySQL in the Hosted Cloud - Percona Live 2015
PDF
MariaDB 5.5 and what comes next - Percona Live NYC 2012
PDF
A beginners guide to MariaDB
PDF
MariaDB 10 and what's new with the project
PDF
MariaDB - a MySQL Replacement #SELF2014
PDF
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
PDF
MariaDB 10: A MySQL Replacement - HKOSC
MariaDB: The 2012 Edition
MySQL in the Hosted Cloud - Percona Live 2015
MariaDB 5.5 and what comes next - Percona Live NYC 2012
A beginners guide to MariaDB
MariaDB 10 and what's new with the project
MariaDB - a MySQL Replacement #SELF2014
MariaDB 10 Tutorial - 13.11.11 - Percona Live London
MariaDB 10: A MySQL Replacement - HKOSC

What's hot (20)

PDF
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
PDF
Why MariaDB?
PDF
MariaDB 10.0 - SkySQL Paris Meetup
PDF
MariaDB: in-depth (hands on training in Seoul)
PDF
The Complete MariaDB Server tutorial
PDF
MariaDB 10: The Complete Tutorial
PDF
Databases in the hosted cloud
PDF
The Complete MariaDB Server Tutorial - Percona Live 2015
PDF
The MySQL Server ecosystem in 2016
PDF
Introduction to MariaDB
PDF
Meet MariaDB 10.1 at the Bulgaria Web Summit
PDF
Differences between MariaDB 10.3 & MySQL 8.0
PDF
Lessons from database failures
PPT
Maria db the new mysql (Colin Charles)
PDF
Tuning Linux for your database FLOSSUK 2016
PDF
My first moments with MongoDB
PDF
Databases in the hosted cloud
PDF
Bootstrapping Using Free Software
PPTX
Maria db vs mysql
PDF
MHA: Getting started & moving past quirks percona live santa clara 2013
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
Why MariaDB?
MariaDB 10.0 - SkySQL Paris Meetup
MariaDB: in-depth (hands on training in Seoul)
The Complete MariaDB Server tutorial
MariaDB 10: The Complete Tutorial
Databases in the hosted cloud
The Complete MariaDB Server Tutorial - Percona Live 2015
The MySQL Server ecosystem in 2016
Introduction to MariaDB
Meet MariaDB 10.1 at the Bulgaria Web Summit
Differences between MariaDB 10.3 & MySQL 8.0
Lessons from database failures
Maria db the new mysql (Colin Charles)
Tuning Linux for your database FLOSSUK 2016
My first moments with MongoDB
Databases in the hosted cloud
Bootstrapping Using Free Software
Maria db vs mysql
MHA: Getting started & moving past quirks percona live santa clara 2013
Ad

Similar to MariaDB: The New M In LAMP - SCALE10x (20)

PDF
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
PDF
Open11 maria db the new m in lamp
PDF
MariaDB 初学者指南
PPTX
Maria DBMS
PDF
Introduction of MariaDB 2017 09
PDF
"MariaDB The community developed branch of MySQL" by Monty Michael Widenius @...
PDF
Maria db 10 and the mariadb foundation(colin)
PDF
The MySQL Diaspora
PDF
MariaDB adoption in Linux distributions and development environments
PDF
What is MariaDB Server 10.3?
PDF
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
PDF
Mariadb10 和新项目中有什么
PDF
High Performance Drupal with MariaDB
PPTX
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
PDF
MariaDB: Connect Storage Engine
PDF
The MySQL Server ecosystem in 2016
PDF
MariaDB Berlin Roadshow Slides - 8 April 2025
PDF
MariaDB - Fast, Easy & Strong - Get Started Tutorial
PPTX
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...
PDF
MariaDB Amsterdam Roadshow: 19 September, 2024
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
Open11 maria db the new m in lamp
MariaDB 初学者指南
Maria DBMS
Introduction of MariaDB 2017 09
"MariaDB The community developed branch of MySQL" by Monty Michael Widenius @...
Maria db 10 and the mariadb foundation(colin)
The MySQL Diaspora
MariaDB adoption in Linux distributions and development environments
What is MariaDB Server 10.3?
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
Mariadb10 和新项目中有什么
High Performance Drupal with MariaDB
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB: Connect Storage Engine
The MySQL Server ecosystem in 2016
MariaDB Berlin Roadshow Slides - 8 April 2025
MariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014 F...
MariaDB Amsterdam Roadshow: 19 September, 2024
Ad

More from Colin Charles (19)

PDF
MySQL features missing in MariaDB Server
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
Best practices for MySQL/MariaDB Server/Percona Server High Availability
PDF
Lessons from database failures
PDF
Lessons from database failures
PDF
MariaDB Server & MySQL Security Essentials 2016
PDF
Distributions from the view a package
PDF
Meet MariaDB Server 10.1 London MySQL meetup December 2015
PDF
Cool MariaDB Plugins
MySQL features missing in MariaDB Server
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
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Lessons from database failures
Lessons from database failures
MariaDB Server & MySQL Security Essentials 2016
Distributions from the view a package
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Cool MariaDB Plugins

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Electronic commerce courselecture one. Pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Modernizing your data center with Dell and AMD
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Cloud computing and distributed systems.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Approach and Philosophy of On baking technology
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation theory and applications.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation_ Review paper, used for researhc scholars
Electronic commerce courselecture one. Pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Dropbox Q2 2025 Financial Results & Investor Presentation
Reach Out and Touch Someone: Haptics and Empathic Computing
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Modernizing your data center with Dell and AMD
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Cloud computing and distributed systems.
Per capita expenditure prediction using model stacking based on satellite ima...
Building Integrated photovoltaic BIPV_UPV.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Approach and Philosophy of On baking technology
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation theory and applications.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Understanding_Digital_Forensics_Presentation.pptx

MariaDB: The New M In LAMP - SCALE10x

  • 1. MariaDB: The New M in LAMP? Colin Charles, Monty Program Ab colin@montyprogram.com http://montyprogram.com / http://mariadb.org/ http://bytebot.net/blog / @bytebot on Twitter SCALE10x, Los Angeles, CA, USA 20 January 2012 Thursday, 26 January 12
  • 2. whoami • Chief Evangelist, MariaDB • Formerly of MySQL AB/Sun Microsystems • Past lives included FESCO (Fedora Project), OpenOffice.org fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 3. Aims • Give you an update of what we’ve done with MariaDB • Discuss the broader MySQL ecosystem fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 4. What is it? • A branch of MySQL with more features? • A branch of MySQL with better features? • A fork? fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 5. MariaDB is... • Community Developed • Feature Enhanced • Backward Compatible fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 6. 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) fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 7. 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 Thursday, 26 January 12
  • 8. Why MariaDB? • MySQL - an open source product or project? • MariaDB is an open source project fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 9. Aims of MariaDB • 100% compatible, drop-in replacement to MySQL • Stable (bug-free) releases • GPLv2 fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 10. 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 Thursday, 26 January 12
  • 11. 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 Thursday, 26 January 12
  • 12. 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 Thursday, 26 January 12
  • 13. 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 fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 14. 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 Thursday, 26 January 12
  • 15. 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 fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 16. What’s in MariaDB 5.2 • Released November 2010 • Use socket_peercred - if already logged in via Unix credentials, MariaDB will • MariaDB 5.2.10 (MariaDB 5.1.60 - changes trust it up to MySQL 5.1.60) • http://kb.askmonty.org/v/development- • Pluggable authentication pluggable-authentication • authentication of users handled by • Now with a PAM authentication plugins plugin! • mysql_native_password (20 byte) and • http://kb.askmonty.org/en/pam- mysql_old_password (8 byte) included authentication-plugin by default • User Statistics (userstatsv2) • CREATE USER foo IDENTIFIED VIA mysql_native_password USING ‘pass’; • Percona, Google, Weldon Whipple. == CREATE user foo IDENTIFIED BY Understand server activity better, PASSWORD ‘pass’; identify database loads http:// kb.askmonty.org/v/user-statistics • Client, user, index, table statistics fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 17. 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 Thursday, 26 January 12
  • 18. 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 Thursday, 26 January 12
  • 19. 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 Thursday, 26 January 12
  • 20. MariaDB 5.3: Dynamic Columns fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 21. 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 fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 22. 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 fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 23. 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 Thursday, 26 January 12
  • 24. 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 Thursday, 26 January 12
  • 25. MariaDB 5.3: Subqueries • Instant EXPLAIN • http:// kb.askmonty.org/ en/the-query- optimizer fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 26. 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 Thursday, 26 January 12
  • 27. MariaDB 5.3 & 5.5 • MariaDB 5.3 - RC now • MariaDB 5.3.3 - 21/12/2011 • MariaDB 5.5 - Beta any day now • https://launchpad.net/maria/5.5 fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 28. 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 Thursday, 26 January 12
  • 29. Worklog • Funding (bounties) • Votes • http://askmonty.org/ worklog/ fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 30. Knowledgebase • http://kb.askmonty.org/ fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 31. 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 Thursday, 26 January 12
  • 32. 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 fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 33. The future? • GIS features making it into MariaDB 5.3 • Merging takes time • Features (different implementations) make it into upstream • Getting into distributions (Fedora/EPEL policies), Ubuntu/Debian, etc ? fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 34. We have a book fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 35. 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 (here), FromDual, Open Query, SoftMethod GmbH, Percona fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 36. We’re on social media • facebook: fb.com/MariaDB.dbms • twitter: @mariadb • google plus: search for mariadb fb.com/MariaDB.dbms | @mariadb Thursday, 26 January 12
  • 37. Q&A? email: colin@montyprogram.com http://montyprogram.com/ | http://mariadb.org/ twitter: @bytebot / url: http://bytebot.net/blog/ Thursday, 26 January 12