Inside MySQL: Sakila Speaks
The Inside MySQL, Sakila Speaks podcast is dedicated to all things MySQL. We bring you the latest news from the MySQL team, MySQL product updates, and inciteful interviews with members of the MySQL Community. Sit back and enjoy as your hosts, Fred Descamps and Scott Stroz, bring you the latest updates on your favorite open-source database.
info_outline
What's in a name?
01/30/2025
What's in a name?
Pedro Andrade joins Fred and Scott to talk about how MySQL's mascot was named. Pedro shares a conversation he had with Ambrose Twebaze where they discuss the competition where Sakila was given her name.
/episode/index/show/d0cd255f-ccaf-4b55-a7da-5825f8230161/id/34959035
info_outline
MySQL User Group Spotlight: MyNA
01/16/2025
MySQL User Group Spotlight: MyNA
Fred & Scott have a chance speak with special guests from MyNA—the Japanese MySQL user association—which is one of the most active MySQL user groups in the world. ---------------------------------------------------------- Episode Transcript: 00;00;09;13 - 00;00;35;05 Welcome to Inside MySQL: Sakila Speaks, a podcast dedicated to all things MySQL. We bring you the latest news from the MySQL team, MySQL project 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! Hello and welcome to Inside MySQL Sakila Speaks. 00;00;35;12 - 00;01;04;29 The podcast dedicated to MySQL. I am Lefred and I'm Scott Stroz. Today we are thrilled to have a special guest from MyNA the Japanese MySQL User Association known for their incredible dedication to fostering a thriving MySQL community in Japan. MyNA has been a pillar bringing developers, database administrators, and enthusiasts together to share knowledge, discuss best practices and explore the ever-evolving world of MySQL. 00;01;05;02 - 00;01;31;11 In this episode, we'll dive into the origins of MyNA, their role in supporting the open-source database ecosystem, and their vision of the future of database technology. Whether you're a seasoned MySQL Pro or just curious about its vibrant global community, this is the episode for you. Today we have Kei Sakai with us, Masahiro Tomita and Yoshiaki Yamazaki and Yusuke Kashima for the translations. 00;01;31;14 - 00;01;47;21 So can you tell us about the origins of MyNA Like what inspired its creation and how has it grown over the years? 00;01;47;24 - 00;02;26;18 The origin of the MyNA is starting from the translation of MySQL reference manual, which will only exist in English and Tomita san translated into Japanese. It was October 1997. 00;02;26;20 - 00;03;05;00 Since after publishing translated version of reference manual got a number of inquiries coming into my private mailbox. 00;03;05;02 - 00;03;43;01 Then I felt like I should create a mailing list. So, it was in January 1998 Tomita san created a new mailing list. After a while there are, discussions going on. Then year 2000, the major members of a mailing list gather together to have a drink. Then they decided to take a domain name, mysql.gr.jp and also they formed a user group, name it iMySQLPeople Association or instead MyNA 00;03;43;05 - 00;04;09;07 Could you share some highlights from MyNA activities such as events, meetup or collaboration that came from the that Nippon user group? 00;04;27;26 - 00;04;55;00 Sakai san join the MySQL User group in 2003. It's already 20 plus years ago. Then the main purpose of the mailing list was exchanging ideas, asking questions, someone else to answer. The user group is focusing on, ease of use and use 00;04;55;02 - 00;05;22;17 of Japanese languages, as well as promoting product to the market and communication between users in Japan. 00;06;12;10 - 00;06;44;08 This was for all the user groups and also committee members using Japanese language in MySQL or or reading manuals written in Japanese. That's already pretty much done. And it. Also, everyone in Japan actually knows about MySQL. Well, so we're more focusing on the communication between users on MySQL and preparing the place to people to gather together, to communicate and exchange ideas each other. 00;06;44;10 - 00;07;16;19 Before Covid, we were occasionally running offsite events like meetups, but Covid prevented to run those events. Then we shifted to online. However, we found the offline event. It is a more, better option. People who can communicate freely and discussing, more. And we prefer offline events. Then we, terminated online ones. But earlier this year, we finally resumed offline meetups. 00;07;16;22 - 00;07;37;14 And if people gathered together face to face and having drinks, which was a really good event. 00;07;58;11 - 00;08;21;08 One more highlight of the user group activity is in collaboration with other conference. In Japan that are famous open-source focused event named Open-Source Conference in Japan. They are running all this running over ten cities or even towns in Japan. 00;08;21;12 - 00;08;52;06 And these events are running more than 20 years and nearly all major or even minor open-source communities and individual user groups are joining this event. MyNA MySQL user group in Japan is always, no exception. Always participating, dissident and communicate. Talking with people from other communities, introducing new stuff or learning from others. And it helps other people to understand the details of MySQL. 00;08;52;08 - 00;09;18;06 I would like to, to ask you one thing because of all this, to to see if, I'm right or not, but, I don't know, I don't understand Japanese had the chance to meet you guys, already? Several times. But, I see on social media sometimes. Also, MyNA kind of magazine or cover are there are they're publishing a magazine or something like that at all. 00;10;21;10 - 00;10;53;20 There are number of published publications by MySQL group members, and they're, individually writing blogs or, posting some articles to either print to the magazines or online magazines. 00;10;53;23 - 00;11;19;15 And there's a one book, which is a really famous book in Japan, written by user group members. And that's also all mentioning about a user group in a book, by the way , the book was published in 2000. And now or most recent version is the fourth edition of the same book, and it was one of the most popular MySQL book in Japan. 00;11;19;18 - 00;11;53;27 Also, on other online articles, about Mysql Written by the user group members again, and it's already counting over 230 times to articles, on the web. I think it's great that the the group members are so involved and they collaborated to actually write a book that's impressive. So what are some of the most exciting trends or innovations in MySQL that your members are discussing today? 00;12;27;07 - 00;12;58;13 One of my most favorite update around MySQL, operating recently is LTS. It's a long-term support which brings stability to the product as well as applications we develop. I agree the LTS is a great thing happening to MySQL. 00;14;06;05 - 00;14;35;12 My personal favorite feature on MySQL, which have a major update in the MySQL 8 is GIS. With MySQL 8.0. 00;14;35;15 - 00;15;06;09 GIS features now supports Geo tech system which makes it GIS more precisely accurate to visualize. So real world. My favorite part of this feature is his brings MySQL database to shows of data in the real world. And that, excites me is and we are I'm talking about this feature item during the event and the community events and so on. 00;15;06;11 - 00;15;43;17 The one thing I try to request is improving the features, enhance features of MySQL GIS. You guys to catch up was PostGIS which is a popular products in Japan. What can we do here? Probably of the world. So yeah, it's makes sense. And to be honest, I would just, recommend guys to just communicate and with me for example, because we did the same when we started with a GIS, we at Uber moving from Postgres to MySQL and, we implemented, stuff they needed first. 00;15;43;21 - 00;16;04;24 So they ask us so we, we collaborate with them. So if you be the same, we are open to, feature request. No worries. So if there is something you, you would like to see there, in the GIS, just, let us know, and, we will see what we can do. Because, yeah, the GIS, it's something that we improve a lot. 00;16;04;24 - 00;16;25;29 And, when people ask stuff, we can do it. So another reason that. So now I would like to ask that, if you're looking ahead, what are the MyNA and, next initiative or project that you have in the pipeline for next year because, as you know, I also, MySQL will, turn 30. 00;16;26;06 - 00;16;52;04 So will you do something special? And stuff like that? For that celebration? 00;17;14;14 - 00;17;38;02 We have not to finalize yet about what to do. But we are believing. 00;17;38;02 - 00;18;09;11 We gotta do something because the next year is the anniversary year of MyNA as well. It's a 25 years, so we really want to have something like a joint celebration anniversary, event with the MySQL team in Japan, as well as MyNA. MyNA seems to be a very popular, very active group. Probably a user group that can be used as a model for other user groups around the world. 00;18;09;13 - 00;18;38;01 What advice might you give someone interested in joining or starting a similar group in their own region? 00;19;38;13 - 00;20;09;11 One one thing we are always keeping in our mind is we do whatever we want. But we don't have to push. We do not push us too much. Because to run user group, keeping user group running is the highest priority. But it is nothing easy. So if you force to someone else to do or force yourself to do something, it's not easy to continue to be relaxed. 00;20;09;14 - 00;20;37;26 And another important thing is generating the place to people gather together. It can be online, can be offline. But once you prepare a place and you you can invite a people. People will come and they will invite other people as well. And the user group is not really. The place someone to teach someone else. It's more like place to gather together, having a chat, communicating. 00;20;37;29 - 00;21;12;03 That's a user group, we believe. And what we're saying is we always eat, not again. Be relaxed and don't be stressed. Do what you want. That's or wouldn't be otherwise. But that's how we keep this user group running for more than 20 years. Excellent. Very nice advice because, we know that, the Japanese user group is maybe one of the biggest, or at least the most active, for MySQL. 00;21;12;03 - 00;21;31;21 So it's a it's very good. Thank you very much. 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 Killer Speaks.
/episode/index/show/d0cd255f-ccaf-4b55-a7da-5825f8230161/id/34887590
info_outline
MySQL Time Capsule
12/13/2024
MySQL Time Capsule
In this episode, Fred & Scott share their history with MySQL - including when they first started using MySQL and discuss some of their favorite features. --------------------------------------------------------- Episode Transcript: 00;00;08;15 - 00;00;30;23 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;30;29 - 00;00;56;13 Welcome to Inside MySQL: Sakila Speaks, I am leFred and I'm Scott Stroz. Hi, Scott. So today we start the season two first episode. Am I right? Indeed. And unlike previous episodes, it's just you and me. We don't have a guest. We're going to talk about our experiences using MySQL That's awesome. So, Scott, tell me, how do you came to MySQL and when was it? 00;00;56;20 - 00;01;30;28 I know it was in either late 2001 or early 2002. I had just started a job as a web developer for the company I worked for as a paramedic, previously. So, I switched careers, but I was fortunate enough to stay at the same company and I had no budget. I was I literally had to create. I literally had to build a server out of spare parts in the back room, and I used a LAMP configuration. 00;01;30;28 - 00;01;56;07 So, Linux, Apache, MySQL and PHP, and if I remember correctly, the first version was 3.23 I think was the first version that I used, and I've been using it ever since. I've done most of the work I've done with MySQL has been on personal projects, so any time I've had a little personal project I've done, I've used that. 00;01;56;07 - 00;02;26;14 And there's been a couple of projects, you know, from jobs that I've done, you know, pretty big jobs for like big government agencies that have used it as well. How about you? For me, I was expecting you had started before me, so I would have looked younger, but so I started. But with MySQL the first time I really discovered MySQL without really knowing what it for. 00;02;26;17 - 00;02;57;00 I was already 1997 because I was a fan of Linux and still I am right there. I may be one of the only guys who, before 2000 went to a Linux desktop. Even so, a Linux desktop year was for me a long time ago. And so I remember it's a fun story because I went to a computer shop to buy some games. 00;02;57;03 - 00;03;23;17 I wanted to buy a game, in fact, and the game was just the small floppy disk and it costs and at that time I think it was around what we call thousand Belgium franc before Euro. So, and, and there was this box of five or six CDs called InfoMagic CDs where it was Linux on it. Right. 00;03;23;19 - 00;04;05;07 And and this is I say with the same money I would have more with than a floppy, I will have a full CDs there. And so this is how I started to install the first time Linux on my machine. And it was a bit before 1997, the first InfoMagic. I think it was around 1994 or five, but it was without MySQL at that tie and every year I was buying the new InfoMagic set and there was MySQL 3.20 in beta – in slackware - at the time and this is so I install it the first time and then I started to try to have a look at it. 00;04;05;09 - 00;04;33;03 and as I was doing computing at a computer science job and it was a time of CGI in Perl, I remember I started with something called Sprite and that allows you to write and to SQL on flat the text file. So we were using that to record the, the IP of people visiting to read, counters not to not incremental the day. 00;04;33;06 - 00;05;07;18 And then I switched to MySQL to do that, to have something even better than a flat file. But this was just during the study I would sit and after death, professionally, I met MySQL already around between 2002 to 2004, I guess, and the company I was working in Belgium, we started to work with MySQL AB at the time and I passed the training in 2005. 00;05;07;18 - 00;05;38;01 It was still in MySQL 4.1 exams at the time and we had the core and professional exam and this is how I really jumped in MySQL as a daily work, I would say taking the exam and then doing consulting in Belgium for MySQL. And after that I also worked with the make company, the one I was working for with MySQL AB to provide also training so for MySQL. 00;05;38;01 - 00;05;59;25 So the the usual training of MySQL AB or as some companies in Belgium were basically to be was not able to deliver because there were too many people they wanted in some time in French and Italian at the same time. So it was a bit and this is how I really started to learn and study MySQL. So I really enjoyed that. 00;05;59;27 - 00;06;36;21 But I never end up there. It was this fast, always move forward both. As you know, we also do a conference. You do? We do conferences. I do talks and I really jumped into MySQL community. Meaning then let's hear meeting all these stars of MySQL and stuff in 2010 when I gave my first talk at FOSDEM. 00;06;36;23 - 00;07;02;01 So this was about maintaining too big tables in MySQL. And because I was maintaining big budget business in companies in Belgium, all in MySQL, MySQL was everywhere. So that was very good. And so I go there and this is where I met a lot of people and the community manager at the time in MySQL and plenty of other people. 00;07;02;07 - 00;07;47;04 And this is all I really started jumping in the community of MySQL. For the longest time. I was kind of like a lurker in the community. I didn't really post a lot of questions or answer a lot of questions on the forums, but I spent a lot of time there learning stuff. So, I, like I said, I've been using MySQL for over 20 years now and one of the things I use it for and I've talked about this before in presentations that I've done and I may have even mentioned it on the past episodes, but I manage a golf league, and the golf League grew to the point where we couldn't really like we 00;07;47;04 - 00;08;07;26 used to track everything in an Excel spreadsheet and we couldn't do that anymore because we actually had - we we've grown to 80 golfers. There's 80 golfers in the league. We have 40 that play in one night, 40 that play in another night. And I wrote a web application to help me manage the golf league. I can do scheduling. 00;08;07;28 - 00;08;29;13 There are guys who are responsible for entering the scores, so it tracks people’s scores a calculates their handicaps. It figures out who is in the lead. Okay. And one of the things that used to drive me crazy was I have a stats page where you can look up your stats, you can look up you know, what you've shot in previous rounds. 00;08;29;16 - 00;08;49;28 Which holes do you shoot the better, better on as compared to others. And then it it counts the number of birdies, pars, whatever that you have it gives you a percentage. But it also compares it to everybody else in the league. So, you know, you can say, hey, I birdied 10% of the holes, but the league’s birdied 15%. 00;08;50;01 - 00;09;12;15 And some of those queries used to take a long time and I it wasn't like a ridiculously long wasn't like people were waiting for like minutes for the stats to come up, but it was longer than I thought it should have. And I realized that the solution to that problem was going to be setting up a query that uses common table expressions. 00;09;12;17 - 00;09;42;16 But unfortunately at the time MySQL did not support it and that when I forget what version it was that that CTEs were introduced. But I switched over like immediately, like I got my development environment, I created the queries the way I wanted them. They were actually orders of magnitude faster than what they were. And I was like, Wow, this is like the greatest thing since pockets like that were. 00;09;42;16 - 00;10;07;23 To me, that was like a huge, like change in, in my development attitude of, you know, we have, you know, basically, you know, common table expressions, are kind of pre aggregating data a little bit. And I was like, wow. I, I had them in just one particular place. And I've actually changed a bunch of queries since then to use them because I'm like, wait, I can speed this query up. 00;10;07;25 - 00;10;38;17 And again, it's not the website doesn't get so much traffic where people are going to notice these things. But I noticed that I like I'm like, no this could be faster. And I think for me, for this particular project, adding CTEs was probably the best feature we've added because for me in this particular instance, it added a lot of value to helping speed up queries that were otherwise not very efficient. 00;10;38;19 - 00;11;13;27 Is there something like that for you? So this was MySQL 8. It's what was very what we always say, a big giant leap for a SQL in the most critical system. Right? So MySQL at all this knew I would say new for MySQL features like a windows expression, common table expressions and so on. So just to so on the team, you are the developer guy, so the guy will use MySQL as a developer and the guy more in the sysadmin, DBA path. 00;11;14;02 - 00;11;49;19 So for me, yeah, it's cool to have CTE and Windows function but this is not what for me was a shining for me was an issue on the other side or lower side. Something that for me was like, this is so great. It's for example, the clone plug in, clone plug in. It's amazing when you have to deploy databases because I had to manage the database, not writing the code or sometimes when people were writing code into something better could say, look, we are doing full table scan, please fix this. 00;11;49;21 - 00;12;25;01 And if I knew, I would explain how to fix it. But so this is yeah, all I do. It's a clone. And after that, plenty of other stuff was really what we were looking for in, in MySQL for the operation part. So cloning data, not having to take a back restore through to do the point in time recovery, replay the binary locks and also and all that was really what we I was expecting. 00;12;25;05 - 00;13;00;27 So I will I love this and everything around to MySQL Shell and Admin API. So to create replication create clusters so easily with what we saw in Season One with Miguel, this is what really for me was the two most advanced stuff in MySQL8.0. Yeah, I've become a huge fan of MySQL shell. Like it's I, I for years I used to shy away from like command line interfaces mostly because I'm a very poor typist. 00;13;01;00 - 00;13;30;01 And so for a lot of stuff I would use Workbench and I would say over the last three or four years you could probably count on one hand the number of times I've opened Workbench because I just use Shell because like you said, there's there's so much stuff that you can do. It's like, I mean, you could spend weeks just exploring new features and how to use them and how to implement some of the stuff that we have in Shell and still have new stuff that you're like, I didn't know we could do that. 00;13;30;04 - 00;13;59;07 Yeah, MySQL Shell and the team is very dynamic out of it, so they do plenty stuff is also the MySQL Shell now included in Visual Studio Code. So but I am a terminal guy. So for me the most well, the MySQL Shell standard one terminal is the one I prefer, right? Like you, Workbench. I could use it only maybe two or three times in my entire career. 00;13;59;09 - 00;14;32;03 So I really like command lines. But yeah, it's really, really nice or what we can do. And we did. So it's very, very nice. And so yeah, is something we also we need to say because it will happen soon. Now and because we are using it for a long, long time. And don't forget that next year will be something a very nice milestone for for MySQL, right? 00;14;32;10 - 00;14;59;25 That's right. We'll be celebrating 30 years of MySQL which is pretty pretty impressive for open-source software I think. Yeah I it's wonderful and very happy and yeah, I've been part of, and you too, of that longer journey at 30 years we did. So I am very proud of that and I think it's very, very nice. 00;14;59;28 - 00;15;27;13 So yeah, I think we MySQL evolved a lot since the beginning of course, and we keep involving now with everything we see, but we will talk to that in future episode I guess, right? That's right. I will say that the, the recent news is the availability of HeatWave MySQL in Oracle cloud as part of the always free tier that's that's very nice. 00;15;27;17 - 00;16;03;11 I actually move the database from the golf league application to HeatWave MySQL on the day it was available. Like the day we found out, okay, it's out there. It's lot. It's live. I switched the database over because I was think I was waiting for like I had prepped. You know, I did the the dry run with Shell to say, you know, to do a dump and be like, you know, the OCIMDS set to true and it let me know all the problems I had which there was only if I remember if there's only four issues that were there HeatWave is so it's amazing plenty of feature and it's true 00;16;03;11 - 00;16;30;10 that some people who are a bit did you don't know what to expect about it just just see the the videos or they saw our presentation but now they can play with it for free and and all use it all always free. So this is amazing that with the always free compute instance you can put everything in OCI for free to start with to learn it. 00;16;30;12 - 00;17;07;01 This is a quite amazing too and there is plenty of stuff. There are also very, very interesting course, as we all know, a cloud is also part of the what people are doing now. So people like to move to the cloud and so mostly it's a very nice a contender too, if you want to have your most well, your your database in the cloud, the strength of MySQL HeatWave, if all they're running to MySQL, is that it's the most accredited support team and the MySQL team who makes it and this is amazing. 00;17;07;01 - 00;17;36;22 I see you we can see the difference if people see the difference by both. This is the MySQL guy managing my database. So that's this is cool, right? And the other thing that I like is with Heatwave MySQL, it's actually based on the enterprise version. So for in the always free tier you actually get enterprise features such as being able to create stored functions, stored procedures in JavaScript, the data masking and some of the other enhanced security and as well as some of the enhanced performance. 00;17;36;24 - 00;18;03;27 So those are things it's to me it's really cool that you can we can have those things, try them out for free, or if you have a just even a small application like the one that I work on, you know, I have I've been using Oracle for hosting for years and I haven't paid a penny for it. And now I have, you know, my my database running in Heatwave MySQLand again as part of the always free tier I'm not going to pay anything going forward either. 00;18;03;29 - 00;18;29;19 You know that's that's great. We have a very great news now we were expecting that always free you or MySQL heatwave so now it's there so I'm going to wait for all your nice MySQL short content about it and the so thing we reached the end of this episode so thank you very much Scott Thank you Fred Thank you for listening. 00;18;29;19 - 00;18;47;01 Bye bye. 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.
/episode/index/show/d0cd255f-ccaf-4b55-a7da-5825f8230161/id/34432255
info_outline
MySQL 8.4 LTS: A Balancing Innovation and Stability
06/25/2024
MySQL 8.4 LTS: A Balancing Innovation and Stability
Fred and Scott are joined by Mughees Minhas, Product Management Senior Vice President of Enterprise and Cloud Manageability for an informative discussion of the latest LTS release fo MySQL and how the new versioning of MySQL provides a balance of innovation and stability. -------------------------------------------------------- Episode Transcript: 00;00;00;00 - 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;26 - 00;01;00;22 Welcome to Inside MySQL: Sakila Speaks. I am leFred. and I'm Scott Stroz. Today's episode is related to the implication of MySQL introducing LTS and to talk with us, we are joined by Mughees Minas. Mughees is the senior vice president of Product Management and Marketing, Enterprise and Cloud Manageability at Oracle. With over 20 years of experience, he has been instrumental in developing some of the most widely used Oracle Database Technologies. 00;01;00;24 - 00;01;31;26 Currently is working on MySQL HeatWave, the next generation of cloud databases. Welcome, Mughees Hi, Fred and Scott. Nice to be here. Thank you for joining us. So, how does the introduction of MySQL 8.4 as the ELTs impact the stability and long-term support expectations for businesses and developers relying on MySQL. Well, first of all, let me say that, you know, these changes that we have brought, it really is a response to what our customers have been telling us. 00;01;31;28 - 00;02;04;00 So, the first thing I will say is that, yes, we do listen to our customers. Just to give you a little bit of a background. The patch releases of MySQL 5.7 and releases prior to that were focused on bug fixes and security patches. But that changed in 8.0 where we adopted this continuous delivery model in that patch releases not only contain bug fixes but also new features. 00;02;04;02 - 00;02;30;10 So that was good for a number of our customers because it allowed us to release new features more frequently rather than having our customers to wait for a couple of years before they can get new features. However, there's also a downside to it because there are certain customers who really want a stability and this approach of continuous delivery was causing challenges for them, for projects and applications that required stability more. 00;02;30;10 - 00;02;51;26 They were only interested in critical bug fixes and patches and they did not want behavioral changes. So anyway, so we've listened to the feedback. We've looked at industry trends and we've now transitioned to a versioning model which allows us to do both. It allows us to have an innovation track and an LTS or long-term support release track. 00;02;51;26 - 00;03;16;01 So, the first thing I would say is that we introduced our first LTS release last month - 8.4 and with this new model, our customers who want stability. They want only critical bug fixes, security fixes and so on. They can adopt the LTS version, which came out, as I said last month. And those who are interested in new features because maybe they ask for those specific ones. 00;03;16;04 - 00;03;53;11 We also had this innovation train that they can adopt where with every patch that they will get the latest features that we are working on. So, our goal is really to ensure that the MySQL community has an exceptional user experience with both our innovation releases as well as are LTS long term support releases. In what ways does the LTS designation for MySQL 8.4 influence decisions around migration strategies and adoption timelines for organizations who are already using MySQL or might be considering switching to MySQL? 00;03;53;13 - 00;04;17;20 So, as I said earlier, MySQL 8.4 is our first LTS release and this one is focused on stability and bugfixes. The next innovation release will be 9.x - 9.0 - , which will have new features straight and after two years of innovation releases. We will have the next LTS release will be 9.7, which will come out, as I said, two years from now. 00;04;17;23 - 00;04;48;07 And as you can see, the way the numbering works is that we'll have a release every quarter. So ,you start with 9.0 after eight quarters we are you will get to 9.7 and that becomes our next LTS release. So, the thing about consideration that on migrations and upgrading and downgrading something for the customers to be aware of is that within an LTS release, the functionality remains the same and data format does not change. 00;04;48;11 - 00;05;11;08 Therefore, we support in-place upgrades and downgrades will be possible within the LTS release InnoDB Clone will be supported with an LTS release both for upgrading and downgrading. So, in this one, LTS gives you enormous advantages when using, upgrading and downgrading. And these are some of the considerations people have to have when they're looking at migration, upgrade and downgrade and so on. 00;05;11;10 - 00;05;46;29 So, with MySQL 8.4 LTS Right. What new opportunities will emerge for third party developers and service providers to enhance and extend that the MYSQL ecosystem? I'll just reiterate the fact that both LTS and the innovation train are GA production grade production quality and fully supported. All right. So, it's not as if we are taking any shortcuts in terms of release quality when we do innovation releases versus LTS release. 00;05;47;01 - 00;06;06;10 We do the very best we can do in terms of testing, quality assessment and so on. But, you know, anytime you a new code, it's just a fact of life. There are certain things that happen that we don't catch in our testing phase, and they do introduce instability. It's just a fact of life when it comes to new software development. 00;06;06;12 - 00;06;33;16 Having said that, when to use innovation releases, when to use LTS releases, it's up to the customer. But I can see that for those who want to access the latest features and improvements and enjoy staying on top of the latest technology innovation release is what they want. Oftentimes, these are ideal for developers and DBAs who work in a fast-developing environment. 00;06;33;19 - 00;06;57;08 They are trying to build a brand-new application. They want to take advantage of the latest features that the industry has to offer. And so, they would be very interested in doing that application development on innovation releases. And once they have built the application, they're looking for stability. Then they can adopt the next LTS release that comes with that innovation release for stability phase. 00;06;57;08 - 00;07;17;02 But I think for new application development, they there will be a lot of interest in doing it on the innovation releases. Also, if they have an interaction with us in product management and we hear from a customer, they want certain features. If you build a certain feature for them, the way they introduce it to them is through innovation release. 00;07;17;07 - 00;07;44;14 So anyways, we see that is something that's very useful for our new application development by developers. Now when to use the LTS release? Well, when you have an application where you require stability you these releases only contain necessary fixes. There is no change that breaks anything. And you basically have an application that's running fine. Your job essentially is to make sure your users use it. 00;07;44;16 - 00;08;05;19 Quality of experience is good, their application issue and so on and so forth. The application itself is not changing dramatically, right, Because it's the same application. Maybe you just upgraded to the next version and so on. And in this kind of situations, the LTS released the very appropriate. When there is less application development sort of things going on and stability is the key factor. 00;08;05;21 - 00;08;35;11 So once again, even on both MySQL, on premises as well as on the cloud side, we offer – in the heat wave that is - MySQL HeatWave. We offer both innovation and LTS release options. This model will be available both in the cloud as well as on premises. So how, how do you think the maintainers of popular open-source projects like WordPress and Drupal will change their development process with the new LTS versioning? 00;08;35;13 - 00;09;10;00 And do you think that maybe they might plan to integrate the innovation releases into their development tree? So, it's a little bit of speculation on our part. You know, first of all, most open-source products do have a similar innovation versus LTS release model. So, it's not as we're not the inventors of this, people know about that. But what I expect is that companies like WordPress or Drupal and so on, they will not be able to choose the LTS for the stable versions and the innovation releases, the innovation train or the under-development releases. 00;09;10;03 - 00;09;32;16 So, we look forward to working with our open-source products to improve the MySQL roadmap, the innovation release phase. So, this really allows us to use the innovation train as a way of addressing their requirements for us. So, we can if they ask us to add a feature, we can do that. So, they would use the innovation train for application or under-development releases. 00;09;32;19 - 00;10;13;06 But once they actually go out and make them production, we like expect them to use – rely more on the LTS release. So, I think it'll you'll see a combination of both of those things facilitating our third-party partners like WordPress and Drupal and so and so forth, how they will utilize these two releases in my opinion. So as a product management senior Vice President overseeing all of MySQL development, what features and performance and instruments of the upcoming MySQL 9 because you said earlier that the next one will be 9.0 are you the most excited about? 00;10;13;12 - 00;10;33;24 And is there a particular new feature or improvement that you can discuss with us that you feel that will be a very good for the MySQL community? I won’t list a specific feature, but let me just tell you directionally what we are trying to do in 9.0 release that I think is the part that excites me the most. 00;10;33;24 - 00;11;11;05 I think that is some of the stuff you've already heard about Gen AI integration. You know, as the vector search searches and vector store inside MySQL and so on, you know, you can really build great generic applications using MySQL. The other thing that we also plan to do in 9.0 is to use AI and AI models to simplify, demystify makes easy managing and monitoring of large sets of MySQL instances. 00;11;11;08 - 00;11;48;13 We think AI offers us a great model where we can use machine learning and these kind of algorithms to identify behavior anomalies inside your MySQL databases. So instead of you encountering a problem reporting it - users reporting the problem, then you're taking action to fix it. We really are trying to use AI in such a way such that we can identify proactively issues and areas of failure to might encounter address them before your end users are impacted. 00;11;48;15 - 00;12;17;24 So, I think AI is not just about building new AI applications in MySQL, which we will, which we are doing, and we've talked about that already in different forums, but we also want to use AI to make your MySQL databases more stable, easier to manage, and your application behavior being more predictable and less problematic. So that is another part I think that we are working on. 00;12;17;24 - 00;12;49;00 We have built-in, we collect enormous amounts of telemetry on your MySQL instances. We collect metrics, we collect traces, we collect logs, we collect events and so on and so forth. And we then essentially run large AI algorithms on the set of telemetry that we have to not only tell you what's going on right now, but to see if we can identify sequences and patterns that is indicative of a problem that will happen. 00;12;49;03 - 00;13;17;21 So anyway, this sort of new I can't be very specific about what will come, this is really something that things like AI and ML allow us to do now, that was probably not as possible, let's say two or three years ago. So, I think it's been a very interesting phase and I think you'll see more and more of that coming from our side as well, that we will use AI to tackle it things at both ends to make your experience of my skill more seamless, superior using AI. 00;13;17;28 - 00;13;47;09 And also, you can build apps on MySQL as well. So, the I think you'll hear a lot more about that. And this is some of the things that I think 9.0 release will have, and I'm working very earnestly on this and we think it'll be a pretty cool set of features that be released. Thank you very much for joining us, Mughees, in this episode about the implication of MySQL introducing the long-term support release – 8.4 the first ever LTs version of MySQL 00;13;47;09 - 00;14;06;19 So, thank you very much. Thank you. My pleasure. Thank you Mughees. 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.
/episode/index/show/d0cd255f-ccaf-4b55-a7da-5825f8230161/id/31883367
info_outline
Mastering MySQL Group Replication
05/28/2024
Mastering MySQL Group Replication
Luis Soares, Senior Software Development Director and the "face" of all things MySQL replication, drops by to enlighten us about group replication and its different uses in the MySQL ecosystem. --------------------------------------------------------- Episode Transcript: http://insidemysql.libsyn.com/mastering-mysql-group-replication Mastering MySQL Group Replication 00;00;00;00 - 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;23 - 00;00;58;27 Welcome to Inside MySQL: Sakila Speaks. I'm leFred and I'm Scott Stroz. Today we are joined by Luis Soares. Hi, Luis. Hello. Hi. So, you are the MySQL replication team lead. You are responsible for the MySQL binary Logs replication related code base and MySQL bin lock tool. Yeah, that's correct. I'm happy to lead a bunch of very great people, very knowledgeable people. 00;00;58;27 - 00;01;22;22 So that thing comes easy. So, we all know you as the face of all things application in MySQL and this is why you are also the responsible of HA, point in time recovery and channels in MySQL HeatWave. So, for HA, we decided to eat our own dog food and am I correct HA in MySQL HeatWave is also using group replication isn't it? 00;01;22;24 - 00;01;52;10 Yeah. So along with the other OCI technology, we use group replication under the hood to build the fault tolerant DB system in in the MySQL HeatWave database service when deployed in single primary mode. By the way, a "DB System” for those that are wondering what it is it's the abstraction that captures all these things that are managed by the service on behalf of the user. 00;01;52;12 - 00;02;22;19 Like setting up replication, keeping everything running perfectly fine. Orchestration, orchestrating all these things related to backups and so on and so forth. In terms of how businesses can benefit, what are some of the benefits of using group replication. In the MySQL HeatWave services, there's the DB system. That's what users relate to. And under the hood we have group replication to provide fault full tolerance, right? 00;02;22;21 - 00;02;51;09 Group replication at its core relies on a quorum to commit a transaction and therefore if the primary server fails within the cluster, there is this guarantee that it's if there is a survive, there's a majority surviving this failure event, then the changes that have been produced so far will continue to be in the cluster, right? So, in other words, the data is preserved. 00;02;51;12 - 00;03;34;13 If there is a surviving majority in the event of a failure. The act of switching over the application when a failure happens is also relatively fast, because if there's a failure, there's a standby in the cluster ready to take over. So, we call that a secondary. So, usually, the time is relatively fast. So just for clarification, when you say as long as a majority of the nodes are unaffected, so you're saying like if there is a 5 node cluster and two of the nodes go down, then the transaction is still going to be committed, correct? 00;03;34;15 - 00;04;05;27 Yeah. In group replication, it happens like that, right? As long as you have the majority surviving the failure, the change will be carried on forward. Right. In which case in the MySQL HeatWave service clusters typically have three nodes primary and two secondaries. And so that's how it works. I think also it's because as we are operating this, when we have one failure, our guys can jump in directly and fix everything. 00;04;05;27 - 00;04;31;13 So, we don't need to have too many nodes there either, I guess, right? Yeah, it's I think so. It's a combination of automation and sometimes manual work. Right. So, since your team Luis is operating all the clusters in MySQL HeatWave service did group application got some improvement related to that? Yeah. I mean over the years group replication has been always evolving, right? 00;04;31;13 - 00;05;20;28 And with this with a need to power a cloud service, of course group application had to be...well it had to keep up with that right with that task or with the requirements for that task. And therefore there's has been a lot of enhancements to observability, especially with, especially with memory, more memory, implementation. So, I think over the years, if you look back into what are the replication performance schema tables, what are the replication related stages, variables and so on, you'll see an increase of, of things that have been instrumented and exposed through new columns in performance schema tables or new stages variables. 00;05;20;28 - 00;05;51;10 That's these things are extremely useful when you're when you're running things at scale. So, you need to observe to understand what exactly is going on, how, how exactly to operate and intervene in the system. So, the self-serve ability is paramount. Right? Moreover, we've been making group replication more efficient, making it more resilient to cope with that with the different types of failures. 00;05;51;10 - 00;06;25;00 Some of them are edge cases, but they happen. Also be able to deal in a more graceful way with slow instances so that it doesn't affect so much the overall state of the cluster. And we we've also extended the GR to be able to automatically recover from a few edge cases too. So, this is a whole plethora of, you know, new things that have been happening in GR over the years. 00;06;25;02 - 00;06;58;09 Yeah. And we can also say that by improving group replication for HeatWave HA right, you are also improving group replication in general. And then for example, InnoDB cluster benefits from that too, which is very great for everybody. Yeah. I think you can say that. Yeah. When I think of replication I think of making sure that the data is actually, to be redundant, replicated to a different server, to serve as a backup, read replica or something along those lines. 00;06;58;11 - 00;07;37;12 But how else can we use replication in MySQL HeatWave database service? Let me start by saying that MySQL replication has a lot of different uses in traditionally within the MySQL context, right? So, replication is or can be used for implementing things like high availability, things like read scale out by replicating for many different servers and then reading from these servers and therefore offloading the read load from the primary server. 00;07;37;17 - 00;08;07;26 So, it can also be used for and for things like point-in-time restoring particular by leveraging the binary log and even some sort of change data captured by mining the binary log which itself is a log that captures deltas or changes to your data over time. So in the MySQL HeatWave service, we follow more or less the same pattern, right? 00;08;07;28 - 00;08;42;14 We use, like I said before, from a on a previous question, we use group replication to implement fault tolerant DB systems by having redundant servers and therefore if there is a failure we can fail over from the failed server to 1 of the secondaries. But we also use replication for things like replicating from on premise to the MySQL HeatWave service and vice versa. 00;08;42;14 - 00;09;17;02 Right. So, it's this is what we typically call inbound and outbound, respectively. Some of the use cases are for things like live migrations or for setting up hybrid setups. If you couple that together with replication filters, you can even do things like partial replication from one place to another and just, you know, just having parts of the data in, for instance, an on premise and parts of the data on. 00;09;17;02 - 00;09;43;04 MHS right. So, this allows this is a very flexible, a very flexible tool, if you will, to do these types of setups, as well. Like a like I mentioned, I mentioned before, the binary log that can be used for point-in-time restore. We also use it for point-in-time restore that in the cloud, too. 00;09;43;04 - 00;10;29;25 So, replication as a whole is present everywhere in the MySQL HeatWave Service. Thank you Luisa I saw as you said, you were talking about filters that we have integrated in MySQL HeatWave. Because you said we can migrate from on prem to HeatWave. But we have also I have also seen that we can migrate from to cloud to MySQL HeatWave in OCI and we have predefined or the team has predefined some features to migrate from non-vanilla MySQL so from Amazon or whatever to our own cloud very easily for the users. 00;10;29;25 - 00;11;18;00 Right now there's a few things that when you when you replicate from an external source anything can come down the replication pipe and anything can that comes to down the replication pipe might be conflicting what with what you're running on your target instance. So, you mentioned other types of but well how to call it you mentioned some other maybe cloud providers or something that can have their own modified syntax of commands that are executed against their own, their own versions of MySQL 00;11;18;00 - 00;11;45;05 All these things, of course, can have or cannot be applied on a vanilla maestro and therefore need to be filtered out. So, this is the type of thing that these filters can help you with to avoid this, corner cases or this specific cases where you have incompatible traffic coming down the pipe and you would like to avoid it without breaking replication right. 00;11;45;07 - 00;12;24;06 So that's about it. So, thank you very much, Luis. So, keep improving HA, keep improving MySQL HeatWave high availability and in the same way everything replication yInnoDB cluster replica set, cluster set all that as a replication on the route so it's it's cool and everybody likes it. This is why MySQL are still very known for this replication. I would like to say one thing before we close... we talked about replication as if it's a cool new thing and so on. 00;12;24;06 - 00;13;03;16 But it's it's interesting it's very interesting that within my MySQL itself, has traditionally been around with the with MySQL for a very long time that, right. So, it's very interesting how things have evolved over the years and continue to evolve right. Like, Fred you were saying let's continue to improve it let's it's everywhere and so on and so forth. So, it's a very interesting thing to observe over the years seeing these this gradual evolving of replication itself. 00;13;03;18 - 00;13;23;24 It's nothing new in my spell but it's been evolving so much over the years and it's very, very interesting from I mean, I'm biased but from where I stand it's a great thing to observe, I think. Thank you, Luis. That's a wrap on this episode of Inside MySQL: Sakila Speaks. Thanks for hanging out with us. 00;13;23;29 - 00;13;47;04 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.
/episode/index/show/d0cd255f-ccaf-4b55-a7da-5825f8230161/id/31497197
info_outline
MySQL Shell Does All The Things!
05/07/2024
MySQL Shell Does All The Things!
For this episode, Fred and Scott are joined by Miguel Araujo, Senior Principal Software Engineer for MySQL Shell. Miguel outlines MySQL Shell's history and discusses its more popular and powerful features. The conversation winds down with us discussing our favorite features. --------------------------------------------------------- Episode Transcript: 00;00;09;13 - 00;00;30;16 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;30;20 - 00;01;01;11 Hello and welcome to Sakila Speaks, the podcast dedicated to MySQL. I'm leFred and I'm Scott Stroz. I know today's guest for a long time already has had the chance to work with them on several solutions. Please welcome Miguel Araujo, Senior Principal software Engineer on the MySQL Shell Team. Miguel is the technical lead developer of the Admin API, core component of the HA and the replication solutions like the MySQL InnoDB Cluster MySQL InnoDB replica set and MYSQL InnoDB cluster set. 00;01;01;28 - 00;01;25;07 Welcome, Miguel. Hey guys. Thanks for inviting me to this podcast. So, Miguel, we want you to talk about MySQL Shell. Can you give us a high-altitude overview of what MySQL Shell is? Basically, what it is, who should be using it and why? So first and foremost, Shell is the command client for my SQL Server, right? 00;01;25;21 - 00;01;50;28 You can do with Shell what you could do with a classic MySQL client. So, you connect to a server to my SQL server and it can run queries on it using SQL. But Shell is much, much more than that. It's a... we like to call it a modern advanced command client for MySQL server, and maybe I should get a little quick history lesson about it. 00;01;50;28 - 00;02;27;00 So, Shell came out with... there was a purpose to build this new command client and this kick comes back to 2016. If I recall correctly, when the document store was being developed and implemented. And with MySQL Doc Strore we have created this new API to interact with it, the X-dev API, and this X-Dev API follow the common standards and this was implemented in JavaScript in Python, and for that we needed a new shell, a new command line client to interact with the server and speak. 00;02;27;10 - 00;03;05;16 This is new API and interact with the Doc Store. So, for that we create this shell with the with implementation of the X-Dev API exposed in JavaScript and Python. So Shell was born with a with this multi-language support so SQL classic and then JavaScript in Python and in the beginning with with the X-Dev API exposed to those two languages. But we also built it as a modern interface, so it has a customizable and reactive prompt. 00;03;05;29 - 00;03;32;21 It has auto-completion, syntax highlight. It has a built-in help system. So, it's built as the for example, we have in Linux bash or the Shell or on Shell or whatever or in Windows PowerShell and Shell can be seen as something like that. But for MySQL, so you started your shell, you can run commands in it, you can connect to instances and operate on them. 00;03;32;21 - 00;04;06;21 So, it has this interact interface and also a scripting interface because since you have support for those languages, for JavaScript Python and SQL you can write your own scripts and then you can execute them in in Shell. And a another general feature ... most known and, and useful are the APIs built in. So I was just mentioning the X-Dev API that was the first one. 00;04;07;07 - 00;04;37;05 And then we of we have introduced the Shell API and the utilities and then the Admin API and the so starting with the Shell API, for example, we have operating system utilities. You can create reports, you can create plugins. The utilities include things such as the upgrade checker that is a utility built in shell that you can use to verify whether your server is ready to be upgraded to the new version. 00;04;37;20 - 00;05;09;05 And if not, what needs to be done. You have things as dump and load to dump instances and load them. This is very fast. It's it's very loved by the community and the Admin API that is used to deploy MySQL architectures like Fred said in the beginning – InnoDB cluster states replica set and so on. And also Shell is extensible, can write plugins for it and that's something great. 00;05;09;05 - 00;05;35;10 And that's one of the things that makes it a modern client. Yeah, to be honest, I am a very fan of Shell. It replaced the old MySQL client for me, the classic one I always use Shell everywhere. And so recently during the MySQL Belgium days, who you are there, you were speaking also about Shell. Many people like Booking.com and Canonical guys. 00;05;35;18 - 00;05;58;14 They praised MySQL shell. They use it, they love it, and especially the admin API. So let me ask you a personal question. As the Admin API is your baby, are you proud of that? Oh yeah, I am. And it's it's you know, it's one of the most rewarding things that you can get as a as a software engineer is to to get this kind of feedback from the user. 00;05;58;14 - 00;06;34;08 So, I know now that I didn't waste seven years coding this thing for nobody to use. It's I don't know that there's a lot of people happy with it and lots of users and, and people like Booking.com or Canonical using it. It's, it's, it's really motivating. It's, it's really rewarding. So, I'm quite, quite happy about it. And and not only that they, they are users there but they use it extensively and they have huge deployments and the kind of feedback you get from those those users, it's it's it's great. 00;06;35;03 - 00;07;02;09 It validates many of our decisions and invalidates others and provides feedback to make things better for the future. So, it's it's really it's really great, really happy. So as a developer myself, I can appreciate the the feeling of hearing that other people like what you've created. So, congratulations on that. Yeah, thanks. Now, you and Fred have have both talked about the admin API. 00;07;02;24 - 00;07;44;10 Can you give our listeners some details about the API and what can be done with it? And is there any functionality in the API that maybe hasn't been implemented yet? Okay. So again, a bit of historical context. So, MySQL has had support for replication for a very, very long time. Right? There was the asynchronous classic replication and before we put before Shell and the other API DBA and, and sysadmins and so on, they, they had to deploy those replication topologies manually. 00;07;44;20 - 00;08;18;09 And that involved a lot of steps, manual steps. It involved a lot of scripting, automation, monitoring and so on. And that's led to many customized, customized solutions, lots of deviations and lots of work for this. These people maintaining those architectures. And then in 2016, 2015 of them remember exactly the group replication was being developed and it came out as a preview. 00;08;19;17 - 00;08;50;17 And with that we thought. So, we have Shell, we can write APIs in Shell, we can manage instances of MySQL, so, let's do something to help users to deploy MySQL architectures. So back then, architecture based on group replication and asynchronous replication. And let's make an API to make that super easy to deploy, super easy to maintain and ...and to monitor. 00;08;51;01 - 00;09;19;28 And this is how the Admin API was born. Initially we focused on group replication because this brought a lot of great things, such as out of a lower consistency network, partition handling and so on. So that was the first focus and we, we've, we've developed the API with that in mind because group replication wasn't and still can be tricky to deploy and maintain. 00;09;20;15 - 00;09;48;07 And with the Admin API with just two or three commands, you can have your cluster up and running. It's very easy and it's very, very straightforward and it's pleasant. We tried to focus on usability a lot to make the experience pleasant, but also it's you're also it's powerful in the sense that you also can do things and configure things to the data. 00;09;48;07 - 00;10;34;13 So, so the Admin API was born from that need. And we, we introduced the support for InnoDB Cluster, but then we also added support for sandbox management. So, you can deploy sandboxes to test the solutions before going into production. You have things to help you configure the instances to be ready for the MySQL architectures. So, with a single command you can connect to an instance and the command will tell you some instances where they are not in the sense of if if the right configurations are in place and if they are not, you have another command that will just apply them for you. 00;10;34;17 - 00;11;22;26 So crazy. You also can create accounts to manage the topologies and then you have the whole set of commands to deploy InnoDB cluster, InnoDB replica set, cluster set. And the last addition is read replicas. We have integrated the whole thing and we have also integrated provisioning. So, for example, when you add an instance to a cluster, we will take a look at the GTID sets and the replications, the status of the data sets and so on, and we will guide the users to to the right provisioning method either based on replication or clone, and Shell will automate everything for you. 00;11;22;27 - 00;11;53;29 So, users will have to do any tricks and configurations. It's all integrated and with with the together with all of this, the router management that is another piece of the solutions. And one of the things we we were also careful when implementing the Admin API was to follow best practices as we would deploy the topologies with the recommended settings as defaults. 00;11;54;07 - 00;12;21;04 Then users can change of course, but we tried to follow the best practices. So, this is what the API is about. It's an API built in shell, in shell, everything is written in C++ just so the details and then those things are exposed as APIs in JavaScript and Python. So, you can access the the language of your choice, you can script it. 00;12;21;13 - 00;12;47;14 You can also call Shell with this command, the command line API. So, you can call Shell as the shell binary and in a non-interactive way, so called the shell binary. And after that you can pass the parameters to Shell and those parameters can be calls to the Admin API. This is good to integrating in other scripts or other tool things. 00;12;49;12 - 00;13;43;07 I think you asked before what's missing from the admin. That's that's the hard question that because there are so many things that can be done I can for example in with the general feeling that I get or one of the things that people ask recently is to have the an API as a standalone Python library, for example, the canonical folks were requesting that and there's there's a lot of people that's write scripts in Python to use the Admin API and those scripts have to call shell after a shell somehow there are multiple ways of doing it and then they they use the other API and some people think that it would be better if they could 00;13;43;07 - 00;14;14;21 import in their Python scripts the API is a standalone library, so this is one thing possibly missing that we might work on and provide to the users. Somewhat related would be a different approach Approach to that would be to have Shell running as a demon and with an HTTP interface and the API will in that case be exposed via REST. 00;14;15;08 - 00;14;55;22 So, people could just to the rest API calls to run the API. So, this will make the API language agnostic. So no JavaScript or python. This could be something nice. In terms of usability. So, the Admin API most of the output is JSON. This is a standard practice in this kind of API. So for example, when you call cluster starters, you get the status of your cluster in a JSON object with all the topology and the status based for every instance. 00;14;57;15 - 00;15;36;08 Maybe some people like to have a different output. For example, table or YAML, or text based and maybe add some colors on it. This could be interesting. What else? In terms of architectures? MySQL architectures there are some things missing. For example, support for multi-tier replication in replica set or or even with replicas. So, you could build trace of replication to offload servers to be something interesting. 00;15;36;08 - 00;16;16;24 There is something missing that I would like to work on eventually. That is a better framework for options management. So, option management, I mean settings of the cluster members, something better to apply a setting or no members or are a kind of this I would like to call it an options framework. So, make it easy to change options so users could do those things using the Admin API instead of logging to each instance and do the changes manually. 00;16;16;24 - 00;16;48;15 There are some things to work to integrate better. MySQL router in the sense of manage management of other instances and also monitoring. It would be nice to have something like this called self-healing. For example, you have a cluster and one of the members is missing, but it's reachable. The way to to solve that is to call a rejoin instance. 00;16;49;05 - 00;17;09;11 We have a cluster self-healing command that will call the command, and the command will take a look at the cluster status. And for example, if this is an instance missing but is reachable, will rejoin it or if it needs that the risk and needs to be called will call it. So, kind of a command to encapsulate that would be could be nice. 00;17;11;02 - 00;17;41;19 We also have some things missing regarding the enterprise features. So, support for firewall or enterprise Firewall and enterprise audit as well. Yeah. From the here that's a can remember now and also what I can share but is missing from the Admin API. So there's there's work to be done. It never gets boring. Yeah it seems so so you have plenty of new challenges. 00;17;41;19 - 00;18;09;25 So even if we reach something very mature right now, we can see that there is still plenty stuff to do. But, you know, I will tell you a secret. I have deployed maybe once or twice a group replication manually wrote all of the rest of the time. I always use the the admin API with MySQL shell and the and even asynchronous application. 00;18;09;25 - 00;18;38;23 Now I would say I don't even remember how to do it manually. Replica set is so easy to do, so there is no secret than that. So yeah, you said that MySQL Shell support so as well, which is great of course Python and JavaScript. But I've also heard from the users, you know, and I know we provide all the binaries, but there are still a lot of people in the community that likes to compile themself. 00;18;39;05 - 00;19;06;18 Their binaries, right? And they compile also the shell and the, but these guys, they tend to skip building MySQL Shell with the V8 engine, so the, the engine for JavaScript. So, I would like to ask you if there is an issue to not have a JavaScript support in the shell, because when we check our documentation or blogs most of the time everything it's written using JavaScript, right? 00;19;06;26 - 00;19;46;18 So, would it be a problem to not have a JavaScript compiling in my shell? Well, no, not at all. It's just a c-make a flag, you can disable it and you can get shell without V8 and without JavaScript support and there's no issue at all anyone can do it. And I so there are historical reasons why about your the second part of your question, the way we we have documentation and examples all written JavaScript and it's historical reasons, JavaScript was was the default of shell. 00;19;46;18 - 00;20;11;26 It's changing in the next release to SQL by the way. So, JavaScript was the default for historical reasons because of the dev API, and that's why the other API examples and so on were all written in JavaScript just because it was the default. I think now we understand that very few people use it in JavaScript and most of our users use it in Python. 00;20;12;13 - 00;20;48;01 So, I think that we should definitely start blogging and exemplifying and possibly changing the documentation to, to use to write the examples using the python. So yeah, we should definitely do that. Yeah. Thank you. Yeah. So there is no limitations to everything that you expose in JavaScript. You expose it also in Python. Right? Exactly. So like I was saying before, Shell is written in C++ and then we have language bindings and we expose the APIs in both Python and JavaScript. 00;20;48;08 - 00;21;09;15 If Shell is built without JavaScript support, then those are only exposed in Python. So there's absolutely no no limitations. And I have a favorite feature of MYSQL shell, which I'll share after you tell us what is the feature that you like the most or use most often that you don't think other people know about or don't think they use enough? 00;21;09;18 - 00;21;28;12 Has to be one. I think I have many. There's one that I think a lot of people are not at least not aware of it, and that's the built in help system. I see people relying on the API documentation and so on went online when they could have it in shell itself and it's so easy to access it. 00;21;28;12 - 00;21;57;12 Just do slash help or slash backslash help or backslash question mark. And then after it you put text and you can have access to, to the to the built in help system. So, for example, the backslash Admin API and it get the description of what the admin is, what objects are available on the API or what the classes and for example is the backslash cluster and it will print to the available cluster commands. 00;21;57;26 - 00;22;24;15 Then it can access every single command, help information. It's really, really helpful and you do it all in shell. You don't need to go to a browser or anywhere else to consult that information. And there's there's more to that. You can even, for example, connect to an instance. You establish a session to an instance, and you can access the information about the the commands you can do. 00;22;25;05 - 00;22;52;16 The backslash help, for example, show and it'll give you the information about show or transactions or all the the the supported and MySQL commands. And this is really good sometimes I'm writing a query and I need to understand or to get some extra information about some specific command. And I just do it in Shell and this is just awesome. 00;22;52;16 - 00;23;14;28 But there's, there's more. Okay. And this one Fred loves that is the plugin supports that. Fred even has a repository in GitHub with lots of plugins. So, what I also contributed to some of those and I think this there's still some people that are not aware of it. You can extend Shell, you can write your own plugins in Python. 00;23;15;13 - 00;23;46;04 It's it has become really, really easy to do it and it's awesome. I wrote my own plugins to do management of my testing environments. For example, and I love it and I think people should be, should be, should use it more. So that's one of my favorite features. I have more. I don't know if you want to share your Scott Well you stole mine...it was the help system. 00;23;46;06 - 00;24;13;09 Oh right. Oh cool. Yeah I use that. I use that all the time because I just can't remember the, the exact syntax or most of the time it's, it's trying to make sure that I have the options right for whatever, you know, configuration block...
/episode/index/show/d0cd255f-ccaf-4b55-a7da-5825f8230161/id/31152458
info_outline
MySQL Goes LTS! (Stories From the Cloud)
04/22/2024
MySQL Goes LTS! (Stories From the Cloud)
The MySQL Team has implemented a new versioning model that includes LTS. Geir Hoydalsvik, Senior Director of Software Development for MySQL stops by to give a primer on this new versioning model and breaks down the differences between the '8.0' releases and the 'Innovation' releases. ------------------------------------------------------- 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;32;01 - 00;00;55;00 Hello and welcome to Sakila Speaks, the podcast dedicated to MySQL. Hi, I'm leFred and I'm Scott Stroz and I'm Geir Hoydalsvik. Yeah. Today our guest is Geir Hoydalsvik, software developer, director, responsible for MySQL development and maintenance of the MySQL database. This includes the following teams: server General, Runtime Optimizer, InnoDB, Server QA, and Sustaining. 00;00;55;04 - 00;01;19;15 Am I right? Yeah, that's correct. Geir, in April, the very first LTC version of MySQL will be released. Can you tell our listeners why this is significant? Yeah, that's the answer to kind of a customer and user request is to have stable releases that people can pick up security bug fixes, for example, without risk of having regressions by new feature and so on. 00;01;19;15 - 00;01;47;18 So, the long-term support release that we call LTS is actually stable for eight years, that people can buy support for this time period and essentially, they're guaranteed stability for a long time. Thank you. So between the LTS, so the major release, we will also release innovation releases. So, are those developments releases, or are there also production GA quality? 00;01;47;28 - 00;02;42;26 Thank you. A good question. They are also production quality. So, the current plans are that every second year we will release an LTS release and between two LTS test releases we will release, as you said, innovation releases every third month. So, there will be roughly eight of those between two LTS and they are production quality so people can get support or will get support with having these releases in production and this will be for people that are okay with more frequent changes and, and are willing to spend the energy of upgrading and so on between these and perhaps also take into account that releases features can go away deprecate old deprecated features can be 00;02;42;26 - 00;03;08;28 removed in innovation releases while they're never removed in LTS releases. So that's what people need to keep in check out, but they're absolutely useful and they will be supported. So as a follow up to that, what's the difference in the numbering between the LTS releases and the innovation releases? When it comes to version numbers, there is kind of a transition now between eight oh and eight four. 00;03;08;28 - 00;03;46;16 So, the first LTS release will be called 8.4 and that becomes in April. Then the main the LTS releases will be called 8.4.1, 8.4.2, 8.4.3, 8.4.4, 8.4.5 and up. So, the maintenance releases of all that LTS will be called like that. Then at the same time we will start producing innovation releases for a 9 series. So, there will be and I know 9.0, 9.1, 9.2 and so on up to 9.7 that is planned to be the next LTS release. 00;03;46;16 - 00;04;13;24 And I think in the future it will be probably more like 10 will be the next series and then 11, or at least that's how we think about it today. So, you can say that 8.4 is a little bit an exception there. That transition into a 9.0, 10.0, 11.0 and type of numbering. And then the second number will be the innovation release number essentially. 00;04;13;24 - 00;04;46;00 So, the main is the first one, the LTS number, and the second is the innovation, roughly speaking. So, it's our understanding that all of the MySQL products will follow the same release model, but not the connectors. Can you talk about that? That's that's correct. So, all the server-side products will follow the same LTS model. While on the connectors side, you are recommended to use the latest connectors that will then support all previous releases. 00;04;46;00 - 00;05;22;28 So. So when you use the latest, you can use the current release and everything older kind of thing. So that's how it works. And yeah, it's a pragmatic choice that we feel is what users want us to do is actually. So, when we see what will and what will happen with the LTS, something that I noticed is and for me maybe the most significant change is compared to what we had with the MySQL 8.0 is that in the LTS lifecycle, the downgrades and clone between different minor version will be supported, isn't it? 00;05;22;29 - 00;05;50;19 Yes, that is correct. So, this is a change from 8.0 train in 8.4 we will support upgrade and downgrade between any maintenance release like let's say 8.4.2 and 8.4.5 and you can go up and down between those both upgrade and downgrade and you can also clone in any direction between those two. 00;05;51;12 - 00;06;16;23 So that's also something that people have requested because they feel then they can more safely upgrade because there is an easy way to downgrade and so on if something is not working as they expected or something. So yes, thank you. This was really something that people were requesting. So that's great. Yeah, I can see how that's really going to help. 00;06;16;25 - 00;06;46;05 You mentioned MySQL 9.0. If a customer starts using MySQL 9.0 when it's eventually released, how long would that be officially supported? Using our new licensing model. The current plan is to have an innovation release every third month and then you can say that that is supported until the next innovation release. So, let's say if you're on 9.1, let's say that you're using innovation release the release called 9.1 and then three months later there will be a 9.2. 00;06;47;02 - 00;07;18;04 So if there is, for example, an issue that we have fixed in 9.1, it will be shaped as 9.2. So, people then need to upgrade to 9.2 to get that fix. That's essentially the model of innovation releases. So you need to go to the next innovation release to get the fix. And while for LTS, you will get every third month fixes to the stable LTS and that's how they differ, so to speak. 00;07;19;03 - 00;07;52;05 Another thing in in innovation releases, we will from time to time remove something that is has been deprecated before and this will not happen in in LTS releases. So, they are also stable in this respect. There is no removal or not anything that just critical bug fixes period. While innovation releases there is a little bit more the new features, removals and these things that then you need to follow the release notes on. 00;07;52;05 - 00;08;15;11 Yeah, thank you very much. So, I hope this will help people to understand our new model and the we are very expecting and looking forward the first LTS version of our MySQL. So, the first one will be it for next month. So, we are very happy with that. We are also looking forward to this, looking forward to see people's reaction on this. 00;08;15;19 - 00;08;34;13 Geir, thank you for joining us. We really appreciate it. Thank you very much. Thanks to both of you for having me. That's all for this episode. Thank you to our guest Geir Hoydalsvik and thank you for listening. Please join Scott and I again next time for another Inside MySQL: Sakila Speaks. That’s a wrap on this episode of Inside MySQL: 00;08;34;13 - 00;08;56;07 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.
/episode/index/show/d0cd255f-ccaf-4b55-a7da-5825f8230161/id/30938408
info_outline
The State of the Dolphin
04/09/2024
The State of the Dolphin
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...
/episode/index/show/d0cd255f-ccaf-4b55-a7da-5825f8230161/id/30746513