Monty's keynote text from MySQL Conference 2010
Unusually, we actually wrote a text for Monty's keynote speech this year. I'm publishing it below. Part of the speaker notes are just bullet points though, but the text may still be interesting to publish. Also, there is a funny joke about Oracle being a major MariaDB contributor that Monty somehow missed in the speech.
First I would like to thank you all for being here. In fact, I feel
very good about being back here as this is the first time since 2005
that I give a keynote on the MySQL user conference. After what has
been a turbulent year to many of us, it is great that we can all come
together to discuss and work face to face again.
I would also like to thank O'Reilly Media and Mr Tim O'Reilly. I feel
especially in gratitude to them as without them, this conference would
not be possible.
Tim and O'Reilly Media commitment to MySQL and to open source at large
is an example that we all should try to follow. It was even at an
O'Reilly conference that the term "open source" was first announced to
the wider public.
For many years O'Reilly sponsored Larry Wall to develop Perl - the
first scripting language with which MySQL has enjoyed a very
successful symbiotic relationship.
I will come back later in my talk about the importance of supporting
the ecosystem we all rely on.
Since the middle of 2008 things has been dominated by the financial
crisis. Companies all over the world are focused on cutting costs and
managing cash flows. In the previous recession almost 10 years ago,
the big winner was Linux and commodity x86 hardware and it continued
to win again in this recession.
Open source solutions are now also widely used in the middleware
layer. The database had remained as the last component in the enterprise IT
stack where proprietary vendors extract high margins - the database tax.
After spending the last 15 years dominating the World Wide Web, and
sneaking into enterprise datacenters through the back door, MySQL was,
in part thanks to Sun's backing, now being considered as a strategic
alternative by the traditional enterprise CIO.
The acquisition of MySQL by its competitor last year of made
at many of them to take a small pause in their plans.
But the pressure to cut costs is still there. Enterprise datacenters
need a low cost and open source database alternative, and it is up to
the open source community to deliver one. I will also come back to
this topic later in my talk.
MySQL Ecosystem in review: More diversity and renewed commitment
When we look at what happened lately in our ecosystem, there was a lot
Many MySQL engineers and consultants have changed jobs during the
year, more than ever before. While the executives mostly have left
elsewhere, I have been happy to see that most of the technical people
have stayed within our ecosystem. This of course includes also the
engineers who have chosen to stay as Oracle employees.
The trend of new MySQL forks continued, with MariaDB being one of
them. Happily, forks also are looking into joining their efforts,
which I believe is important. Times like this provide a good
opportunity to think things over, re-create things and see what one
can do differently.
Here's a map of the main MySQL forks alive today. Many of the
interesting storage engines like Infobright, KickFire and Calpont also
end up maintaining their own fork, but that is not included in this
Out of all these branches, Drizzle is the only true fork because they
really have gone in a different direction and rewritten and refactored
a lot of the code and they don't care about backward compatible or
ensuring that old MySQL applications will work with Drizzle. The
refactoring is a good thing but it makes it very hard to exchange code
with the other forks.
Then we have OurDelta. OurDelta was started by Arjen Lentz to answer
the demand that was created by MySQL's slow 5.0 and 5.1 release cycles
and that almost no community patches was not incoopreated into MySQL
So OurDelta started to package the community patches into Linux and
Solaris installer packages that people could start using. OurDelta is
more a packaging effort and patch repository than a development fork,
the idea was just to integrate patches that already existed.
Percona first created XtraDB as a fork of InnoDB plugin. It contained
the famous Google patches for InnoDB multi-core scalability as well as
some of their own work. They also had some non-InnoDB patches for
MySQL 5.0. All of this recently was released as a new version based on
MySQL 5.1 and is now called Percona XtraDB server.
Yesterday we awarded Kai Seidler for XAMPP, which is like LAMP for
Windows, so it includes MySQL. It is the only other fork together with
MariaDB that also includes the PBXT engine.
So where is MariaDB in this picture?
MariaDB is the glue that will put everything together. Apart from
Drizzle (who we exchange code with), all of the other forks contribute
to MariaDB. We want MariaDB to become the consolidating MySQL fork, so
that we eventually have less forks, not more.
An important goal for MariaDB is to be inclusive and community developed.
Actively working with storage engine developers to get them into
MariaDB and get MariaDB work better for them.
MariaDB 5.1 is based on the latest MySQL 5.1 code, an MariaDB 5.5 will
be based on MySQL 5.5 code; We always keep our releases synced with
the MySQL code and Oracle is thus a big contributor to MariaDB.
MariaDB 5.1 packages are also based on OurDelta's build scripts, so
this was very helpful to us since MySQL's build system is not open
source. We are also working with Arjen to ensure that the patches he
deems to be stable and important are added to MariaDB and Arjen is
also actively contributing to MariaDB. In fact, OurDelta 5.1 is
MariaDB 5.1, there is no separate OurDelta branch anymore.
XtraDB engine from Percona is included in MariaDB too, as well as most
of their server level patches. (We are working with Percona to get all
the relevant changes into MariaDB so that they can base their future
servers on MariaDB).
We have included many of the various abandoned patches and storage
engines and continue to do so for our next releases. We are also on
the internal MySQL lists and ensuring that all relevant patches posted
here gets into MariaDB, usually withing hours.
Even with all these performance improvements and features, MariaDB is
still a backwards compatible drop-in replacement for your old MySQL
* Community developed. Feature enhanced. Backward compatible.
Including most of the major open source storage engines: PBXT,
XtraDB, FederatedX, Maria; Some new ones that didn't make it for 5.1
will be added to 5.2
Thanks to XtraDB we already have in 5.1 most of the performance
that MySQL 5.4 beta was is all about.
We are using an Open source build system, based on buildbot! We used
to say that you can work at MySQL from anywhere. Now you can work ON
MySQL from anywhere.
We have focuesd a lot on realibitity of the server and this is one of
the major reasons it took us a long time to release MariaDB 5.1.
We have worked on reducing compiler warnings, removing valgrind errors,
extending the test suite and makeing things repeatable, faster
execution, shorter code paths, less mutex.
- Accept community patches: 32 key indexes as opposed to 16, Percona patches, Croatian collations
- Monty Program work
- Optimizer fixes for faster complex queries
- Pool of threads with libevent (allows you to have 100,000 connections and less context switches).
- Table elimination
- The above will be more outlined in my MariaDB talk later today
- Comparison of readonly engine performance (Mark Callaghan, Facebook)
- Syntetic benchmark:
- ramdisk: no physical disk io
- HANDLER statement: bypass SQL parsing and optimizer
- Compares "pure engine performance", raw iops
Note: MyISAM is not as performant as it is expected to be for a readonly workload
The partitioned key cache fixes the biggest known MyISAM performance issues
Then we have MariaDB 5.3 (Maybe it will be called 5.5)
This is where the MariaDB optimizer team has put most of their efforts.
- Backport and extended optimizer enhancements from canceled MySQL 6.0 release (subqueries, etc...)
- Major leap forward for the optimizer (comparable to another big commerical db vendor).
Our optimizer team, who are with us here today, claim that the code is
'almost' ready to be used and they are very excited to finally be able
to finish this work that was started years ago on 6.0
- Pluggable replication api
- To enable new, better replication protocols
- Driven by demand from Web 2.0 and cloud users
- In partnership with Codership (Galera), Continuent (Tungsten), please join
- Partly sponsored by Finnish government
- Still lot of patches in commonity; New batch of Google, Facebook, eBay, Percona, OurDelta, etc. patchsets
As those that are following what is happening in the MySQL world, the
main thing I intend to focus time on when I left Sun was on the new
storage engine, Maria, that I and my team had already worked on for
some time and was intended to replace InnoDB. Maria is an extended,
crash safe version of MyISAM, the default storage engine for MySQL.
Maria is named after my daughter Maria, like MySQL was named after my
In the future we wanted, and still want, to add full transactional
capablities to Maria (the engine).
However when Oracle bought Sun and MySQL, we at Monty Program Ab felt
it was much more important to provide a guaranteed free alternative of
MySQL and we forked MySQL and renamed it MariaDB.
Unfortunately it is now confusing many that the database as a whole is
called MariaDB, and one of the engines is also called Maria. To fix
this problem, we are today announcing the Rename Maria contest.
You can stop at our booth in the expo hall to suggest a new
name for it, or after the conference you can just visit the
askmonty.org website. The new name will be announced in May and the
winner will receive a nice Ubuntu NetTop computer from System76.
[Note: At this moment the web page for the rename Maria contest seems to not be there. I will add a link here once I know where to link to.]
And we have 2 of these to give away, so if you cannot think of a good
name for the Maria engine, you can just enter a raffle at our
booth. We will draw a winner at 16 today.
Even if MariaDB is a community project, it is worth mentioning the
company I now work for, Monty Program Ab who is the driver of this
Monty Program Ab today employs most of the top MySQL developers that
visitors at this conference should be well familiar with. The team
consists of 3 out of 4 architects, the full MySQL optimizer team, most
of the original MySQL core developers and a MySQL Fellow, which would be yours truly.
The foundation for both our business and the MariaDB project is that
we have employed the people who know the MySQL source code better than
anyone else in the world.
The company is based on the Hacking Business Model, a document I wrote
together with Zak Greant some years ago. For example, the company is
run for and by the employees, so any profit will be shared among the
employees and they are also the ultimate decisionmakers.
Another important principle is that everything we do will be open
source; All MariaDB related code is on launchpad
MariaDB is purely a GPL licensed product, so we don't have any dual
licensing business model.
As an engineering company, our primary business model is to sell
engineering projects to customers who wants us to develop some new
feature for MariaDB, or just fix bugs in MariaDB or MySQL.
You can also buy support for MariaDB and MySQL, this is something we
deliver in many languages together with a network of local support
Our model is focused on building an organic network of companies,
rather than having one big company to control everything.
We believe we can provide a richer customer experience this way, such
as support in many local languages. Incidentally, such an organic
ecosystem will also be resistant to hostile takeover attempts.
One vehicle for this is the Open Database Alliance, a partner
organization for companies that develop open source databases and
products or services around them. The aim of fostering such
partnerships is to be able to provide a one stop shop for the
customer, where any one company can easily offer their customer a full
stack of solutions.
To add to our existing MariaDB support offerings, we are today also
announcing MariaDB Unlimited Servers Support Subscription
Why unlimited; (Because there is no counting of servers, cores....);
Fixed price of 36000 dollar!
The support covers all stable versions of MariaDB and MySQL (starting
It is delivered through our network of local support partners, and by
beeing backed by the developers at Monty Program you are guaranteed
that no mission critical bug will be too difficult to fix.
We've also included an unlimited license for Monyog, the popular
monitoring tool from the nice people at Webyog. As an addon option you
can also get Zmanda Enterprise Backup.
We do of course also offer you traditional 24/7 support subscription
for smaller companmies and of course also consulting and training, if
Come to our booth so that we can give you an offer
The economics of open source.
Sun, under Jonathan Schwartz, not only lead and developed a lot of
Open Source projects, they also sponsored projects with machines and
money and helped a lot of projects to survive. Sun will leave a big
economic hole in the Open Source world that will be hard to fill.
Another problem for Open Source is that under an economic down term,
even if open source projects are more heavily employed, there is fewer
monetary donations and paid for projects for the projects developers.
This is something I belive needs to start to change; We need to get
away from the notion that open source is there to be used and
exploited without having to give anything back. Instead we need to
create more ways to get money to those that provide the infrastructure
we are all depending so that they can not only survive but actually
afford to work full time on these projects.
What I have personally done lately to help in this regard are the the
- The Open Database alliance was created, both to help customer find
all database related services they need from one point but also
to fund the projects that the ODBA members are using; This is done
by allocation 80 % of the membership fees to open source projects.
- By the way, we are searching for a Director for the ODBA to drive it
to the next level; If you are intersted, please contact me!
- By the way, we are searching for a Director for the ODBA to drive it
- A notable part of the MariaDB unlimited support subscription is given
out to projects included in MariaDB.
- We have created a bounty system where MariaDB users can combine
bounty for features they want to see developed. When the bounty
has reached a level that is enough to pay for the development costs,
we will allocate someone to do the feature. Before that, anyone in
the community can offer to do the feature and if the code is accepted
he will receive a major part of the so far collected bounty.
MySQL is an ecosystem, not a company. I really like the theme of this
years conference. Perhaps it was chosen a bit as a reaction to
people's concerns over Oracle acquiring MySQL, but honestly, this
should have been the theme in previous years too!
At MySQL AB I always advocated that we should have worked more closely
with the community. Now I see that we have ourselves become the
community. It is not what I envisioned, but I hope that this will turn
out for the best.
My dream is that we manage to re-build an ecosystem where:
Everything you need to setup and use MySQL is open source. The
source, documentation, installers, build system and the basic tools
you need to get things going. This doesn't mean that there isn't a place
for commercial vendors, but that the basic things everyone needs
should be free!
With MariaDB we have now re-created a Buildbot based build and QA
infrastructure, and we are working on the documentation part. But
there is still work to do here.
My dream is an ecosystem where...
Engineers - both developers and QA - work together but are employed
by many different companies. By product companies like Monty Program
or Oracle, by consulting and support companies and even by end users
themselves. Google and Facebook have certainly set a good example
My dream is an ecosystem where...
All of those engineers contribute code to one main trunk. It's
regrettable that this is not the case as it cases a lot of
merges back and forth between different forks.
As much as we appreciate the patches coming out from end users like
the Facebook team, today the practice for them is just to publish
their patch and let interested forks pick it up. From my point of
view this is not optimal, even with a good patch there is usually
many man-hours of work if we then pick up the patch and integrate it
into MariaDB. In most open source projects it is the creator of the
code who also carries the burden of getting it included into the
main upstream code base.
In the past this understandable as they upstream wasn't responsive
to patches and didn't let community members have commit access to
the main trunk but in my dream there is a main trunk where this is
not the case anymore.
My dream is an ecosystem where...
There are multiple competing service companies who offer "enterprise
grade" global 24/7 support. Customers can choose among multiple
service providers to get support for their open source database.
We have a relatively good base to start from. For our part we do our
best to help with the Monty Program Support Partner network and Open
Database Alliance (ODBA).
But the demand from customers for an open source database alternative
is still bigger than what the current network of companies is
providing. There is room for them to grow into larger global players,
and there is room for still more companies to join the game.
If you want to be part of this growth, please contact Ethan and talk
with him about the ODBA.