 This Peter is not here yet. MariaDB is basically six years old, launched in February of 2010, our first GA release. Drizzle never really made many releases. They never really got too much adoption. And we'll go into why they kind of didn't quite work out, I guess. Anyone use Drizzle before? OK. And Web Scale SQL was announced in March of 2014 as anyone heard of or use Web Scale SQL. Interesting. And Web Scale SQL started off as a consortium of companies deciding to actually make MySQL better. And these companies, it turns out, have a lot of MySQL hackers. Facebook probably easily has 30 odd, maybe even 40 MySQL hackers. Google probably has close to 20. The folk at Twitter have at least two or three. So it turns out that the MySQL hacker community outside of MySQL is also pretty vibrant. So you kind of go through a little bit of a history of MySQL. It's because you kind of have to know your past before you know your present and future. Going to take a wild guess that many people didn't use Unirag. Did anyone here use Unirag? I wasn't even born. Yeah. Monty actually started making a text user interface to an ISAM data store where the rows were written to disk and the indexes were kept on top of that. And basically, he had this setup where you would actually have forms to enter data. And this is where you see these FRM files that, if you look inside your MySQL data directory, where they come from, they're actually forms to enter data. So if you think of it in the way of how access is a database, you enter stuff into a form and it stores in a database. Then, sometime along the lines, you'd see that MSQL came as freely available but not open source. So Monty basically decided to plug the ISAM data store to MSQL. And then in 95, when the internet was starting to get popular, I mean, I'm going to take a wild guess here that most people got their first internet connections here around 94, 95. I mean, that's when it started becoming pretty available to commercial users. AL started sending out free CDs, Prodigy, et cetera. I know this because they'd send the CDs to Malaysia too for some absurd reason. So Monty alongside Larson and David X Mark founded MySQL AB in 95, 96 was one of the first releases that one would say was very usable. It powered things like SlashDot. People still read SlashDot, yes, maybe. Well, SlashDot was all the rage. Maybe today it's hacker news, I don't know. And then in 2000, Monty and the rest of MySQL AB made a pretty phenomenal decision to actually make it GPL, make a database of a GPL. It was also shortly thereafter, and I guess many of you probably also use Linux, using Linux in 1995 or 2000 versus 2016 has got a vast difference. Like in 1995, you'd probably have to work out how to write a modem driver. Today you just plug it in and ETH0 just works magically and who uses modem anymore. So shortly thereafter, they decided that a good way to make money would be to actually create a dual license especially around the client library because it's hard to make money from, well, it's hard to get GPL software embedded, I guess. And then the holy grail was statement-based replication. So you didn't have to scale up, you could scale out. It's not the best form of replication as you'd see later on. We introduced things like row-based replication but statement-based replication means you could buy many, many cheap white boxes and actually have reads scaled out. And if you think about the evolution, May 2000 is when you'd have statement-based replication and in the Postgres world, replication out of the box basically only came around September 2010. So huge delta before out of the box Postgres became as usable as my SQL from a replication standpoint. 323 was probably very popular and was at one stage one of the last client libraries that were actually shipped because of the license change and it took a lot of convincing till maybe around 2004 or five before other Linux distributions started shipping the LGPL client library with the false exception. 2001 also brought NODB which presumably all of you use today who here does not use NODB? That's what I thought. And NODB brought transactions and VCC. It wasn't my ISAM any longer. If it crashed, it could recover. And many people were excited by this. It made my SQL a real database, real. It was always a real database. And then in 2001, you'd have VC dollars and Martin Mikos comes over from SOLID to actually become the CEO. He was the CEO till he led the company to an exit actually. And in 2002, my SQL also did something quite interesting. The Newsphere case with the Gemini storage engine was basically the first test of the GPL and the Cots. It showed that the GPL is actually enforceable. Gemini was eventually open sourced but then abandoned and if you're still interested in finding the Gemini engine, Anthony Curtis who occasionally comes to these scale events actually has a tree sitting on launch pad, possibly now GitHub that you could take a look at. 2003 with Series B money was also the time that engineering was invested in really heavily. We had a huge growth spike in terms of engineers and everything else that came along with it. And it was pretty interesting that when 4.0 became GA, there were two alphas at the same time as well. It turns out that shortly thereafter, SAP was also realizing that it makes sense to make my SQL a real database. They wanted views, they wanted triggers, they wanted stored procedures, et cetera. And at the same time, they had this idea that it might make sense to also create another SAP compatible database called MaxDB, written in Pascal. You can still probably download the sources to MaxDB and get it running with Free Pascal today. I haven't done it in quite some time but Free Pascal ships at least in Debian. 2003 also meant that Alzato got acquired and that brought in NDB cluster and pretty much every other cell phone home location recorder runs NDB cluster today, I would say. It gives you five nines uptimes and it's improved tremendously. I mean, previously it was only in memory storage, then it gave you on this storage and Oracle has put huge amounts of effort into making NDB cluster better today. In fact, deploying NDB cluster, upgrading it, used to take like 54 commands or something. But now Oracle has actually, at least from open world last year to now, have improved tremendously how you'd manage NDB cluster thus making it possibly more usable and usable database. As in you didn't have to be spending millions of dollars and figuring out how to actually do stuff. So I think this is going to be really interesting going forward as well, so kudos to Oracle. In 2004, 401 became GA and then you also have NDB cluster and it turns out that because of all that money we had raised, pretty much all the excellent developer community got hired. If you wrote a patch, you probably got hired. If you hung out on the IRC channel, you probably got hired. You probably go through like five or seven interviews but getting hired was really, really easy because if you were passionate, company had the money, they would pay you to work anywhere. And then 2005 brought us the 503 and frankly that was one of the first releases that I had noted where the ABI got broken when it became GA. It was broken actually by Monty and one of the first things I had to do was tell Monty, hey, you broke the ABI. It was kind of a terrible release but it had lots of enterprise features. So it had the views, triggers, thought procedures. It was definitely driven by marketing and I would say that even internally to get it running on say Eventum which is a support database, it took close to like a year. So it became GA quite much later. Now, something else happened. Oracle decided to acquire Inabase, the makers of InnoDB. So Oracle has had its foot in the MySQL world since 2005 and we were all terribly worried like, oh my, we need like a transactional storage engine. How is this possible if our competitor owns a transactional storage engine? So Monty started with a few engineers, the Maria project to make a crash safe and transactional version of my ISAM. When times of crisis hit, the next best thing to do is raise more money. So we took even more investment and that meant we could now acquire net for structure and give you the Falcon engine, which was supposed to be able to store blobs, was good at blobs, was a gym stocky engine, had MVCC and was meant to solve the InnoDB problem. And at the same time, we said, look, we're not gonna just be dependent on my ISAM and InnoDB and our Falcon. We want everyone to write engines. We'll make a pluggable storage interface so that anyone can write an engine. And I just hated, there are probably like 40 pluggable storage engines out there. Like you could stream HTTP inside and you could do write to S3 buckets and so forth. As for quality of the engines, they vary tremendously. So not all were fully supported and so forth. So we were the only database manufacturer with a pluggable storage engine architecture. This is not true anymore. I mean, today you have MongoDB with storage engines for now about a year, plus you have Postgres, I think, talking about it as well. It turns out that MySQL cluster development was starting to happen at a rapid pace. They said the server is being developed too slowly, so we're gonna fork internally. So MySQL cluster actually had its own fork. Might have been the first MySQL fork sanctioned by the company. And they put cool stuff in, like row-based replication, circular application, online DDL, all this in the cluster fork. And NDB, because it was bought and then tacked on to the SQL interface, was actually probably the first no SQL engine out there because you could have other interfaces to NDB without a SQL interface. You could use it as a key value stop from the start. You could use LDAP front-end with NDB backend and that worked as well. So when people think that forking of MySQL only happened shortly before Oracle picked it up, NDB had already forked years ago. 2006 also brought along another engine, PBXT, which was, again, in some instances, performing better than NDB, especially right before they kind of killed it. It had a log-based design. It had pretty good performance. But sadly, you don't really hear a PBXT much anymore. It only got shipped in a few releases of MariaDB before it died. And you think, right, what makes engines different? And there are a whole bunch of things, like how it's stored, maybe on disk, the type of indexes it uses, does it support transactions or not, locking levels, caching, backups, foreign keys, all of this was basically given to the engine to handle. And this is a different way if you look at the MongoDB world, how they're actually giving you things like GIS in the server. They're actually giving you things like many other things in the server and the engine doesn't have to provide as much. So it's much easier to write an engine. And anecdotally, you can see that the RocksDB engine that Facebook is basically running in production with something called MongoRocks for the APAS servers today. And it took them less than a year from the time the engine interface was announced to the time that this was integrated and running in production, which is phenomenal because getting an engine in the MySQL world stable in less than a year and in production, pretty hard task. So November 2007, MySQL 6.0 alpha came out as well and we were regularly working on the 5.1 tree. We spent most of 2007 being extremely quiet. We were planning to IPO the company. 6.0 brought interesting things like online backups. So in-server online backups. And there's not much of this that's still available on the internet today. I think all the trees have been taken down except if people still have copies. But there is at least one video on YouTube that talks about online backup. History gets erased pretty quickly on the internet. So obviously we didn't IPO, Sun bought us. And shortly thereafter, the Drizzle fork started. They realized that they should fork MySQL 6.0, make it modular, make it more microkernel in terms of an architecture, have UTF-8 out of the box. And this was a special team within Sun Labs that could work on this. November 2008 also brought the 5.1 GA. And there's a theme building up here. When 5.0 was GA, it was clearly not a GA release. When 5.1 was GA, it was clearly also not a GA release. And then, but, but, Monty discovered how to blog. So he actually wrote this really long blog post about bugs in 5.1. So you can kind of tell that Monty was getting ready to exit the company sooner rather than later. Now, a lot of people don't give much thought to RDelta binaries and the work that RDelta did. Anybody remember RDelta? Okay. RDelta actually decided that they would take on these patches that were coming from the community and actually make binaries, make supported binaries. And their only claim to fame was, look, when we give you these binaries and RPM repositories and Debian repositories, back then no one else provided this, you could, the only thing they'd expect in return was you to actually file bug reports or if you felt like you needed to buy services, you could visit Open Query. That was actually pretty interesting. And they built the system called the Bakery which survives till today because MariaDB makes use of the Bakery to some extent. It's a pity that they stopped building binaries and I guess it's largely because resources were crunched and they were building largely on Percona's patch sets as well and Percona decided that they would stop making a patch set and actually release, I think was it one, zero, two. So around December 2008 is when Percona basically said, here is Percona server one, zero, two, enjoy. And it wasn't called Percona server, it was probably called Percona SQL. They had a whole bunch of names before they actually settled on Percona server. They even had these bills called the Hyper for bills. And that graph I show you there is picked out from 2009 when Flickr themselves said they had migrated to the Hyper build and they made it public that they had done that. So Flickr was one of the early adopters of the Percona server Hyper build. And you would see that Wikipedia had a patch set that came out from DOMAS. That was an InnoDB plugin for AIO read improvements. And a lot of other Percona patches overall. So Percona, Google and Facebook were the people who were actually making my SQL better even then. And our Delta again were taking the Percona patch set and putting things like the micro slow patch for slow queries. They had a faster master promotion which they taken out of the Google patch. So there were all these little patches that they were actually building binaries for. So that was an active ecosystem then too. I should probably also mention at some stage that was proven scaling in between who are republishing my SQL enterprise binaries because they had bought a subscription and then they'd given it to you, binaries and source. In February 2009, Monty basically decides to leave Sun. And you will actually note very carefully that it was only in April 2009 that Oracle proposed to acquire Sun. Monty had already left Sun before Oracle had proposed to acquire Sun. This part of history occasionally seems to get muddled. There was also a final 6.0 alpha release which was kind of pretty much dead. This was the last of the 6.0s. Basically at this stage, you would see that Falcon was dead. Drizzle was not looking very promising. But what did happen after Oracle proposed the purchase of Sun was that Monty program was started shortly thereafter. And that was a long battle in the EU. And all this happened at the MySQL conference in Santa Clara. It didn't take very long before there was a beta release of MariaDB 5.1. There were a whole bunch of MariaDB releases in between which is why you'd understand eventually this numbering scheme where MariaDB goes from 5.5 to 10.0. It was because it took time for Oracle to actually buy Sun and it also took time for Oracle to actually make a GA release from 08 to 2010. But when 5.5 came out, it was heralded as a pretty good release. People really enjoyed 5.5. In fact, MariaDB rebased on 5.5 as well. So you'd realize that the 5.2 and 5.3 trees were built on 5.1, but 5.5 was built on 5.5 as well. And it didn't take very long for Percona to release Percona server 5.5 stable as well. And there are obviously various things being peppered into releases. Like 5.2 had the idea of virtual columns. It was a release that was filled with community features. 5.5 had a lot of InnoDB performance improvements that came from Oracle as well as MariaDB and Percona. You'll now note that there was a pretty huge delta to get MariaDB 5.5 out. It was 16 months after my SQL 5.5, and that was largely because of all the merging and the code changes that had gone in when it became clear that this model of merging with such huge changes, especially in the optimizer, was probably quite unsustainable. The MariaDB foundation, anybody heard of this one? Okay, so yeah, they announced creation in London, November 2012. And then it wasn't much longer after that MySQL 5.6 became GA. So here we were with 5.5 and 5.6, and we thought sometime in late 2012 that 10.0 was gonna be the next number because we knew 5.6 was gonna be worked on, but we didn't expect 10.0 to take such a long time to make as well. Around that time, SkySQL picked up MontyProgram, SkySQL being this venture-backed company, MontyProgram being a band of hackers just working, and Percona server became GA as well. And you'll notice that they also had a delta because when Percona believes in doing heavy QA, heavy testing, and they also wait for all the bugs in bugs.mysql.com to get fixed. And this is no testament to the quality of 5.6.5.6. Maybe a GA wasn't so hot, but after a couple releases, it got really, really, really rock solid. I mean, 5.6 is what powers a lot of the internet that you see today. So again, a testament to Oracle learning and fixing things and being responsive to their users extremely quickly. And then 2014 brought us MariaDB 10 GA, so kind of a little delay there. And around the same time, they realized the consultium of web companies realized that there will be a web-scale branch which they will use as a base. So Facebook uses it as a base to actually add more features inside the archery. And other companies are more than welcome to do that as well. It's probably also worth noting that a lot of Linux distributions, by the time 10.0 came out and also paid close attention to MariaDB. And Prokona also started paying close attention to Linux distributions and started working closely with the Dabian and Ubuntu teams, I guess, including with Galera Cluster. Because Galera Cluster and Prokona, actually, DB Cluster becomes tremendously important when it comes to the open stack world. Anybody use open stack? Okay, brilliant. So, ah, before we go to the talk about, I believe the next slide should be the one where I talk about codership, I'm going to tell you that there is something else that's worth mentioning as a milestone, that in October of 2015, separated by two days, MariaDB 10.1 became GA, followed by MySQL 5.7 becoming GA. So, today you have two fairly new GA releases that you can kick the tires around for. Codership, they aim for at least three releases a year and just a couple weeks ago in January, they did make a release as well. And their upstream is galeracluster.com. They've been open source for probably in excess of six or seven years. There are two major distributions of codership's Galera Cluster, that is Prokona, actually, Bcluster PXC and MariaDB Galera Cluster, MGC. And PXC is right up until MySQL 5.6 plus Galera, because Prokona has not released Prokona 7.5.7 yet. And MariaDB Galera Cluster is right up to 10.1. And there are plenty of users of Galera Cluster out there, including people like Greets, HP, DNS as a service, OpenStack, Mercado Libre, PagerDuty, AVG, the list goes on. This is something that OpenStack people love as well. Now, when it comes to the open source community, I'd say that generally speaking, MariaDB not only takes external contributions, they also are very, very kind to external committers. So after enough contributions, you can get commit rights relatively quickly. MySQL has also been very good with taking community contributions. They're definitely welcome, but so far the commits are not, and we hope that will change at some stage. And put MySQL has already moved to GitHub. It's so much easier to just submit pull requests. It's easy to fork, make a change and submit a pull request. And I'm hoping that that would change in the near future. And one of these features that I think were pretty good would be generated columns. I mean, that was a patch that sat in bugs for like maybe 10 years. And it doesn't matter if MariaDB took it five years earlier, but it's still a case of, it sat there for 10 years. If you're a contributor and you wait a long time before your feature gets accepted, you get pretty annoyed pretty quickly and go move on to something else. Webscale is much quicker when it comes to accepting patches, even if you don't work at Alibaba, Facebook, Google, LinkedIn or Twitter. Now Google is an interesting contributor to Webscale. They review pretty much every feature that goes in there and every patch that goes in there despite not running Webscale in production. And the major concern with Webscale is that everybody there doesn't want to sign the Oracle contributor license agreement with the exception of Twitter. They have made it clear in public, probably last year, April, that they will give everything to Oracle if it was given under the Apache CCLA, but they just won't sign the regular CLA. And I hear lawyers are working on this, but we don't see any progress just yet. Prokona will accept your bug reports. They will probably accept your payment for features, but they do not accept commits into their tree either. I think the other interesting way to get contributors is Google Summer of Code. And we ran this at MySQL for some time as well. And shortly after the, I'd say probably the sun acquisition, Google had stopped giving us a space in Summer of Code. And then again, MariaDB managed to get it in 2013. And it turns out that we've obviously improved the way development happens because we are shipping their code within a year, as opposed to not shipping. So a good example would be the per query variable settings that you see today in MySQL, Prokona, Server, WebSkill, SQL, and MariaDB. All of this basically came around the 5657 mark. But that feature was written by a Google Summer of Code student back in 2008, I think, or nine. So that sort of never saw his code shipping for a very, very, very long time. So a great way to grow the younger community would be through things like Summer of Code. And I guess the other good thing that we're seeing from Oracle is that they're also hiring a lot more younger developers. There are a lot of developers' names you can see in the bugs that MySQL, all the commits of people that I obviously have no idea who they are. And they obviously knew. That's really good. Now when it comes to security, it's worth always generally watching for what is known as a critical patch update. And Oracle just released one probably two days ago. The real problem with critical patch updates is that Oracle is very obscure about their CVs. They give you a CV number saying that they'd fixed an unspecified vulnerability. This is a problem. So this then gets tagged. So when MariaDB reviews the changes and Parcona does this as well, one would have to go through the changes and then figure out which commit, match which CV, and figure out what was actually being fixed. So it's a lot of extra work. And I guess this is what's making some distributions like Debian get annoyed lately. It's a lot of extra work, a little annoyed, yeah. So with MariaDB and Parcona server, you don't have to wait for CPUs or the next release. Like if the security, if the security fix warrants it being fixed in less than 48 hours, we inform the packages first and then we make a release so that everyone is on board. And for one issue, I guess MariaDB was very quick to get patched. This is the one where if you tried up to 300 times, you would definitely get a root login to MySQL, it was an error with memcom path. So yeah, I think when it comes to security, this is something you need to think about as a DBA, as a user, because security matters and making sure that things work out of the box and people can't crack you also matters. Another favorite question I get is, is MySQL dying? Frankly, no, I think it is actually at its most vibrant now, you should see the chats. Just yesterday, many people got their acceptance and rejection notices for the famous MySQL conference that happens in April. And there are people going on Facebook going, I wish I was there, why wasn't this talk accepted? I am developing this on Alibaba's cloud and it's running in production. Don't you think people would love to hear this talk? And I was going to have like a one week holiday with my family and now my plans are shattered. MySQL is far from dying. There were like 400 talks being submitted. There are at least maybe 100 hackers working on MySQL, not working at Oracle. If we add the packages and the Debian MySQL team does a wonderful job, I think they have maybe like at least eight or nine active contributors. There's a huge chunk of people working on making MySQL better. I cannot imagine why people would actually say it's dying or the ecosystem is dying. How many people here are not using MySQL anymore or something in the ecosystem? See? Though you are in the MySQL track, so maybe I should have asked this somewhere else. So you know, I think the external contributions, the people using it, the shared knowledge, and Oracle's actually frankly doing a pretty good job of running MySQL. I mean, they're making better and better MySQL releases and you benefit. And when say MariaDB does something and Oracle does something similar in the next release, that means you benefit as well. And if WebSkill does something today and you pressure Oracle to have such features or you pressure MariaDB to have such features, again, you benefit. The ecosystem benefits by having many players. I mean, look at the Linux kernel, right, as an example. And if you think it's dying, oh, that looks pretty bad. If I could turn the lights off, which they said I couldn't do, then it would look much better. Anyway, for what you can't see in blue, you'll just trust my words and realize that they run MariaDB. For what you can't see in pink, they run some form of WebSkill and are including their own trees. For those that you can see in white, they're most likely just running stock MySQL, which is brilliant. With the exception of Amazon, Amazon has got stock MySQL. They have got this thing called Aurora. They have got MariaDB. They've got lots of things and they're not really stock. They have different backends and stuff. And for that one thing you can probably see in red, that one doesn't run MySQL and I think you can probably guess why. It's a Microsoft service, so. So that's the Alexa rankings of the global top 20 websites and they're all powered by something in the MySQL ecosystem. So really, I can't imagine why you think MySQL is dying and or dead. And people like the Alibaba group, so you'll see Taobao there somewhere. They gave MariaDB multisource replication and multisource replication went on to being used in production at Tumblr even and so forth. And it didn't take much longer, I guess, from the 56 to the 57 release that now MySQL also has multisource replication. So you can see features in one tree first and today, like you see 57, there's wonderful JSON functionality which you can see a vague release in the Facebook tree and the MariaDB tree will probably get that in the 10.2 release. So I took a look at the people that actually do share stats and I guess popcorn is not the best way to actually track people, but in the absence of any statistics, we should just give you some vague stats that do exist. You'll actually realize that defaults matter tremendously. For example, MariaDB 10 has probably about 10% of the installed user base compared to MySQL 55 in popcorn. And if I'm not mistaken, MySQL 56 has an even lower, around 2% install base. So there are more 10 users than there are 56 users and that's largely because the default is MySQL 55. Ubuntu, surprisingly, has people using 5.1. I'm not sure why. Followed by then 5.0, someone's, ah, it's an LTS release, okay. Okay, so I guess the Ubuntu LTS releases are really popular. I mean, the margin for 5.1 to 5.0 is huge. So I guess there's a lot of LTS users and then you see people using 5.5 and then 5.6 and then you've got 10x less users of MariaDB and 4x less than MariaDB for Percona. So the numbers, you can go check them out at popcorn.debian.org or ubuntu.com and you'll be able to see this yourself. But today you also get stats from things like the Docker Hub, the Jujujams, they all export stats to you. So you can actually start gaining a better understanding of who's using what today. And that doesn't mean that we're talking about the top 1% of the websites out there, right? Like the Alexa Top 20. OpenStack ran a user survey of about 1,300 users and I was surprised because in the Galera cluster space, Percona actually B cluster came out first and it genuinely used to have, I would say, way more users than MariaDB Galera cluster. But this survey suggests otherwise. So that's, I guess, good for us, but we don't know how many people are using this and so forth. So well worth taking a look at and we have to rely on these user surveys because we don't really have feedback or update plugins. We do have a feedback plugin, but people don't turn it on. Also, I think this kind of survey will change the next time that the OpenStack user survey is run because as I said, now that MySQL is investing heavily with NDB cluster and Docker containers and running all this in OpenStack and making it easier for people, the next time they run this survey, probably maybe this year in October or something, you may see a marked increase maybe in NDB cluster as well. This was October, 2015, so the latest that I could get. They may have another survey before their next conference, I don't know. Okay, so yeah, you can get this from OpenStack.org, Public User Survey Report. And then you think further, I've talked about the other interesting companies, but there are also so many others, like Yahoo, Yelp, Box, Dropbox, Booking, Pinterest. If you go to GitHub and you look for MySQL-related utilities, you will actually be surprised as to the amount of utilities that are available today and the vibrancy around it. I mean, there is a great tool called Orchestrator that allows you to visualize your replication topologies and that's being used at places like Etsy, Booking.com, it's written in Go by one chap and it's amazing. So there are huge chunks of technology being developed for this ecosystem. So again, I cannot imagine why people are worried about MySQL overall. 5.7 has a whole bunch of interesting features. Some of them include turning on GTID online. There is obviously multi-source replication. There's GIS functionality, which I think is cool, JSON functionality. And there's a website called www.thecompletelistoffeatures.com that will list them all out for you. Or you could read the wonderful manual and truly the MySQL manual is wonderful. Search is not so wonderful, but the manual is wonderful. I think there will be a 5.7 talk by Dave Stokes, right Dave? Just JSON, you want it? Exactly, it will take definitely more than an hour. So 5.7 is really rocking, so I suggest you check it out. Now, I just picked on some of the features that MariaDB 10.1 still has that 5.7 doesn't. And MariaDB 10.1 is rocking and we don't unfortunately have a MariaDB 10.1 talk, so you'll have to go to the knowledge base and take a look at it. Then there's Bacona server 5.6. And we're still going to eagerly await the release of 5.7, but there are cool things there, like proxy protocol support, so you can use things like HA proxy, per query variable statements in a 5.6 release. The UDFs are great, fast index creation, web scale. Web scale is interesting because there's a lot of hype around it. There are a lot of large orgs around it, but the funny thing about web scale is one, you don't actually get bills, production-ready bills from them, except from this one fairly small company called PSEE. I'm going to guess they're a bunch of ex-Bacona consultants who form this company, and they make production-ready bills for PSEE, but I don't actually know if people are using them, but there have been some interesting changes, like you can specify in milliseconds as opposed to seconds, the read, write, and connect timeouts from the client side. There is also things like somewhat semi-implementation of an asynchronous MySQL client library and the full implementations on the Facebook tree. Super read-only to prevent writes by super users. This is also made into 5.7. The option to add the innerDB idle flush percent so you can tune page flushing, so the system is relatively idle, you don't flush so much, and you don't want to have unnecessary writes to expand the life of your flash. So some interesting changes as a base, and I believe that most of these mergers are now being actually done by Lorenius at Pregona, as opposed to being actually done by Facebook themselves, because the guy who was really into this decided he should move to another part of Facebook to make those cool Oculus VR things. Facebook has a wonderful, wonderful tree, and I highly recommend that you look at that tree. It has pretty horrible documentation, but every comment tends to equate to a feature, and in the comment message, you get pretty good understanding of what's going on. And something that just added recently was the option of max running queries and max waiting queries, so you can control the maximum number of running queries on the database and a maximum number of waiting queries as well. So if the wait limit is crossed, the queries will simply then fail. That is something you don't see in other shipping distributions. Facebook then created Dockstar, and they spent a lot of time speaking to, I guess, the MySQL folk, who then implemented it in kind of a different way, and I'm not sure which one Facebook ends up picking. And for you to end up using it, I'll give you a hint, if you download the tree, you need to actually start the server up with dash dash allow document type equals one, because otherwise it'll not work. Again, it goes back to very, very bad documentation. It's not really made for end users. It's made for Facebook. They also work heavily on RocksDB, and they also include MyRock sort backup. Facebook is into RocksDB, both from the MySQL side, as well as the Mongo side. And I guess from the Mongo side, if you're interested, go download Prokonas MongoDB server. The full asynchronous MySQL support and a whole bunch of other things. So again, I'd highly recommend you to check out the tree. You know, I initially said that we're gonna talk about Twitter, and Twitter has contributed features into the web scale branch, including things like NDB flush idle percent, which I talked about earlier. But I believe that when Jack Dorsey became the CEO, he fired a lot of people. He decided that open source wasn't so important anymore. They still do have MySQL engineers, but they haven't actually made any updates since about mid-June 2015. They, the best of my knowledge, still run MySQL. They also made a project around called Apache Cotton for MISOs. So you could run MySQL in their clustered environment. And it turns out that I believe the Apache Cotton folk were also fired. So I don't know the status of these things. And I could not predict this when I submitted the talk because they were still employed then. So Ali SQL, this one's interesting. And there is not much documentation out there except for the fact that they work in private and they actually send features either to web scale and to MariaDB. But they're gonna talk about this later in April and also put the tree out there in public for you to use. And Ali SQL is what powers Aliyun, which is their cloud offering. So you guys here have this thing called Cyber Monday. Yes, it's the Monday after Thanksgiving. Everybody goes crazy buying stuff online, right? So they have the same thing in China. It's called Singles Day. It's nothing to do with Thanksgiving. I guess if you're single, you buy stuff. Anyhow, they have these ideas that they have very hot SKUs and they have made improvements that you can do inventory deductions on hot SKUs and they're gonna be sharing more about that soon. They've given stuff like logging shutdown information as well as having persistent in-a-db auto agreements. I've put a MDev there because that one is still being worked on. And they're also working on column level compression as opposed to just row based. So a whole bunch of interesting things that are running in production for Alibaba's entire systems as well as being offered to you via Aliyun. And Aliyun is possibly gonna become something as they decided to have another data center here in the U.S. So people are gonna start using Aliyun. The non-server ecosystem is actually also quite expanded. You'd realize that MySQL is pushing amazing things they've got router, fabric, group replication. You see that VMware picked up continue and Percona has obviously still got the toolkit, extra backup, scale DBs out there. There's still things like MMM, several lines, cluster control, lots of interesting stuff. GNU Linux distributions, with the exception of Debian and Ubuntu have mostly given you MariaDB. So beware because when you ask from MySQL and go, hey, I'm trying to use this JSON stuff. Wondering why it doesn't work. Well, it's probably because you're using MariaDB and not MySQL. So keep that in mind. I guess Debian is having discussions now. They're hardly talking about if they should drop MySQL or not. And I think they have precedent on doing this once with Elasticsearch, which is kind of scary because actually MySQL shouldn't be dropped. I think variety is a good thing, not a bad thing. So you obviously have the choice of MariaDB server and Percona server in Debian. And then we should talk about where are some of these folks now, right? So Drizzle is basically dead. And the large problem with that is, is because it was a single company open source project. So there should probably be a list of things that we should write down that you should evaluate before you actually back an open source project or product. And one of them is never ever go for a single company open source project. If the company decides they're not interested in developing it anymore, there goes your project. Most of them went to work an open stack. PBXD is actually doing relatively successful with this project called TeamDrive. It's like Dropbox, but used heavily in Germany amongst the media industry, but they out of the engine business. Infobrid, last I heard was pivoting to make a Postgres engine. Kelpond got bankrupt. So MariaDB Corporation picked up some of the assets and Oracle picked up most of the crucial assets. And then Tokitec, Percona picked them up last April as well. And then there are a whole bunch of other dead engines or machines that had engines or optimized engines like Kigfire and Schroener and all that went through acquisitions. As for the future, 5.8 is definitely being worked on. I suggest you take a look at the work logs, you follow the blogs, and look out for the interesting worker behind cluster and group replication. Group replication's interesting feature that came out this week was, it also runs on Windows. This is one bonus that over Galera cluster because Galera cluster basically only runs on 64-bit Linux. Percona has said that they never aim to become a fork and they will work extremely closely with Oracle. Look forward to their 5.7. They've made one alpha release, I guess. You can see the documentation of what's being ported from 5.6 as well. As a rough estimate, it, 5.6 for Percona server, I think lagged about eight months. I guess 5.7 will be a lot less than eight months, probably a lot quicker. MariaDB 10.2, that was the planning meeting last quarter. And it's still extremely available for you to join in and plan, but there will be things like window functions, commentable expressions, making it 5.7 compatible. WebSql SQL has made it quite clear that they're going to skip MySQL 5.7 and they will maybe backport interesting features and then they will look at 5.8 closely. It's probably also worth noting that there are plenty of these cloud services available. Amazon now gives you MySQL in various versions as well as MariaDB. Rackspace cloud gives you MySQL, MariaDB server and Percona server and they have got two versions including a high availability version. Google Cloud SQL gives you MySQL, there's Aliyun with MySQL and TalkiDB, whole bunch of others that are like PaaS players. Then there's some like Pivotal Cloud Foundry which will sell you a MySQL PaaS, but if you look at the fine print, you're really getting MariaDB Galera cluster 10. So, I don't know, you have to be really careful as to what MySQL actually means to vendors and you at the end. There are plenty of places to actually discuss this and follow development and I think one of the better ones is planetmysql.com. Then the Maria developers and Maria discuss lists are pretty active. IRC hash Maria is pretty active, hash MySQL is pretty active. Percona discussions list is very active on Google groups so you don't have to start a launchpad account which I hear is a bonus sometimes. MaxScale also has a group if you're interested in that. If you're interested in Galera, Codeship Team is awesome. It's a pity that the internals list is kind of dead and a lot of discussion is happening today on Facebook and Twitter of all places. Facebook being a completely walled garden which is really hard for you to remember or search or figure out what was said before because it was on someone's wall and Twitter because you have 140 characters and how much discussion can you get there without most of it being snark. And if you are interested in Google's Vitesse or should I say YouTube's Vitesse which powers YouTube today, Vitesse's discussion list is also extremely lively and it's also a Google group. When it comes to bugs, good old bugs in MySQL works. You do need a launchpad account for Percona bugs then you need a Gira account for MariaDB bugs and just to add to your fun, if you're following web scale or the Facebook tree you need a fabricator login. So for this, it's preferred that you have either a Facebook account or a GitHub account. So you're starting to realize that keeping track of all of this is not as easy or one track as one would assume. It's no bugzilla. No bugzilla. You know, I could add the distributions as well and that's actually quite hard as well because they all have different ones. So bugs.debian.org and bugs.zilla.reda.com are actually two of the better ones as well. And then there are all these conferences and events that have a dedicated MySQL track and wow, I have four minutes left. You are actually at one of them. FOSDEM is the other one which happens next week in Brussels so if you like beer, get a flight. Then there's the Percona Live Data Performance Conference in Santa Clara in April. This one I highly recommend you to go if you're interested in MySQL because this is the old MySQL users conference. Everyone goes there to learn new things. Then they have one in Europe. Oracle Open World is great. It's expensive and it's not as big as I expected it to be but it's a great place to go learn new things and they have awesome concerts. I think Elton John and someone else played last year was a thrill. Then they have all these DB Tech showcases in Japan so if you fancy visiting Japan at some stage they have them every couple months and if you like Buenos Aires, the stakes are huge. DataOps, LATAM happens around November. Highly recommended, these are all like MySQL focused. I don't know if you care about Gartner but if you do, you'll realize that there's MariaDB, there's Percona, then there is Amazon Web Services at Oracle, if this sort of thing makes it different for you, you're more than welcome to read it. What should you use today? I think you really want to think about innovation that's happening today. Avoid vendor lock-in like the plague because you want freedom and you want vendor independence. You want to ensure you're well supported. Remember, you don't go for a company because they change their website every year. Think about it, that's not their product. There are plenty of support vendors. Some of them are here, available for you. You can also look at funding, revenue, et cetera. Stonebreaker, famous guy in the database world, I'm sure all of you've heard of him. One said that for Facebook, using MySQL is a fate worse than death so the nice folk at MySQL at Facebook decided to print that and I took a photo. I reckon that mastering the ecosystem takes a lot of time because MySQL has been around for a long time so there are lots of wide and varied solutions. Some good books that you may want to read. MySQL High Availability, I think it's the second edition. High Performance MySQL, great book co-written by Peter, totally outdated. Peter, when are you updating it? Sometime, yeah, it's up to 5.5 so you need 5.6 and 5.7. Then there's Learning MySQL and MariaDB that may be interesting to you. A project that I'm currently working on is Features.Today, it's coming soon so you can see all the features from all the varying trees. It's hard. And then a word from your sponsors. Two minutes. MariaDB Cooperation sponsored me to come here so maybe visit them at booth 511 and apparently you can win a BB-8 Sphero which costs 150 bucks, I would never buy that toy but if I got it for free, maybe. Yeah, and you can buy support, training, services, et cetera. So with that, I'd like to say thank you very much for listening. You're more than welcome to check out the slides and slide share which will be uploaded right after this talk. You're welcome to pop by the booth and we have approximately less than a minute for questions while Peter can come up here and set up. So, any questions? Yes, there will be, I guess, once I upload it and then put it on the website. Yes, there will be a link. Any other questions? Well, thank you, oh yes. Regular expressions, okay. Well, all of them use standard regular expression library except MariaDB which uses the PCRE regular expression library. So I guess if you fancy PCRE then MariaDB wins. It's also available in 10-0 by the way and no, the others don't have it. Peter, are you planning to do PCRE regular expressions? No? No. It's in a please, right? So, if that's your mind or if that's your requirements, we can add it. Yeah, so basically only 10-0 and 10-1 at the moment. Well, thank you for listening. Okay, let's.