MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL...

32
MariaDB MySQL Corrected Michael “Monty” Widenius

Transcript of MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL...

Page 1: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

MariaDB

MySQL Corrected

Michael “Monty” Widenius

Page 2: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 3: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 4: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 5: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 6: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 7: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 8: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 9: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 10: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

Monty Program

Save the people, save the project!

Page 11: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 12: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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/

Page 13: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 14: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

MariaDB

MariaDB is a PROJECTand not aPRODUCT

Page 15: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

MariaDB

• Community developed

• Feature enhanced

• Backwards (drop in) compatible

Page 16: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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)

Page 17: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 18: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 19: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 20: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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)

Page 21: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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)

Page 22: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 23: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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)

Page 24: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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

Page 25: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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!

Page 26: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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.

Page 27: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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 ...

Page 28: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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!

Page 29: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

MariaDB: Getting involved• Launchpad code hosting

https://launchpad.net/maria

• Launchpad groupsmaria-discuss

maria-developersmaria-captains

• #maria on Freenode IRC

• Knowledgebase http://kb.askmonty.org

Page 30: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

MariaDB: Learning more

• http://montyprogram.com

• http://mariadb.org

Page 31: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

Questions

Ask me anything!

Page 32: MariaDB - events.static.linuxfound.org€¦ · closed source product, was released as part of MySQL enterprise in 2006 ... • Future work and ideas can be found in Worklog • All

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)