MariaDB 5.5 and what comes next - Percona Live NYC 2012


Published on

Find out what we did in MariaDB 5.5, and what our plans are for MariaDB going forward.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

MariaDB 5.5 and what comes next - Percona Live NYC 2012

  1. 1. MariaDB 5.5 and what comes next Colin Charles, Monty Program Ab | colin@mariadb.orghttp:/ / | http:/ / / | @bytebot on Twitter Percona Live NYC, New York, USA 2 October 2012
  2. 2. whoamiMariaDB guy at Monty Program AbFormerly MySQL AB/Sun MicrosystemsPast lives included Fedora Project (FESCO),
  3. 3. Aims32 months, four major releases(5.1,5.2,5.3,5.5) & more (Galera Cluster, 10.0)Discuss the broader MySQL ecosystemThe future of MariaDB
  4. 4. MariaDB is... (currently) Community developed Feature enhanced branch of MySQL with more Backwards compatible not a fork feature complete
  5. 5. OwnershipMySQL (database) owned by MySQL AB(company) -> Sun -> OracleMonty Program is just a (major) sponsor ofMariaDBmaria-captains: 50% MP, 50% communityincluding Sphinxsearch, Twitter, SkySQL,Taobao, Facebook, Percona, Codership, & more
  6. 6. Compatibility with MySQLNDB cluster included, XtraDB enabled bybut not enabled by default now. InnoDBdefault included too & may change to defaultClient libraries, clientserver protocol, SQL MariaDB Galera Clusterdialect, master-slave is a separate downloadreplication all same files supported as v/mariadb-versus-long as same versions mysql-compatibility
  7. 7. MariaDB 5.5GA April 2012 release: MariaDB 5.5.27By far the most popular release of MariaDBdownloaded, in use, today
  8. 8. MariaDB 5.5: anopensource threadpoolModified from 5.1 No minimization of(libevent based), great concurrent transactionsfor CPU bound loads with dynamic pool sizeand short runningqueriesWindows (threadpool),Linux (epoll), Solaris(event ports), FreeBSD/OSX (kevents)
  9. 9. MariaDB 5.5: Better for DBAs non-blocking client library SELECT now has LIMIT ROWS EXAMINED to start operation, do consume less resources work in thread, operation processed, SELECT * from t1, result travels back t2 LIMIT 10 ROWS EXAMINED 1000; use cases: multiple queries against single server (utilize more CPUs); queries against multiple servers (SHOW STATUS on many machines)
  10. 10. That’s it?From December 2010 to April 2012, 2 features for a 16 month delay?!?
  11. 11. MariaDB 5.3Biggest change in the optimizer since it waswrittenReplication improvementsReleased February 2012Based on the MySQL 5.1 codebase
  12. 12. Better replicationOriginal statements logged with row basedreplication (RBR) eventsChecksum for binlog eventsRBR works for tables with no primary keyConsistent snapshot between storage engines
  13. 13. Group commit in the binary logsync_binlog=1, commit-for-the-binary-log
  14. 14. MariaDB 5.3: GIS support!MySQL has OpenGIS SFS (Simple featureaccess, SQL access method)Now, SQL with full geometry typesST_ prefix
  15. 15. Optimizer enhancements Join additions block nested loop joins for outer-joins, block hash joins, Batched Key Access (BKA) Optimization for derived tables & views mergeable derived tables processed like VIEWs + optimizer creates indexes over materialized derived tables Disk access optimization ICP, MRR
  16. 16. Subquery optimizations Semi-join Goodbye rewriting as optimization, JOINs or separate materialization for queries non-correlated IN queries, subquery cache DBT-3, 60M rows, 29GB XtraDB
  17. 17. Welcome MySQL 5.6Instant EXPLAIN tracein 5.6?
  18. 18. Progress reportingFor ALTER TABLE or LOAD DATA INFILEMariaDB [mail]> alter table mail engine = maria;Stage: 1 of 2 copy to tmp table 17.55% of stage doneMariaDB [mail]> select id, user, db, command, state,-> time_ms, progress from information_schema.processlist;+---------+-------------------+-----------+----------+| command | state | time_ms | progress |+---------+-------------------+-----------+----------+| Query | copy to tmp table | 23407.131 | 17.551 |+---------+-------------------+-----------+----------+1 row in set (0.47 sec)
  19. 19. NoSQL access methodsComes with HandlerSocket direct access to XtraDB/InnoDB for CRUD operationsDynamic columns create columns with dynamic content basically a blob with handling functions
  20. 20. MariaDB 5.2Released November 2011Pluggable authentication w/PAM pluginUser statistics: CLIENT_STATISTICS,USER_STATISTICS, INDEX_STATISTICS,TABLE_STATISTICS (userstats=1)Virtual columns - PERSISTENT or VIRTUALSphinxSE storage engine started shipping
  21. 21. Still using MyISAM?Mitigates thread contention for key cachelock, with notable performance improvementsKey caches divided into different segments,allowing for better key cache concurrency1-64 segments
  22. 22. MariaDB 5.1Arrived February 2010Storage engines: XtraDB, FederatedX, PBXT*,OQGRAPH*, Aria, etc.microslow patch, processlist w/microsecondprecisiontable elimination
  23. 23. How do we support all this? Support LatestVersion Released MySQL till release5.1.42 Feb 2010 Feb 2015 5.1.62 5.1.63 5.2.3 Nov 2010 Nov 2015 5.2.12 5.1.63 5.3.5 Feb 2012 Feb 2017 5.3.8 5.1.655.5.23 Apr 2012 Apr 2017 5.5.27 5.5.27
  24. 24. Oh, and we’re fast Oracle loves MySQL performance on Microsoft Windows. So do weOLTP read-only OLTP write-only
  25. 25. How open is MariaDB?Mailing lists: Launchpad http:// maria- maria/ developers@lists.lau Bugs database/feature worklog: Jira maria- discuss@lists.launchp http:// t/Code hosting:Launchpad #maria on freenode
  26. 26. Knowledgebase
  27. 27. Deployments! happy users:, wabtec, Paybox Services, “We made the switch on OLX, Jelastic, Web of Trust, SaltOS, ERP5, etc. Saturday -- and we’re seeing“MariaDB had these same bugs that we ran into benefits already -- our dailywith MySQL. However the big difference was optimization time is down fromthat when we reported these bugs, they were 24 minutes to just 4 minutes” --quickly resolved within 48 hours!” -- Dreas van Ali Watters, CEO, travelblog.orgDonselaar, Chief Technology Officer, SpamExpertsB.V. after migrating over 300 servers fromMySQL 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.
  28. 28. Getting MariaDB has repositories(APT,YUM) & regular downloadsOpenSUSE build serviceGentoo, FreeBSD, Homebrew, Mageia, manydistributions
  29. 29. We have a book
  30. 30. Other branchesMySQL Percona MariaDB MySQL Percona MariaDB5.5.20 7.7M 61M 5.5.20 222299 15878435.5.22 16M 60M 5.5.22 438567 1540932
  31. 31. What are we missingfrom Percona Server?percona_innodb_buffer_pool_shm - requiresbig shmax not default on many systemspercona_log_slow_query_log-log_slow_verbosity - InnoDB filteringinformation not fully in MariaDBDisabled test suite is awesome resource :)
  32. 32. percona_suppress_log_warning_1592 percona_slow_extended-log_slow_verbosity-clpercona_log_slow_slave_statements slow_query_log_use_global_controlpercona_log_slow_slave_statements-and- percona_slow_extended-use_global_controluse_global_long_query_time percona_slow_query_log-log_slow_verbositypercona_slow_query_log-control_global_slow percona_slow_extended-log_slow_verbositypercona_slow_query_log-microseconds_in_slow_query_log percona_slow_extended-microseconds_in_slow_extendedpercona_query_cache_with_comments percona_slow_extended-use_global_long_query_timepercona_query_cache_with_comments_prepared_statement percona_slow_extended-s slow_query_log_timestamp_always-clpercona_show_temp_tables percona_slow_extended- slow_query_log_microseconds_timestamp-clpercona_slow_query_log-use_global_long_query_time percona_bug643149percona_query_cache_with_comments_disable percona_processlist_row_statspercona_log_connection_error percona_server_variables_debugpercona_query_response_time percona_slow_extended-slave_statementspercona_query_response_time-stored percona_show_slave_status_nolockpercona_sql_no_fcache percona_slow_extended-slave_innodb_statspercona_status_wait_query_cache_mutex percona_slow_extended-slave_statements-and-percona_slave_innodb_stats use_global_long_query_timepercona_query_response_time-replication userstat_bug602047percona_server_variables_debug percona_innodb_expand_fast_index_creationpercona_server_variables_release percona_innodb_kill_idle_trxpercona_log_warnings_suppress percona_innodb_kill_idle_trx_lockspercona_slow_extended-log_slow_sp_statements-cl
  33. 33. Faster even? read only? InnoDB/XtraDB is fineInnoDB has higher throughput, but stalls & checkpoints w/ high write load
  34. 34. Track recordWe found the latest MySQL security bug and MariaDBwas first to be patched (sql/password.c & memcmp())We don’t like regressions innodb-regression-mysql-5525We care about backward compatibility & introducefeatures carefully XtraDB innodb_adaptive_checkpoint=none|reflex| estimate|keep_average (no more reflex...)
  35. 35. User stats plugin Disabled by default, consider enabling it to show use! from over 85 countries!
  36. 36. We love the community Tokutek’s TokuDB ships with MariaDB too groonga is to be merged We’re looking at spider next Multiple software packages talk about us (as an alternative to MySQL): Drupal, MediaWiki, Plone, phpMyAdmin, WordPress, etc.
  37. 37. FutureMySQL 5.6 just RC, we have most features in 5.5MariaDB 10.0 new InnoDB inside MariaDB (done) Global transaction ID support Multi-source replication (done) Enhanced semisync replication Persistent InnoDB statistics (done) Cassandra Storage Engine (done), HBase Storage Engine
  38. 38. MariaDB Galera Cluster Now in ALPHA!
  39. 39., Percona, FromDual, PalominoDB,OpenQueryMonty Program does developer support &NRE support/
  40. 40. We’re incredibly socialfacebook: @mariadbgoogle plus: also have a LinkedIn group
  41. 41. Q&A | colin@mariadb.orghttp:/ / | http:/ / @bytebot | url: