 What would be the next MySQL version? That's a very good question, right? It is currently eight and they ship very interesting new features in every point release. What will be the next major release? Will it be nine, ten? Like MariaDB jumped to eleven. In fact, it went from five, five to ten, and then eleven. So there's lots of jumping. So what would be the next one? Who knows? Maybe they'll call it twenty twenty-three. I don't know. Oh, yeah. Yes. All right, let's get started because we're gonna run out of time. Okay, I just want to thank everyone coming in today. And it's my first time in Singapore, first time in Fossasia. So thank you for inviting and hosting our session today with Colin and with his previous talks over here. This talk, I just want to remind, we've been actually handling this talk for almost ten years with Colin and switching and sharing our experiences. So we'll start from the beginning, inception of MySQL. So some people know about where the MySQL came from, but I actually always try to remind reminder have where this all started. So basically, Monty actually had an idea of writing this code and actually started a long time ago. Now it's twenty-eight years. And there's a little bit of a history about that. But where it came ended up in Oracle. And that's where the background of MySQL is. Yeah. And to be clear, you know, in a DB is still very much the storage engine of choice. Even though back then we call that in a DB Friday, it was a very dark day for us at MySQL. We subsequently went out to acquire this storage engine called Falcon, which is now dead. And BDB was also part of sleepy cat. BDB as an engine doesn't exist any longer, but it was. So actually my skills evolved a lot in the last basically three decades. Yes. So there are some stakeholders that we should know about MySQL. After the Monty's inception, there's in 2008, Percona actually took the fork of MySQL. As of today, it's a still live database and supported database that's based on MySQL. And there were some other distribution that didn't last long. But in Oracle actually holds the both versions of community and enterprise editions of MySQL as of today. Oh, yeah. So in theory, the Maria engine was always being developed. It was called Maria. Now it's called Aria. It was renamed actually. So, yeah, before acquisition, there was an idea that maybe the Maria engine needs to continue development. But the company actually only got started much later. Like actually in the summer in Mallorca of 2009 was when a bunch of us decided to go and set up a new company. Unfortunately, I didn't make the first meeting because I got the chicken pox. Oh, something happens. Okay. So we want to fast forward because we haven't been doing this type of talk for the last three years. And we recently came back on the live events and the column actually presented in the last four of them in February. So I'll let him actually run this one. Yeah. So MySQL sold to Oracle for, sorry, to Sun for a billion dollars. Sun sold to Oracle for, I don't know, seven maybe. And MariaDB actually went public last December 19th. It's trading as Maria, MRDB. I'm sure if you go look for the stock price now, you probably laugh. It's a sad situation for whoever's still holding the bags as they say in crypto. But this is actually on the stock exchange. A lot of rapid releases now is the plan with long term support releases. So my advice to you is to actually use a long term support release if you're going to deploy, not actually deploy with rapid releases that you have to upgrade every year. Because I don't think anyone in production does that. Prokona is also rebranded. I think they're beyond just a logo. They've rebranded in general as a company and what they offer. So that's also very exciting. Oracle makes so many amazing changes into small releases of MySQL. You consider them minor releases, but they're actually all major. They include nice new bugs and nice new features. So it's a huge bonus. I highly recommend you read the release notes carefully. Amazon RDS ditched DRBD for semi synchronous replication. So it's actually much faster if you use multi AZ. Anybody use Amazon RDS? Okay. So if you're using RDS, you'll actually notice much more speed improvements for inserts. For example, while Amazon finally migrated to semi synchronous replication, Facebook decided we'll go one step further. We'll actually do something called raft based replication. And they've actually got raft protocol built inside as a replication layer. So actually now there are four types of replication in the MySQL world. A synchronous, semi synchronous, virtually fully synchronous and raft based. Except if you want to try the raft stuff, you have to compile software from the Facebook tree, which I'm sure many of you here at Foss Asia can do. So after that, fast forwarding the three years in latest news started coming out. And this is the latest update from the MySQL versioning, which was announced at the MySQL summit, like in Japan, maybe a month ago. And they started getting into long term release support. The reason is they are going to be staying in version eight for a while. And version eight, as Colin mentioned, and minor versions are actually happening as like a major feature changes. And we'll talk about that a little bit later, but this is the latest long term support that will allow MySQL to continue on this version. Yes, support lifecycle. Okay. This is a nice graph that we like to share that Daniel actually put together. It's in GitHub. There's a link over here. And actually this poses of where the MySQL came from. There's also a little earlier graph that we removed, version three and et cetera. So that's the branch in three, how it's being actually handled until today. So we are actually going through that cycle of events. And as you can see MariaDB is going through the minor versions of 10 and right now it's in 1.6. Anything on MariaDB? Yeah, like rapid releases, right? So you're actually getting several a year. So pick the LTSS being played with the short term releases because they've got nice new features, but pick the LTSS. Okay. So this actually is a good sign that both MariaDB and MySQL versions are being deployed in new versions and the features being added. That actually adds to the community having new features. So important update over here in 5.7. If anyone is actually using 5.7 to anyone in 5.7, some customers. There will be some customers always. End of 5 is in October this year. So there will be my official support unless there is a special case. As of today, this is the date that MySQL will be supporting. So there's a lot of things going on, but maybe you want to look up some of the other presentations we've done in the past. There's one for me. I've done a bunch of runs in 2019 for the upgrade in MySQL to get everyone prepared for the next three years. But apparently there are still people using 5.7, but it's time to upgrade. So anything on the new features? Okay. I can just run MySQL 8. It covers both database administration and the development features. From the database side, there are major changes in 8 compared to 5.7, including security and the native data dictionary. Some of the performance improvements were bound to the original structure of MySQL. So those are being basically changed and rewritten to get more optimization in the database. There's also the software development side, this bunch of things, which highlights of getting the developers more embedded in the MySQL. MySQL is one of them and the JSON support is the other one. Let's switch to that and MariaDB. Yeah, and MariaDB has actually got lots of those features that MySQL has, but also can maybe delve out of what MySQL can support. So an Oracle PL SQL layer, so you can migrate most Oracle apps to MariaDB. It's of course something that you'd never see MySQL do, probably. Things like DML only, flashback, many interesting things. Dynamic columns is also, I'd say, unique. Actually, I tried to keep this slide to only unique things that you'd find in MariaDB. Proxy protocol support is maybe not so unique, but standard MySQL doesn't. So slides will be available, of course, so do check them out. We will upload this slide, so we'll have all that. Fast-forwarding to MySQL 8 releases, so we actually talked about the 5.7 to 8 and the bug fixes and all that. All the minor versions of MySQL actually now includes new features and it's actually like a new version. And the latest one as of March included these two big changes with the MariaDB replica set cluster and cluster sets that was presented in recently by Oracle. And I'm sure there's some talks about that. Also, the other feature that's important, Instant Add Drop. This is an important production operational issue that if you have large keys or columns to add or drop, that might be operationally difficult to handle in some cases in active systems. So check this out. Right now, it was introduced in 31, but in 32, they found some issues. It is recommended to only run on 32. So you have to run the latest and the greatest release of MySQL. Anyone, Ado? Yeah, so you'll find the bugs even in point releases. And this is maybe one of the biggest changes you'd see in MySQL 8 is to actually pay attention to point releases, release notes. Important update on that. So Percona is also following this trend of getting these updates. Percona server is actually following the minor versions slightly later than the Oracle. This one of the major reasons if column agrees is the backup, extra backup on new works on the latest version of MySQL that Percona releases. So if you are an open source and using extra backup as the backup utility, you actually need to be following the Percona server to be releasing the latest support for that version. And that's how the... Yeah, it's because extra backup is tied to the InnoDB version, which is why actually Maria backup exists now as well because MariaDB forked extra backup for that sole purpose. Okay, that's a good highlight. So there's a bunch of updates on the Percona server that's also coming out and following, which is in addition to Oracle MySQL community edition. So we got some of these features, some of them includes the storage engines and lots and stuff like that. So you can check those out. There's an advantage of using Percona's open source version versus the community edition that Oracle provides. I think one thing that we haven't mentioned over here is these minor versions of MySQL is one way. So there's no rolling back to the previous version. And Colin will say something about that. Yeah, it's true. It's actually a problem. So if you're planning your upgrades, know that downgrades are hard. So take backups. Yeah, this is a little bit different in the MariaDB world where forward and backward compatibility is actually still kind of primed. Yeah, so this is important. Remember, anyone is thinking of upgrading, you need to plan how you actually circle back into the old version or failover. If your data set is large, if your transactions are high, this is a difficult task that you need to handle properly. Okay, so there is something that we've compiled in the past, comparing the Enterprise Edition versus Percona server versus the Community Edition. So these are the updates that the Percona server provides. You don't need to pay for the Enterprise Edition, but you can actually still use the Percona server to get some of the features if you're using. And there are some things to check out. Okay. All right. So my rocks is a nice little storage engine built on top of rocks DB basically developed by Facebook. In fact, Facebook is mostly running on my rocks now. They've migrated nearly all their entire fleet to my SQL eight with my rocks and this raft replication layer. So the reason for them is it's because it's much better from a compression standpoint. So compressed in a DB is not as efficient or space efficient. And they also want right efficiency. So in terms of translation, this is hardware savings for you, right? And it turns out that if you lie in the cloud for already fairly long time, my rocks has been enabled in the Maria DB distribution of Amazon RDS. So maybe it's a bit of an underrated feature of Maria DB. But, you know, it's it's an engine that probably could use a lot more marketing besides the fact that, oh, yeah, Facebook's migrated to it and on nearly it's a diet fleet. So I think both Percona and Maria DB probably need to spend a bit more time on it. Next slide, I guess. And then this is how they my rocks actually handles like I call and said it's mostly hardware and the storage savings. It helps in the compaction and the compression of the data. And that's where what from our friends at Facebook saying that they were running out of space because of the data that's being used. And this helped them save storage and the storage needs that needs planning in advance. Okay, so popularity on my scroll is going very high. Still strong in the community. We're still number two and considering Oracle. I don't know if it's like Oracle. My scroll is that's Oracle Oracle. So that's the ranking. Okay. And this jump is the snowflake, by the way. So that's an interesting highlight. That's how the snowflake actually made that jump over there. Okay, some, some talks about the proxy and proxies. Yeah, I expect that if you run at scale, you probably will end up needing to use some kind of proxy be it HA proxy proxy SQL router. My scale router is actually default configuration literally for your. You need to be clusters proxy SQL or HA proxy for your Pocona CDB clusters or your gallery clusters. And then of course, Maria DB also ship something called Max scale. But that's a under a business source license. So not very not as popular as you'd expect because you got to pay for the service behind it. But it's a good, good proxy. Just badly licensed. So the, the long story short use a proxy if you're using my scroll. So that's the basically the best practice to put a proxy in front of a master source. And there's a lot of talks and a lot of content blogs about this. If you haven't used heard about any proxy, check those out. And we talked about the proxy SQL is the most popular and common proxy for my scroll. And the Maria DB is max scales competing product, which the later versions actually more licensed. And so the proxy vision is, is basically put proxy in front of your database server. It take advantage of, of the read write splitting and query routing and some other features that it has. And Oracle has a similar proxy vision in those levels. Yeah. So Oracle's router similar vision. He and the reason you get router proxy SQL and H versus he proxies. The fact that one's a level seven proxy understands SQL protocol ones like level four, just TCP IP. So a little different from that standpoint. Plenty of a solutions out there today. We've already talked about the group replication and Ruby cluster. You've got Gallera, of course, go to Gallera talk. Clouds, plenty, plenty in the cloud. Maybe with us. Yes. It is the support show them. So we'll just go through the tooling. There's a bunch of tools available. Open source tools that you can actually orchestrate your proxy. And some of those are highly used in the day to day operations of, and one of that stands out as a background toolkit. If you haven't heard about it, please check it out. The trending topics will run very fast on this one. There's operators. Of course, in the, in the communities world, we got a lot of operators. And my school is, is leading and there's a witness for shopping framework for, for my school group replication girl for HA solutions. And there's a bunch of tools and utilities that allows this ecosystem to be run. And I will go through real quick in the operators. There's a known operators as a paracord of communities operators, that's for the extra DP cluster. So it allows to run database in data on communities for state for workloads. Press labs has its own and we test actually runs on operator. And also my school, Oracle my school operator came out within the realm of group replication to handle data on communities. And we can skip those. And we have a bunch of books available in the milestone. And one of them is the one that I co-authored with Smetha tomorrow. We will have a session about this and hopefully have a book signing also. Thank you.