The State of the Dolphin
Manage episode 411964155 series 3568157
Wim Coekaerts, Executive Vice President of Software Development at Oracle joins Fred and Scott for the inaugural episode of Inside MySQL: Sakila Speaks. Wim gives us an update on the "State of the Dolphin" and discussed where MySQL fits into the landscape.
--------------------------------------------------------
Episode Transcript:
00;00;09;13 - 00;00;31;20 Welcome to Inside MySQL: Sakila Speaks, a podcast dedicated to all things MySQL. We bring you the latest news from the MySQL team, MySQL product updates and insightful interviews with members of the MySQL community. Sit back and enjoy as your hosts bring you the latest updates on your favorite open-source database. Let's get started. 00;00;31;25 - 00;00;54;01 Hello and welcome to Sakila Speaks, our new podcast, dedicated to MySQL I'm Scott Stroz and I am leFred. Who better than Wim Coekaerts to be the very first guest on our new podcast. Wim is the Executive Vice President of Software Development at Oracle, is a well-known developer in the open-source community and a leader in several projects such as Oracle, Linux and Virtualization. 00;00;54;12 - 00;01;16;08 Oracle Enterprise Manager, MySQL and Heat Wave and various cloud services. Wim has a degree in Computer Science and from the University Catholique the Leuven in Belgium and has been working at Oracle since 1995. Wim, thank you for joining us today. We're really excited to hear about your work and your insights on the Dolphin database. Thanks Scott and thank you, Fred. 00;01;16;15 - 00;01;39;03 It's great to be here, happy to open the first podcast. So, Wim, what excites you most about MYSQL right now? Oh, there's some stuff going on, right? So I think the number one thing is the fact that we're doing a very important and great cloud service. And I know that we talk a lot about on premises databases and so forth, and obviously that's very important. 00;01;39;03 - 00;02;01;00 And the reason I mentioned the cloud side is because there's a lot of opportunities that we now have as a development team that allows us to make MySQL much better than it ever was. And the primary driver for that, and when I bring this up is because in cloud we are the DBA, we are the ones that actually have to deploy the server. 00;02;01;00 - 00;02;38;13 We have to go and do the backups and understand how that works and set replication and so forth. And it gives us a much better insight into the use of the product than we ever had before. Right? And I think that's the one thing around cloud that ask me the most is that from a development team point of view, working on a product like MySQL server in that we get a lot more input directly instead of working from customer to potentially running into a bug or getting feedback, but there is always a certain amount between the customer and our development teams. 00;02;39;00 - 00;03;04;27 And, so, with cloud we become that customer directly and it gives us a lot more direct experience and a feedback loop that's internal. And, so, a few examples of that would be a first of all, scale, right? We run thousands and thousands of servers now in production, right, for our customers, but we are the ones running it. And, so, we have to deal with performance issues. 00;03;04;27 - 00;03;34;24 We have to deal with potentially, you know, bugs that appear, how to debug that and making sure we get these bugs and security vulnerabilities and everything fixed really quickly for that that they're out there. We have a huge test farm, you know larger than ever before again because of the scale of cloud. And we learn a lot about how we can do things more easily because of automation and how to change the product to support that automation. 00;03;34;24 - 00;04;01;29 Right? And all of that stuff actually goes back into the product that is known as MySQL Server that, you know, goes both into the Community Edition and Enterprise Edition that that customers and developers can download and install locally. And so, you know, both inside of Oracle and inside the development team and from customers, there's this feedback that says, well, you know, you all need to talk about the cloud development and what's in it for us. 00;04;02;16 - 00;04;29;06 And I think that what I just mentioned really is what's in it for everyone else. The bugs we find, the performance issues, we find they all go back into the product. The enhancements we make to simplify things and, you know, feedback from our own use almost back into the server. Of course, when it's applicable to the server and not something more around a control plane in the cloud itself and the orchestration. 00;04;29;18 - 00;04;59;04 But there's a lot of that stuff that goes back into the product set itself. And that's you know when I say most excited that's probably the, the number one. Then I would say secondly, you know, we are also doing things that are very innovative. And again, some of this is cloud only, such as working on the heat wave engine and working with machine learning and artificial intelligence integration. 00;04;59;05 - 00;05;21;07 So certainly, Gen AI work in vector database support and improving the optimizer for some of this work. And I wanted to point that out again as well. So, as we did Heat Wave, which is specifically tied to the cloud service side, we have to make a great number of changes on the optimizer in MySQL to support that. 00;05;21;20 - 00;05;45;23 And by doing these really, really high end incredibly fast areas. And you know of course running benchmarks like TPCH and TPCS and so forth, we learn of a lot of potential deficiencies in the older optimizer. And so now we're working on hyper graph a lot more and where we're enhancing that and that will benefit again everyone else as well. 00;05;45;23 - 00;06;12;22 They use heatwave or not, whether they use the cloud or not. And so anyway, so I think, you know, our development teams are really working on cutting edge stuff. We just released JavaScript support in MySQL in ...on OTN - Oracle Technology Network - for download that everyone can use for testing development freely downloaded, and that brings JavaScript support into MySQL Server itself. 00;06;13;07 - 00;06;43;29 And then of course we have my router which added support for REST API calls a while back. And so, if you think about it, you can now write an application, let's say from your cell phone you have a basically a cell phone app or a mobile phone app that just does REST API calls to MySQL Router and from MySQL Router direct API calls go into the database and your business logic runs in the database itself and gets the data from the database. 00;06;44;10 - 00;07;12;10 So, you don't need a real middle tier anymore. And you can simplify data access and the actual business logic all combined into the server. So, it's pretty unique compared to all the other databases that ask directly competes with the implementation of JavaScript using Graal VM and as some of you might know with Graal VM we might also or will also start supporting other languages in the future. 00;07;12;10 - 00;07;42;23 So think about Python in the database and of course Java in the database. Those are all roadmap items. Can’t give you specific dates on that because you know, we're just beta, which we had one, but in the end we are moving forward with a good ecosystem of multilingual support in the database directly that supports, you know, a better security model, faster access to data, because the data and the business logic run within the same environment and everything from at with the router. 00;07;42;23 - 00;08;08;00 And then of course, you know, I'd say one last thing here. The VS Code plug in that the team has worked on and since VS Code is one of the most popular IDEs out there today, that of course, you know, it has so much functionality built in now with perf hub support as well as you can see performance data right included in the in the editor and of course direct connectivity with your database. 00;08;08;00 - 00;08;35;04 So there's a really nice ecosystem around developers with VS Code, with the router, with rest APIs you can use or the Oracle REST Database Service as well if you want that supports MySQL as well. And then of course, all the all the stuff that we're doing around cloud and security that ultimately flows into my MySQL server. So it's a very long answer to a short question, but obviously there's tons going on. 00;08;35;09 - 00;08;55;22 Well, when there's a lot of stuff to be excited, it's good to have a long answer. Why do you think MySQL is so popular with the top open-source projects? It always has been, I suppose. Right. And, you know, I think it's just a continuation of the of the past. So,MySQL was really fast and still it's really fast. 00;08;55;22 - 00;09;37;25 It was really simple to get it right next to the list really simple to install and getting up and running. It's so it's really easy to install and it's ubiquitous. It runs on every operating system in every CPU architecture you can think of. And so, if you want to build an app and have flexibility and have a very small footprint, let's say a raspberry Pi, which with for applications running MySQL server, it works just fine and all those areas and because a lot of the drivers are in standard and the standard package is a lot of the libraries support MySQL out of the box open-source tools and open-source libraries and 00;09;37;25 - 00;10;05;09 SDKs and projects there is very little additional development to do to get going with MySQL and so you know that's that was an I think still into the main driver and will continue to be. And I also think that we have, you know a lot of work on MySQL server over the years and obviously are still heavily, heavily invested in it and continue to do so. 00;10;05;24 - 00;10;45;26 And it shows the community and the users that, you know, we are our in all of this and, and it's important. So, it's a great it's a great platform. Yeah. Thank you. So, because you were talking about the MySQL community. So where do you see the future opportunities and direction for the MySQL community then you discussed about the like and now even the application or the system inside the database, which was something, for example, that we were not doing much in MySQL due to get to slow procedural kernel not that good. 00;10;46;05 - 00;11;08;03 So now with all this stuff, do you see this is the direction that we need to go? I think so, and I certainly hope so, because that's, you know, that's what we are working on. The you know, there is a lot of complexity in sort of the existing world today. Right. You have to install the middle tiers, you have to fill the databases, you have to get the clients going. 00;11;08;04 - 00;11;36;24 I think that cloud application development forced people to start using REST APIs a lot and automatically disconnect. So again, for us to put more effort into support for APIs as a front end to a database makes it a lot easier for new developers to get started That might not have database experience. So, it opens up MySQL to a broader development team. 00;11;37;07 - 00;12;04;08 Unknown But also, you know, the scripting language in in MySQL and other databases. Lots of developers don't really learn that anymore. They want to use something that that they use for their everyday job. And so ,if lots of people are using Java and JavaScript and Python on the in their in their job for developing applications every day and then have to switch to a different language in MySQL or in another database. 00;12;04;19 - 00;12;27;10 that's an actual learning step. And if you don't do it all the time, there's always the startup time that basically is a waste of time or an extra amount of effort that that people don't really like to do. And so by making it really easy to access the data, then it makes it a lot easier to build and much faster to build applications. 00;12;27;10 - 00;12;55;03 And then secondly, we obviously are very focused on ensuring that MySQL Server, whether you run it on prem and whether you run it in cloud with our MDS service, MySQL database service, that that remains the same. And so that when you develop locally with an deploy and cloud which happens more and more for everyone, that's sort of the nature of how the IT business is evolving. 00;12;55;11 - 00;13;26;26 It makes it a lot easier to make that migration stuff and adding HeatWave on top of that again, we could have made HeatWave an independent service with its own access layer, but since MySQL is so popular and well known and easy to use, having the HeatWave engine built into MySQL and make it basically transparent allows us to expand that whole environment without the user or the developer having to make any application changes. 00;13;27;10 - 00;13;50;17 It will help you want to do data warehousing, no problem. You want to ingest data from object storage through Lakehouse. No problem. You want to do machine learning on your data. It's all in the same database. And so, I think one direction being cloud and I think that the MySQL community in general, yes, that's good for for the community as well. 00;13;50;17 - 00;14;24;25 It's not just about the on-premises installation of the server, but in general things we can do in this... in this case. And so that will be the I think the main opportunity and direction for the server. And then you know, Gen AI and to... Gen AI has sort of two angles to add. One is how can we provide MySQL with better support for developers that want to do their own interfaces and applications on top of Gen AI. 00;14;24;26 - 00;14;57;26 And then the other aspect of it is how can we create sort of a natural language interface to the server so that you can basically say, please get me all the data from that, every department where, you know, employees have been out for 3 days and I'm just making something up on the player. But basically you can, you can have a natural language sentence which we then transform into a SQL statement in the back end towards MySQL. 00;14;57;26 - 00;15;26;09 Well, it's just an example, but you see a lot of that type of stuff being worked on at Oracle, but also, of course, our competitors. And it totally changes how we interact with products and also change how interfaces are designed in the future. I think that is something we want to make sure MySQL is part of as well and stay current with this stuff. 00;15;26;09 - 00;15;50;17 Awesome. As we mentioned before, you're a pretty prominent figure in the Linux ecosystem. If you were to compare the MySQL ecosystem to the Linux ecosystem and what would you say are the biggest differences between the two? Well obviously, you know, when we talk about Linux, you know, are we talking about Linux, the kernel development or are we talking about Linux distribution environment, that all operating system environment? 00;15;50;17 - 00;16;11;14 Right. So, there's so I think, you know, for one, there are two Linux ecosystems and so let's say we'll take the Linux kernel as the of the ecosystem to compare that because it's, you know, one development for, for something pretty big, the you know, to me the main difference between the two is that with MySQL they do all the development. 00;16;11;24 - 00;16;40;16 So, it's basically MySQL development driven from one company slash organization with some contributions. I don't want to... obviously people report bugs. Can people test our software and find problems that need to be fixed or in some cases some companies will provide some code to us. But by and large the bulk of the work is done by us. 00;16;40;24 - 00;17;19;19 By the Oracle MySQL Development Team. We're of course with Linux kernel development that is done by everyone. There is no specific owner, there is no particular organization that's providing the bulk of the code. It's quite well spread across and you know, there's advantages and disadvantages of both. But, but I think that that is the main difference is that from when we speak, when we talk about MySQL community, in MySQL developer community, we're really talking for the most part about developers using MySQL as the underlying database. 00;17;20;10 - 00;17;46;27 Whereas when you talk about Linux, then you either have the Linux developer community around the Linux kernel or various Linux ecosystem, you know, distribution, libraries and such or Linux developers, which are really application developers that use Linux as the underlying buffer. Right? And so it's really the latter where, where you could have that comparison in other ways. 00;17;46;27 - 00;18;17;25 They are, you know, that's the big difference with the bulk who does the bulk of the development and the contribution. Now, I think that that the connection with MySQL from a user slash developer is much tighter than with Linux because the Linux side, you pick a distribution, there's many of them, but there's also tons of developers and windows and tons of developers on Mac OS and you know, other other platforms that that are still used out there. 00;18;17;25 - 00;18;42;09 And MySQL is on all of those platforms, right? And so, I think that the main differences are one, the developer community and the role that they play. And then two the again, ubiquitous does deploy many of MySQL across operating systems. So, a developer doesn't necessarily need a tie to a particular OS to do MySQL development. 00;18;42;09 - 00;19;21;07 And so, I think that those are the the two big differences that I can think of. And, you know, quite frankly, when you when you do when you study computer science or so in general, operating system development is something that is more often than database development. And I'm talking when I'm talking about learning SQL or something like that, I'm talking about building a database itself, building the code for doing an optimizer and so forth that is not as widespread in, in universities or colleges or so. 00;19;21;07 - 00;20;01;06 And so, it's easier, I think, to start with an operating system, certainly with Linux and do some development and fix some bugs and and so on. There's there's more generic knowledge around that, which probably makes it a little bit easier to open up. But one of the advantages, again, that MySQL has over other databases out there, certainly other open-source databases in and in colleges and higher education is that it is your one platform that tends to be used for teaching database development because it is still relatively small in size and it is well compartmentalized and easier to do code reviews of it. 00;20;01;06 - 00;20;32;05 So, there's that. Yeah, thank you very much. So, you said earlier that because we entered into AI area, right? And to you give us a review an answer to that telling that we there is a plenty of people working on that and it would be very nice that we could talk to a database like just by a human words. 00;20;32;05 - 00;20;58;23 And it will do the all the stuff for us to to get the data. So, this is what do you think it would be to the future of using the database and MySQL in particular. So yeah, you know, I guess there basically are two aspects that we are working on, right? One is how do you interface with the database? 00;20;59;00 - 00;21;28;06 And so when you talk about Gen AI and it typically would be, you know, in national natural language to SQL pace, which would be powered by an AI can do text voice to text and then go from text to SQL basically right. And that's a multi-step approach and it's not easy to build those problems and take care of the aspects. 00;21;28;06 - 00;21;57;19 It's the multi-stage way from language to an actual SQL statement that would reflect what you're what you're looking for. So, it's it's pretty complex, but we are certainly looking at that and and working on it. But but I think the the more important part of work we are doing is vector database support and making it possible for MySQL to be used as a backend for various AI models to run. 00;21;57;19 - 00;22;27;08 And one of the things that I try to become more and more important is in a Gen AI I like ChatGPT 4 or other, you know, they're all very similar is that by by default they have a certain amount of of data that's basically public, right? It's ingested from public sources. And and when you do queries or ask questions, so to speak, then it returns results based on the data from that. 00;22;27;22 - 00;22;54;02 But and more, it's becoming obvious that you want to ensure that the responses are based on data that you validate and, you know, are in fact correct. And one example would be at Oracle if you want to know something about an Oracle product, well, there are many question answers on the Internet that are completely wrong or wouldn't be optimal for our for our customers or what we know. 00;22;54;02 - 00;23;36;01 But we internally have a massive source of data, whether that service request for customer issues or internal development docs that have data that's useful or our own documentation and our own internal or external communities and forums that have questions and answers that we answer to our customers or partners or developers. And so, when we can point to all that data and then run a model on top of that, then those answers will be able to be validated and we can provide the source of truth for for the questions that come in. 00;23;36;26 - 00;24;14;24 And in order to do that, you need something like vector database support and and such, which is what we're working on with MySQL. And so I think that is the real-world applicable stuff that we that we do and I think will be useful for MySQL more so than the natural language interfaces in the natural language interface, which is kind of a it's kind of cute to say that I don't know whether, you know, it will really amount to super valuable and useful work as it's more providing a frontend to to, to MySQL 00;24;14;24 - 00;24;41;07 And like I said, others are doing the same thing. It's sort of natural and ethical for, for folks to look at natural language to, to the interface of products these days. So, where that goes will see. But that the more important part is support for vector database in MySQL and again bring MySQL itself into that new market so that it's relevant in the future as well as current and past. 00;24;42;15 - 00;25;09;02 Yeah, thank you very much. Yeah, it's a really awesome that all we do. And I've just had some stuff it that I will talk in future a little session so it's very nice and yeah, I hope we will continue later and so I would like to finish too, but with a small question. So let's see if we can end our first podcast with a quiz and the I have a question for you, Wim 00;25;09;08 - 00;25;39;14 So do you know the name of the MySQL Dolphin? I do, and I wasn't I wasn't told what it was recently, but yeah, of course it's it. I might pronounce it incorrectly, but Sakila of course, the name of the dolphin. And as as I hope you appreciate, I always say MySQL I don't know. But at the same time, you know, we always say SQL when we talk about the SQL syntax, and it kind of rules off the tongue. 00;25;39;25 - 00;26;05;13 And so, you know, sometimes I will say “my sequel”, but, you know, I know that we have to ensure that we respected the naming of the the product and the work from so many people over so many years. And so I do my best to focus on “my ess queue el” and for when we add new developers onto the team, we you know, it takes some time sometimes and, and you know, it doesn't always work. 00;26;05;13 - 00;26;28;29 But most folks start to say “my ess queue el” as they get more and more involved in it. And I think that helps. I think it helps show respect for the product and service that people work on. So, I do feel that it's important for everyone to focus on that as well. But at the same time, you know, if somebody says “my sequel”, I'm not going to get all bent out of shape about it. 00;26;29;24 - 00;26;50;21 The natural mistake to make or change. But yeah, awesome. Wim, thank you so much for joining us today. We really appreciate it. And I know our listeners are going to appreciate it as well. My pleasure. That's all for this episode. Thank you to our guest Wim Coekaerts, and thank you for listening. Please join Scott and I again next time for another Inside 00;26;50;22 - 00;27;17;17 MySQL: Sakila Speaks. That's a wrap on this episode of Inside MySQL: Sakila Speaks. Thanks for hanging out with us. If you enjoyed listening, please click subscribe to get all the latest episodes. We would also love your reviews and ratings on your podcast app. Be sure to join us for the next episode of Inside MySQL: Sakila Speaks.
5 odcinki