0
MariaDB: The 2012     Edition       Colin Charles, Monty Program Ab          colin@montyprogram.comhttp://montyprogram.com...
whoami• MariaDB dude at Monty Program Ab• Formerly of MySQL AB/Sun Microsystems• Past lives included FESCO (Fedora  Projec...
Aims• Two years and four major releases - what is  inside MariaDB?• Discuss the broader MySQL ecosystem  fb.com/MariaDB.db...
MariaDB is currently...• Community Developed• Feature Enhanced • branch of MySQL with more• Backward Compatible • i.e. not...
Who’s behind it?• MySQL (database) owned by MySQL AB  (company)• Monty Program is just a sponsor of  MariaDB• maria-captai...
When did this begin?• Sun buys MySQL AB in January 2008• Oracle proposes acquisition of Sun  Microsystems in April 2009• W...
Why MariaDB?• MySQL - an open source product or  project?• MariaDB is an open source project  fb.com/MariaDB.dbms |       ...
Aims of MariaDB• 100% compatible, drop-in replacement to  MySQL• Stable (bug-free) releases• GPLv2  fb.com/MariaDB.dbms | ...
Compatibility with         MySQL•   There is no NDB cluster     •   Tools are similar (some    storage engine             ...
What’s in MariaDB 5.1•   Released February 2010    •   Croatian collations•   Create external           •   Numerous bug fi...
What’s in MariaDB 5.1•   XtraDB                   •   http://    (ENGINE=InnoDB)              www.percona.com/docs/       ...
What’s in MariaDB 5.1•   Extended statistics for slow   •   PROCESSLIST with    query log                          microse...
What’s in MariaDB 5.1•   Table elimination             •   Pool of threads (MySQL 6                                      b...
What’s in MariaDB 5.2•   Released November 2010                  •   http://kb.askmonty.org/                              ...
What’s in MariaDB 5.2•   Segmented MyISAM    keycache    •   mitigates thread        contention for key        cache lock,...
MariaDB 5.2: SphinxSE•   CREATE TABLE t1 (..)         •   monitor it - SHOW    ENGINE=SPHINX                    ENGINE SPH...
MariaDB 5.3: NoSQL•   HandlerSocket            •   Dynamic columns    •   direct access to         •   different set of   ...
MariaDB 5.3: group             commit•   Group commit in the binary log         •   https://www.facebook.com/note.php?    ...
MariaDB 5.3:                replication•   Checksums for binlog             •   mysqldump --single-    events (5.6 backpor...
MariaDB 5.3•   Progress reporting for     •   disk access: Index    ALTER TABLE/LOAD               Condition Pushdown    D...
MariaDB 5.3:      Subqueries finally!•   DBT-3, 60M line item    •   optimizer_switch=‘semij    rows, 29GB XtraDB          ...
MariaDB 5.3:         Subqueries• Instant EXPLAIN• http://  kb.askmonty.org/  en/the-query-  optimizer  fb.com/MariaDB.dbms...
MariaDB 5.3: User       Feedback Plugin•   New “phone home”    plugin (works with    Percona server, MySQL)•   disabled by...
MariaDB 5.3: GIS• MySQL has OpenGIS SFS (Simple feature  access, SQL access method)• Now, SQL with geometry types• ST_ pre...
MariaDB 5.3: Aria     storage engine• Still a crash-safe MyISAM• Has been included and improved upon  since MariaDB 5.1• H...
MariaDB 5.5: a new        threadpool•   Modified from MariaDB    5.1, great for CPU    bound loads, and short    running qu...
MariaDB 5.5: better for       DBAs•   Comes with a non-                  •   queries against multiple    blocking client l...
MariaDB 5.5• MariaDB 5.5 - GA TODAY • http://kb.askmonty.org/en/mariadb-5523-    release-notes  fb.com/MariaDB.dbms |     ...
How do we support all      these?                   Supported     LatestVersion   Released                        MySQL   ...
How open is MariaDB?•   Mailing lists: Launchpad        •   http://launchpad.net/                                        m...
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,                         Jela...
Getting MariaDB•   http://mariadb.org/ is the site + downloads•   Get it via OpenSUSE build service•   Its in Gentoo, Free...
The future?• Merging takes time• Features (different implementations) make  it into upstream• Probably moving to JIRA for ...
We have a bookfb.com/MariaDB.dbms |      @mariadb
Support• Monty Program does NRE/engineering  work for MySQL/MariaDB (not L1/L2  support)• Support via capable service prov...
Er.. what about other          branches?MySQL Percona MariaDB MySQL Percona      MariaDB5.5.20   7.7M    61M     5.5.20 22...
We’re on social media• facebook: fb.com/MariaDB.dbms• twitter: @mariadb• google plus: http://gplus.to/mariadb  fb.com/Mari...
MariaDB BoF, Ballroom    A, 9pm-10pmSalmiakkikossu (black vodka) will be served, Monty will     be there, come talk some M...
Q&A?       email: colin@montyprogram.comhttp://montyprogram.com/ | http://mariadb.org/twitter: @bytebot / url: http://byte...
Upcoming SlideShare
Loading in...5
×

MariaDB: The 2012 Edition

1,998

Published on

MariaDB: The 2012 Edition presented at Percona Live Santa Clara in April 2012.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,998
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
45
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "MariaDB: The 2012 Edition"

  1. 1. MariaDB: The 2012 Edition Colin Charles, Monty Program Ab colin@montyprogram.comhttp://montyprogram.com / http://mariadb.org/http://bytebot.net/blog / @bytebot on Twitter Percona Live Santa Clara, California, USA 11 April 2012
  2. 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. 3. Aims• Two years and four major releases - what is inside MariaDB?• Discuss the broader MySQL ecosystem fb.com/MariaDB.dbms | @mariadb
  4. 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. 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. 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. 7. Why MariaDB?• MySQL - an open source product or project?• MariaDB is an open source project fb.com/MariaDB.dbms | @mariadb
  8. 8. Aims of MariaDB• 100% compatible, drop-in replacement to MySQL• Stable (bug-free) releases• GPLv2 fb.com/MariaDB.dbms | @mariadb
  9. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 22. MariaDB 5.3: Subqueries• Instant EXPLAIN• http:// kb.askmonty.org/ en/the-query- optimizer fb.com/MariaDB.dbms | @mariadb
  23. 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. 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. 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. 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. 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. 28. MariaDB 5.5• MariaDB 5.5 - GA TODAY • http://kb.askmonty.org/en/mariadb-5523- release-notes fb.com/MariaDB.dbms | @mariadb
  29. 29. How do we support all these? Supported LatestVersion Released MySQL till release5.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.625.5.23 Apr 2012 Apr 2017 5.5.23 fb.com/MariaDB.dbms | @mariadb
  30. 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. 31. Worklog• Funding (bounties)• Votes• http://askmonty.org/ worklog/ fb.com/MariaDB.dbms | @mariadb
  32. 32. Knowledgebase• http://kb.askmonty.org/ fb.com/MariaDB.dbms | @mariadb
  33. 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 fromwith MySQL. However the big difference was that 24 minutes to just 4 minutes” -- Aliwhen we reported these bugs, they were quickly Watters, CEO, travelblog.orgresolved within 48 hours!” -- Dreas van Donselaar,Chief Technology Officer, SpamExpertsB.V. after migrating over 300 servers from MySQL5.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. 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. 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. 36. We have a bookfb.com/MariaDB.dbms | @mariadb
  37. 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. 38. Er.. what about other branches?MySQL Percona MariaDB MySQL Percona MariaDB5.5.20 7.7M 61M 5.5.20 222299 15878435.5.22 16M 60M 5.5.22 438567 1540932 fb.com/MariaDB.dbms | @mariadb
  39. 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. 40. MariaDB BoF, Ballroom A, 9pm-10pmSalmiakkikossu (black vodka) will be served, Monty will be there, come talk some MariaDB with all!
  41. 41. Q&A? email: colin@montyprogram.comhttp://montyprogram.com/ | http://mariadb.org/twitter: @bytebot / url: http://bytebot.net/blog/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×