MariaDB MySQL Corrected Michael “Monty” Widenius
About Monty • Original author of MySQL • Co-Founder of MySQL Ab ● (with David Axmark and Allan Larsson) • Founder of Monty Program Ab • Swedish-Finn • Purveyor of salmiakkikossu and vodka candies
MySQL History • Based on Unireg, a 3GL application developed 1981- 1995 • Originally the idea was to use mSQL combined with my low-level ISAM routines to access legacy Unireg data • David Hughes, author of mSQL was not interested in this effort ● MySQL server was created from scratch ● Client library based on mSQL's public domain library • Named for my eldest daughter, My
MySQL History • MySQL API designed to be compatible with mSQL allowing third party mSQL code to work with MySQL • First internal release in May 1995 • MySQL Ab founded by Monty and David Axmark in 2001; before that we worked in 3 companies
MySQL History • MySQL licensed with GPL in 2000 ● Before that you only paid for commercial usage • All source made freely available • Windows binaries, built by hand by Monty, were (before the GPL change) the only pay-for software • Monty answered >30,000 community emails • A lot of effort went into MySQL documentation
MySQL History • Mårten Mickos hired as CEO in 2001 • VC funding allows headcount growth • Faster development leads to wider adoption • Userbase doubles from 2001 to 2003 • 30K downloads per day by 2003 • Community was “left to itself” in 2002
MySQL History • >300 employees by 2006 • >8 million active installations • 33% of database market share • >50 million $ in revenue for 2007 • >70K downloads a day in 2007
MySQL History • Merlin, the MySQL monitor and MySQL AB's first closed source product, was released as part of MySQL enterprise in 2006 • Community builds were no longer updated regularly; Bug fixes was first given to customers and only much later given to the community • Comments about forking MySQL started to appear
MySQL History • Acquired by Sun Microsystems in 2008 • I joined Sun to try to get back MySQL development on a community friendly patch • Sun stopped the release of closed source features! • 5.1 release, no respect for talent and no improvement when interacting with MySQL community caused friction • I left Sun in early 2009
Monty Program Save the people, save the project!
Monty Program • Employs key developers from the MySQL ecosystem • Working with many others in the MariaDB community • Follows the Hacking Business Model • Virtual company • Driver of MariaDB and Aria engine
The Hacking Business Model • Technical people, not MBAs, drive the product(s) and company strategy • Employees are stakeholders, not mere assets • Democratic • Rewards based on results • http://montyprogram.com/hacking-business-model/
MariaDB • MariaDB is released under the GPLv2 • There is no “Enterprise Version” with a separate release date • There is no “Enterprise Version” with better functionality • The very best work done by the community and Monty Program is made available to everyone under the same Free terms
MariaDB MariaDB is a PROJECT and not a PRODUCT
MariaDB • Community developed • Feature enhanced • Backwards (drop in) compatible
MariaDB: Community developed • Monty Program is the corporate steward, not the “owner” • Patches, bugfixes and feature enhancements by the larger FLOSS community are welcomed • Development, roadmap, release cycle and other issues are open for community involvement • Development and discussions are transparent • • Development meetings are open for community (next in Istanbul)
MariaDB: Community developed • Code hosting on Launchpad • bzr for distributed revision control • All branches publicly accessible • Future work and ideas can be found in Worklog • All MP developers are on #maria on Freenode • Launchpad mailing lists + own announce list
MariaDB: Feature enhanced • Lots of bug fixes ● Reported by community. found by our enhanced test system or when examining code when doing pulls from MySQL • Performance enhancements • New features • Community patches ● Open Query, Percona, Drizzle, former MySQL employees, customers and others • Alternative storage engines
MariaDB: 5.1 enhancements • PBXT, XtraDB, Aria, and FederatedX engines • Slow query log extended statistics • Microsecond precision in process list • Table elimination optimization • Pool of threads
MariaDB: 5.2 enhancements • Virtual columns (Andrey Zhakov) • Pluggable authentication • Services for plugins (from MySQL 5.5) • Enhanced Percona userstat v2 • Sphinx and OQgraph storage engines • Aria extensions (group commit)
MariaDB: 5.3 enhancements • Backport optimizations for derived tables and views • Subquery optimization: Efficient NOT IN execution with NULLs • Subquery optimization: Avoid recalculating subquery if external fields values found in subquery cache • Subqueries: cost-based choice between Materialization and IN->EXISTS transformation • Hash joins and multi-range reads (MRR)
MariaDB • Roadmap is publicly available on our wiki • Expect enhancements from the upstream version of MySQL ● We merge once a month • Worklog is publicly viewable • Proposals welcome • Code welcome
MariaDB: Backwards compatible • Drop-in replacement: ● All MySQL connectors will work (PHP, Perl etc) ● No need to upgrade databases ● No need to recompile or change applications ● Same command name, service names and options • Not disruptive to existing workflows while providing new options, functionality and fixes • Recompilation may be needed in future if one is using embedded MySQL (libmysqld)
MariaDB: Releases • MariaDB 5.1.42 released February 2010 as stable • MariaDB 5.1.49 is the current stable release • MariaDB 5.2.1-beta is current beta release ● RC planned withing 1-2 weeks • MariaDB 5.3-alpha is available ● RC planned for December • Source packages • .tgz for Linux and Solaris • .deb and .rpm packages • Windows binaries • Part of OpenSuse 11.3 and Gentoo ● FreeBSD ports, debian and other packages in development
So what? Why should I care? • MySQL succeeded as an open source product but failed as an open source community project • MariaDB hopes to succeed where MySQL failed • MariaDB is safe from marketeers, accountants, and others that drive decisions in large companies • As regards community involvement, MySQL AB did not exemplify the best FLOSS model • We want to make MariaDB a practical database; A database developed by and for those that use it!
Familiar FLOSS structure • “If you take the work seriously, you're doing it right. If you take yourself seriously, you're doing it wrong.” ● Using, administering and contributing to MariaDB should be a fun and rewarding experience ● Results-based hierarchy is the best approach (meritocracy) ● “There are no stupid questions, only stupid answers.” ● The community should be embraced as a stake-holding partner ● Respect differing opinions. Respect user choice.
MariaDB: Reason for existence • Provides a safe harbor for those with a large investment in MySQL • The GPL provides guarantees that corporate promises cannot ● But GPL is not enough to ensure that a product is actively developed. This is why our effort and your help is needed. • Oracle has made promises to the EU about the future of MySQL, but ...
MariaDB: A familiar ethos • With MariaDB, the LAMP stack now has each project in the acronym working in similar ways with similar core philosophies and values • Projects, not products!
MariaDB: Getting involved • Launchpad code hosting https://launchpad.net/maria • Launchpad groups maria-discuss maria-developers maria-captains • #maria on Freenode IRC • Knowledgebase http://kb.askmonty.org
MariaDB: Learning more • http://montyprogram.com • http://mariadb.org
Questions Ask me anything!
MariaDB • Thanks for coming! • The MariaDB project has a booth in the expo hall • And now, the black vodka! ( There are vodka chocolates in the boot for those that can't handle the black vodka)
Recommend
More recommend