I'm going to talk today about MySQL 8 and MariaDB 10.10.
Original talk says 10.11,
but I wanted to make sure we're sticking to
the latest GA or stable version,
so it had to go down a bit.
Let me start by congratulating
MariaDB team with MariaDB Corporation going public.
In particular, Monty,
congrats to driving two very impactful open-source database
companies to exit that's quite an achievement.
I think you people in the universe have that.
Just one step and you're done.
Yeah. Well, so what are we going to talk about?
First, I think which we need to recognize,
where MariaDB and MySQL started from the same roots,
we have diverged substantially.
So I think it was interesting when on the previous talk,
Jean-François was talking about upstream,
I was thinking, hey, you know what,
does MariaDB really considers MySQL upstream at this point?
Or not quite, right in this case.
I think there is enough diversity right,
what this is our ancestors,
maybe like monkeys for humans,
something of this regard.
Now, in this case,
I am trying to be fair the best way I can,
which for me always means offense everybody equally.
So if Monty is not screaming at me saying,
you are fucking moron, Peter,
that is not how it is,
then probably I'm not doing my job properly.
No, no, no.
Oh, you see? Yes, yes, yes.
Of course, of course.
You always do everything with loving your heart,
and you don't use bad words as I do.
That is wonderful.
So let's talk about development model first.
Obviously, MySQL is developed by the Oracle corporations.
We can see what the contributions are accepted,
but I wouldn't say they're encouraged in the same way
as MariaDB does,
and we also have open source,
as I would say, like a drop ship open source, right?
We have those release coming,
but we do not really have a tree there,
all their developers changes right happen as we can see.
That are the things that can be particularly problematic,
for example, for security bugs,
where it can be hard to track,
like what exactly change fixes that particular issue, right?
Which is different from MariaDB,
which has a server released by MariaDB Foundation,
though there is a lot of work, right,
for actual new features done by MariaDB corporations.
Though foundations ensure what the contributions are encouraged
and developers really done in the public, right,
as I would say, true open source project.
One thing I wanted to point out,
which I think is interesting,
is also changes from the Oracle side, right?
For years, I've been actually defender of Oracle
in regards to, hey, you know,
besides all this kind of stuff
that Oracle is looking to kill MySQL,
they have actually been doing a pretty good job
in releasing majority features of the open source
and their proprietary enterprise features
have been kind of well-isolated, abstracted through API,
and it was relatively easy for companies as well,
especially, like, per corner, to implement the equivalent.
Now things have been changing in the last couple of years, right?
We can see what, everybody knows this guy?
Yeah, yeah, yeah, well, like,
we can see what Larry actually discovered,
what the MySQL exists in the last couple of years, right?
And he only seems to care about MySQL as a heat wave,
because we all know heat wave
supports the melt zone of lake, right?
And we can see a lot of focus getting on this
snowflake development, which is sort of a cloud-only,
and of course, you know,
proprietary version of MySQL.
So far, it is only analytic extension, right?
But I think it's all questions to us,
hey, could there be some other critical features
which will be only property, right?
Maybe Oracle somewhere in the bellies
developing something like transparent sharding for MySQL,
maybe that is going to be proprietary first, right?
So that is, I think, a question
that's what a lot of people in MySQL community are asking.
Now, with MySQL, with MariaDB,
I think what is interesting compared to, like,
MySQL, there are actually two companies,
MyDB, well, two entities, probably better word,
MariaDB Foundation and MariaDB Corporation, right?
That is the latest mission,
which I just grabbed a couple of days ago
from MariaDB Foundation side, right?
And I think that is very good to understand relationship
with those companies to understand this, right?
Now, if you think in this case is what MariaDBation
is really, at large,
focusing on serving MariaDB community,
MariaDB ecosystem, right?
It develops open source software around MySQL.
MariaDB Corporation, that is now public company, right?
Which is providing the proprietary solutions
and commercializing MariaDB software, right?
That is, I think, is the interest, right?
Now, relationship sometimes can be a little bit complicated,
though I would say there have been
some more complicated entitlements,
in which I mentioned in my previous talks, right?
And some of them have been made more clear,
which I think is a great progress.
So, if you think about this, what is interesting
is MariaDB Foundation has responsibility,
kind of, relatively narrow to the MariaDB server, right?
And we can see what number of other components,
which are very valuable in MySQL ecosystem,
are owned by MariaDB Corporation, right?
Not by the foundation and also a lot of development.
Roadmap is driven by the corporation.
I also find it interesting what we see in MySQL,
Knowledgebase, which is kind of built by a community,
but is hosted by MariaDB Corporation.
I find, not in a very good sense, for like an open source,
a software is also entanglement on a website level, right?
So, if I am downloading MariaDB software from.org,
then I am kind of redirected next
to the MariaDB Corporation Knowledgebase, right?
And encouraged to fill out the lead,
which will go to the MariaDB Corporation,
which is not totally transparent, right?
I think that's kind of, I may be still looking like,
oh, I am engaging with a non-profit while actually
I am giving my connections to somewhere else.
Now, I wouldn't say, though, that that is completely unfair
in this case, because MariaDB does carry the largest,
well, way to development and promote in MariaDB, right?
And they do also get the largest rewards
compared to the other sponsors of MariaDB Foundation.
Now, let's look quickly at what is really open source
between those versions.
Right now, in MySQL, what we can see,
it's a very clear open core platform,
and we have Maria MySQL community, right?
And, you know, router, cluster, wherever all that comes,
which comes in open source edition,
and there is also enterprise version.
Plus, as I mentioned, additionally,
we have increasing focus on the cloud-only solution
as a heat wave.
In terms of MariaDB, there are, you know,
a lot more nuance in this case, right?
Because there are certain things coming from MariaDB Foundation,
which are completely open source right now.
The things in MariaDB Corporation space
they can be with a variety of licenses.
Now, if you look at the...
Peter, let's correct your mistakes.
Okay.
Max-K, all the versions are open source.
What say?
You need to say that all the versions of Max-K are open source.
Yes, yeah.
The latest is BSL.
Well, okay, yes.
So, the latest version of Max-K is BSL.
All the versions are open source, buggy, insecure,
and unsupported, right?
What?
Let me just...
What say?
You need to say bugs and you support them.
You can get support contracts with them
as you can get for all the things in Python.
No difference.
Well, okay, well, you see...
What do you think it's like?
No, no.
I miss hot backup.
What say?
I miss hot backup in the...
Maria backup versus MySQL, whatever.
Okay.
Not open source at all.
Okay.
That's...
Yeah, that's fair.
Okay.
Let's move on, right?
But I would actually check on the Max scale
in terms of how much changes there are.
I did check a couple of years ago, right,
to be honest, right?
And the old versions at that time,
they really converted to abandoned there.
Maybe that changed, right?
And there is actually, you know,
they are being maintained beyond the BSL cutoff.
Maybe not.
Okay.
The next thing, right?
If you look at the MySQL enterprise,
it's a superset of community, right?
And I think in this case, you have everything
that runs in community, runs on enterprise.
With MariaDB, you can see MariaDB Enterprise
is an extended subset of community,
meaning there are some things in...
which exist in community,
which has not been included.
Everything we do for enterprise is part of the community.
There are only two small features that this enterprise
we don't know.
Well, I mean, so all the storage engines
which exist in community are also supported
under enterprise agreements?
Well, that's what I'm saying, right?
I'm saying the first sentence.
What?
This is not a really extended subset.
It has two features.
Well, what about expand?
It's not part of MariaDB Enterprise anymore.
It's a different project.
Oh, okay.
Okay, okay, let me correct.
So there is a cool feature available
from MariaDB Corporation,
but it's not part of MariaDB Enterprise product anymore.
Okay, good.
Okay, sounds good.
Okay, let me move faster,
or we will need much more time
if you have a wonderful and productive discussion with Monty.
Okay, so now in terms of cloud native,
we have a finding new MySQL operator
available from Oracle and both for MySQL
and MariaDB, there is also a bunch of third-party
operators available, including one for MySQL
from per corner.
If you look at from MariaDB Corporation,
there is a lot of focus on SkySQL as a way
to run MariaDB in the clouds, right?
Like there was MariaDB Corporation operator ones, right?
But that is nowhere to be found,
but there is an effort for MariaDB Foundation
to have their operator created
though I couldn't find what if that's GA yet.
Database as a service, right?
Obviously, there is a lot of databases
as a service available for both databases standpoint, right?
In this case, I think what is also interesting
is what a lot of folks rely on
with sort of community versions right there.
You would say Oracle has MySQL Enterprise
with HitWave available on Oracle Cloud
and now increasingly some other clouds
and also MariaDB has partnerships
with other set of folks.
In terms of analytics, we have a column store, right?
In MariaDB ecosystem, right?
In MySQL ecosystem, right?
There is no really integrated open-source solution.
We have only cloud, only HitWave as I mentioned.
I also think there is a significantly different focus
between MariaDB and MySQL, right?
I'm not going to read through all of that,
but I think it's also interesting
what the architecture approach has been substantially different, right?
If you look at MariaDB,
it has been really having much more incremental
iterative approach, right?
In terms of MySQL, you can say a very big change
if MySQL 8, where a lot of things has been written,
made not quite comparable,
and also there is also a lot of focus in MySQL,
making it work better in the cloud, right,
in how Oracle sees operating database in their cloud.
Release frequency, that is something
which I think is very interesting, which changed
from the last year, right?
Where we can see MariaDB recently moved
to even more frequent releases, right?
Well, which are with shorter maintenance cycle, right,
as well as LTS releases every two years, right?
So we can see what's starting with the February last year,
the major MariaDB releases are coming out as quickly
as minor MySQL releases, right?
So I think that is a very interesting difference
in this case, right?
And as I mentioned, there are quite a few differences
in this case, right?
With MySQL 8, it kind of has this evergreen release, right,
where you have a lot of features introduced
in Maria releases, also a lot of bugs, right?
In particular, I think in the last few releases
there have been some, you know, pretty nasty corruption bugs,
which people did not appreciate.
And also this concept of now it's only forward compatibility,
right?
Once you move to the new MySQL 8 release, right,
you are not going to be able to run a previous version, right?
So if you really want a safe rollback,
you need to dump and restore, which is not appreciated by many.
You missed the major point from MariaDB,
upgrade from any new version to any newer version.
You don't need to go between intermediate version.
That's a big change to compare to MySQL.
So what you can do from, let's say, 10.5 to 10.10, right?
You can go from 5.2 to 11.
I see.
So you can upgrade.
That is a good thing to make sure that you have clean setup.
That's the only thing that matters.
I just made 5.7 MySQL to MariaDB 10.
I think 10.10 also in one step.
OK.
Well, yeah, let's move quickly, right?
So some of the changes in MariaDB in MySQL,
which I think is worth it.
One is like a protocol.
MySQL hasn't pushing a lot on their new X protocol,
while MariaDB has been making classical protocol better.
We also have different interfaces support right there.
Well, something else, Manchi?
I just want to know how much do you see uses of X protocol?
Personally, I would say almost non-users.
Well, yeah.
It's used for group replication configuration.
If you manage group replication configuration, you use it.
Interesting.
Everything else?
Sorry, I have to restart the focus.
Sorry.
You're going to lose slides for a minute.
Oh, OK.
OK.
Yes.
The box needs to be ready.
Yeah.
Well, anyway, do you guys have a good generation?
Yes, OK.
So, Jason, imagine Jason.
Can you all imagine Jason?
Yeah.
So, that is very significant difference.
It also exists in MySQL.
They designed native JSON data type, right,
and have some pretty cool things like a partial updates,
and also, I think, from usability standpoint,
Jason shortcuts, which makes things nicer and cleaner.
With MariaDB, the JSON is really stored as a text,
where it has improved the JSON partial speed significantly.
And what is cool in the latest MySQL versions,
it cut up a lot in JSON features in MySQL.
Like, I think, like two years ago, I could say, hey,
MySQL is a lot further in terms of what it can do with JSON.
Most of that gap has been covered.
Now, imagine replication.
Well, that is also, there are things substantially different.
MySQL has built out a group replication,
which gets a lot of focus in MySQL 8,
specifically with MySQL in a DB cluster.
You now have a kind of cluster set,
like how you can replicate between two clusters,
a lot of focus on that.
MariaDB has been focusing on both supporting classical replication
as well as Galera replication.
And also, even if you look at classical replication,
MariaDB GTID and MySQL GTIDs are conceptually different, right?
They are both moved to that versus binary logs alone.
Okay, well, you want me to try?
One minute.
One minute, yeah.
One minute.
Minus one minute, right now, okay.
What? You broke it.
Now, it doesn't work at all.
You see, you see.
I think it's seen something, but it doesn't see.
Okay.
The good news is you can't tell me.
What?
Good news, you can't blame me.
Four change for once in a lifetime.
Can you see the external display?
Well, yeah, I mean, I think as you see,
it's kind of blinks, right?
What it gets, the external display, right?
Like, hello, you see, it gets.
Yeah, that's what it says it's seeing external display.
That's lovely.
Well, look, I mean, I have a couple of slides in minus two minutes,
so let me just finish.
And then you can, you know,
troubleshoot during the lunch, right?
Yeah, so, okay, let's see what else.
A couple of things which are different, right, significantly.
I would say is, A, security is very different, right?
There have been a lot of approach to making security better,
both in my school and MariaDB,
but approaches are essentially different.
So if that is area you focus on
and you're migrating one way on the river,
make sure you give it separate special attention.
Optimizer is another area, right,
which things diverted specifically, right?
So, again, make sure to check a query plan,
especially for complicated queries,
go in one way or another, right?
Now, I wanted to also pick up in the latest release
a couple of unique MariaDB goodness,
which speak to me in particular, right?
One is, I like your ID data type, right?
Because all that kind of from my school, post,
well, you know what, you can actually do this
and then you're going to store your ID efficiently.
That is not a good way.
You know, just provide the user convenient
your ID data type and functions, right?
And so we don't have to deal with that shit.
Log-free Altitable for replication,
I think it's also very cool, right?
Paying double for essentially time for Altitable.
That is, I think was long problem in iSchool.
Great, that's fixed.
And I also like this concept of grant to public concept,
which is being added in 10.11.
Okay, and now, I want you to imagine mountains.
Well, because this slide was supposed to show
what there's a nice conference
covering a whole bunch of databases
called Percona Live coming in May.
It will be in Denver, right?
So, and call for papers is open.
We want, you know, if you have something to talk,
please submit.
Also, some other unique opportunity, right?
Some of you are probably running MariaDB, right?
Anyone? Anyone? Okay, well,
this is your opportunity not to just run MariaDB,
but run for MariaDB.
We will put together like relay team for the Denver Marathon,
right, which will take place one day before,
before Percona Live, right?
And so if you guys want to attend
and run about 8K as a part of MariaDB team,
let me know.
That's all I have to say,
and you should imagine this slide,
which says thanks to all of you
for being such a wonderful audience
and coming to listen to my talk.
Thank you.