SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
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/

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

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

Andere mochten auch

Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)
Ontico
 
Sql update statement
Sql update statementSql update statement
Sql update statement
Vivek Singh
 

Andere mochten auch (20)

MariaDB Galera Cluster presentation
MariaDB Galera Cluster presentationMariaDB Galera Cluster presentation
MariaDB Galera Cluster presentation
 
Maria db vs mysql
Maria db vs mysqlMaria db vs mysql
Maria db vs mysql
 
MariaDB Vorstellung
MariaDB VorstellungMariaDB Vorstellung
MariaDB Vorstellung
 
State of MariaDB
State of MariaDBState of MariaDB
State of MariaDB
 
CakePHP 2.0 - It'll rock your world
CakePHP 2.0 - It'll rock your worldCakePHP 2.0 - It'll rock your world
CakePHP 2.0 - It'll rock your world
 
SQLite en Unity3D
SQLite en Unity3DSQLite en Unity3D
SQLite en Unity3D
 
With jQuery & CakePHP to World Domination
With jQuery & CakePHP to World DominationWith jQuery & CakePHP to World Domination
With jQuery & CakePHP to World Domination
 
RDBMS vs NoSQL
RDBMS vs NoSQLRDBMS vs NoSQL
RDBMS vs NoSQL
 
Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)
 
RESTful Web Development with CakePHP
RESTful Web Development with CakePHPRESTful Web Development with CakePHP
RESTful Web Development with CakePHP
 
SQL vs. NoSQL Databases
SQL vs. NoSQL DatabasesSQL vs. NoSQL Databases
SQL vs. NoSQL Databases
 
Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3
 
MySQL Basics
MySQL BasicsMySQL Basics
MySQL Basics
 
Mysql tutorial commands_part1
Mysql tutorial commands_part1Mysql tutorial commands_part1
Mysql tutorial commands_part1
 
Sql update statement
Sql update statementSql update statement
Sql update statement
 
SQL vs. NoSQL
SQL vs. NoSQLSQL vs. NoSQL
SQL vs. NoSQL
 
Maria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High AvailabilityMaria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High Availability
 
Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)Node.js vs Play Framework (with Japanese subtitles)
Node.js vs Play Framework (with Japanese subtitles)
 
Elk stack
Elk stackElk stack
Elk stack
 
NoSQL databases pros and cons
NoSQL databases pros and consNoSQL databases pros and cons
NoSQL databases pros and cons
 

Ähnlich wie Why MariaDB?

[B14] A MySQL Replacement by Colin Charles
[B14] A MySQL Replacement by Colin Charles[B14] A MySQL Replacement by Colin Charles
[B14] A MySQL Replacement by Colin Charles
Insight Technology, Inc.
 
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
Lenz Grimmer
 

Ähnlich wie Why MariaDB? (20)

MariaDB 初学者指南
MariaDB 初学者指南MariaDB 初学者指南
MariaDB 初学者指南
 
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
 
Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability Tutorial
 
OSDC 2017 | Lessons from database failures by Colin Charles
OSDC 2017 | Lessons from database failures by Colin CharlesOSDC 2017 | Lessons from database failures by Colin Charles
OSDC 2017 | Lessons from database failures by Colin Charles
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016
 
Open11 maria db the new m in lamp
Open11 maria db the new m in lampOpen11 maria db the new m in lamp
Open11 maria db the new m in lamp
 
Best practices for MySQL High Availability
Best practices for MySQL High AvailabilityBest practices for MySQL High Availability
Best practices for MySQL High Availability
 
ActiveMQ 5.9.x new features
ActiveMQ 5.9.x new featuresActiveMQ 5.9.x new features
ActiveMQ 5.9.x new features
 
Lessons from database failures
Lessons from database failures Lessons from database failures
Lessons from database failures
 
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdfMySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failures
 
OSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin CharlesOSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin Charles
 
Introduction to TokuDB v7.5 and Read Free Replication
Introduction to TokuDB v7.5 and Read Free ReplicationIntroduction to TokuDB v7.5 and Read Free Replication
Introduction to TokuDB v7.5 and Read Free Replication
 
[B14] A MySQL Replacement by Colin Charles
[B14] A MySQL Replacement by Colin Charles[B14] A MySQL Replacement by Colin Charles
[B14] A MySQL Replacement by Colin Charles
 
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
Making MySQL Administration a Breeze - A look into a MySQL DBA's toolchest
 
The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it!
 
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityNOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
 

Mehr von Colin Charles

Mehr von Colin Charles (11)

Databases in the hosted cloud
Databases in the hosted cloud Databases in the hosted cloud
Databases in the hosted cloud
 
Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted Cloud
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
 
Capacity planning for your data stores
Capacity planning for your data storesCapacity planning for your data stores
Capacity planning for your data stores
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
Lessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companiesLessons from {distributed,remote,virtual} communities and companies
Lessons from {distributed,remote,virtual} communities and companies
 
Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?
 
Securing your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataSecuring your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server data
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015
 
Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Why MariaDB?

  • 1. 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
  • 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- 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
  • 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: colin@montyprogram.com http://montyprogram.com/ | http://mariadb.org/ twitter: @bytebot / url: http://bytebot.net/blog/