Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MariaDB OverView

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

MariaDB OverView

Avatar for Oursky Limited

Oursky Limited

January 28, 2013
Tweet

More Decks by Oursky Limited

Other Decks in Programming

Transcript

  1. History of MySQL • Started from 1995, founded by Monty

    • Oracle bought the InnoDB engine in 2005 • MySQL Ab was sold to Sun in 2008 ($1 billion) • Monty and the team left Sun in 2009 and work on MariaDB • Oracle acquired Sun (and including MySQL) in 2009 • Original MySQL developers start focusing on MariaDB
  2. What is MariaDB • Forked from MySQL code base •

    Continuously merging latest MySQL code base • Binary compatible (data and API) to MySQL, trivial to replace MySQL in minutes • More awesome features than MySQL
  3. MariaDB Versioning • Latest stable release is 5.5.28a (= Maria5.3

    + MySQL5.5) • Current in development 10.0.0 ◦ Some features backported from MySQL 5.6 ◦ Misleading if to be MariaDB 5.6 for next version, so consider to start as 10.0.0
  4. More storage database XtraDB • Forked from InnoDB plugin by

    Percona • Drop-in replacement for InnoDB • Optimized, faster start, more statistics • Scale better on many cores • Use memory more efficiently
  5. More storage database SphinxSE • Storage engine for Sphinx search

    engine Cassandra • Available in 10.0 • Able to access data from Cassandra cluster • Example
  6. Microseconds • Supports in datetime, time and timestamp • Specified

    as DATETIME(6), TIME(3), precision can be from 0 to 6, by default it will be 0 • SELECT CURTIME(4); --> 11:57:32.2421
  7. Table elimination • In MySQL, view is just a query

    saving ◦ Convenient but have performance issue ◦ Joins will be preserved in all queries • If certain tables will not be used in the query, will eliminate it in query plan
  8. Virtual Columns • Allow to create calculated fields on the

    fly • Allow persistent storage and virtual (calculated immediately)
  9. Dynamic Columns Limitations • Currently column names are identified as

    number (0-65535), this is also a TODO to have name for each dynamic column in future release • Only way to add index to dynamic column is to create virtual column (but this column is initiated so that's not quite "dynamic")
  10. Faster joins and subqueries • Optimized for semi and non-semi

    subquery ◦ Transform subqueries to semi joins (something similar to inner join) ◦ Choose appropriate semi-join strategy from 5 of them ◦ Also available in MySQL5.6 • Subquery cache ◦ Optimize the evaluation of correlated subqueries by storing results together with correlation parameters in a cache ◦ Avoid re-execution of the subquery in cases where the result is already in the cache