SkySQL: A Next Generation DBaaS from the Source - Rob Hedgpeth - MariaDB Cloud MiniFest 2021
Jun 9, 2021 18:14 · 3340 words · 16 minute read
Hello everyone and welcome to MariaDB Server Cloud MiniFest. Today I’m going to be talking about MariaDB SkySQL. A new database as a service offering directly from MariaDB. But first things first, I want to go ahead and introduce myself. My name is Rob Hedgpeth and I work on the developer relations team at MariaDB Corporation. Basically what that means is I try to do anything and everything I can to help improve the experience of using MariaDB and MariaDB products.
If after this session you have any questions, criticisms or feedback for myself, please feel free to reach out to me at robh@mariadb. com. You can follow me on Twitter at @probablyrealrob or you can check out some of the code samples that I’ve gone ahead and uploaded to GitHub at rhedgpeth. Now, let’s go ahead and dive into it and talk about MariaDB SkySQL. What is MariaDB SkySQL? For that I like to start with a very simple example. Of course, you can see that I’ve got this yellow bucket, we’ve got some files pointing or pictured files pointing into this yellow bucket.
This is really meant in the simplest sense to represent what a database is. It’s simply at the very lowest level, a way that we can be able to persist information or persist data. Of course, if you’re attending this MiniFest, you understand that of course MariaDB is a database. Of course, it’s a lot more complex than that, but we’re going to try to build off of this going forward. To understand SkySQL really, I’m going to put just a very simple image behind it which is this picture of a cloud.
The cloud itself is really here to help us represent a database as a service (DBaaS). This ability to abstract away a database and rather than having to take a product and install it or configure it directly onto some machine that we may have access to or even a machine in the cloud, we can actually be able to utilize a database as a service. So spinning up a service that’s available some place else and be able to use that. That’s what SkySQL is.
MariaDB SkySQL is a database as a service provided directly by MariaDB Corporation. Well why would you use a database as a service? For some of you there may be varying reasons for this, but at the highest level it’s an abstraction. It helps us eliminate certain things, such as the requirement to provision or allocate resources or a machine, whether that be virtually or a physical machine in order to be able to contain this database. Having to go through the process of setting up that machine or virtualized environment and then be able to download, install MariaDB database and then be able to configure it to the needs of our solutions or applications.
Even getting into the details of how we set up security of not only how you can access the database, but then once you have access to the database, what kind of authorization is in play to allow you to be able to do certain things within the database environment itself. Instead, the dream here is that on the left hand side you can kind of you abstract this away as any solution, there’s some code on there, but it’s some kind of solution that you as an engineer are trying to create.
It uses a database, in this case we’re using MariaDB. The dream here for a database as a service is that we get this easy button and then “poof” a database exists. Of course, we all know that it’s not necessarily that simple, because as engineers and then for the requirements of a lot of our solutions, we need a certain amount of levers and buttons and really some knobs, that allow us then to be able to tune or configure the database settings, in a way that will actually work for what we’re trying to create, which brings us into MariaDB in the Cloud.
MariaDB in the Cloud as you may already know already exists. You likely think of some likely solutions that you may or may not have already used at this point. These are what I’m classifying as third party and really the first generation or first attempt at a database as a service using MariaDB in it. They are very viable and something that you can still use today. You can use them in RDS, Amazon Relational Database Service. You can use them in Azure databases and MariaDB is available in these cloud service providers.
They allow you of course to use MariaDB Server, you can use them for a variety of different use cases, but all in all, they are a self-service design that allow you to spin up and use MariaDB service bits, to create a MariaDB service, that is available to you in the Cloud. Where MariaDB SkySQL comes into play, is that MariaDB SkySQL, just the highest level, the biggest difference, is that it uses the MariaDB Enterprise Server bits. Of course, when you use Enterprise Server bits then you get a lot of the benefits of Enterprise grade functionality, such as being able to get that on premises reliability, enterprise grade governance, the custom ability, the customizableness, a bunch of words that I’m just making up at this point, but the ability to customize the MariaDB database.
Not only that, it’s a fully managed service provided by MariaDB Corporation. With that, it comes with a certain amount of expertise and experience, that you get from long-time MariaDB-ers and people have used MariaDB in the field, with a ton of experience. Now enough with the marketing side, let’s get into the actual architecture bits of what MariaDB SkySQL is. At the highest level as we see here at the top, you will see that I have got this icon for servicenow.
Servicenow is a platform as a service that we are using to be able to provide the front end or the user interface, that you as an engineer, as a user of MariaDB SkySQL can go into, to be able to organize the databases, be able to do everything from inventory management to manage the configuration of the database itself, as well as the workflow that is involved in setting up and maintaining MariaDB. That’s a pretty abstracted or pretty high level example of this.
Of course. we’ll dive into actually seeing what the portal looks like, but underneath the hood, what is happening here is that MariaDB is provided to you through different Cloud providers, such as Google Cloud and AWS currently and then we are working on Microsoft Azure in the future. All of the cloud providers utilize a SkySQL control panel. That control panel then exposes the ability for servicenow in the portal, ultimately you as the user, to be able to set up and manage your databases which exist as a SkySQL service instance.
We are able to do this using Kubernetes, as I mentioned before and if you are not familiar with Kubernetes, I highly recommend you go out do some quick googling, go check out some of the resources that are available online for Kubernetes. The highest level what this allows us to do is take the Kubernetes API, in a very ubiquitous or very standardized way and then be able to manage the database instances, using the different Kubernetes engine services on the different Cloud providers in a uniform way.
This allows us then to combine some of the aspects from Kubernetes, that take advantage of Cloud native capabilities as well as something called self-healing and combine that with features like MariaDB MaxScale which is a very useful database proxy, specifically made and tailored for MariaDB database servers. All in all, what you need to know from this slide is that we’ve provided a very standardized way across the different Clouds to allow you to be able to quickly use MariaDB Enterprise as a service.
Of course, there is a lot more to it and if you have more questions or want to get a better understanding from a technical perspective of MariaDB SkySQL, I highly recommend you go out to mariadb. com and check out the enterprise documentation on MariaDB SkySQL. What we want to do now is transition, to actually taking a look at MariaDB SkySQL, because rather than go into more slides and dive deeper into the architectural capabilities or some of the service offerings, I want you to go ahead and get a quick look at what MariaDB SkySQL is and how you would be able to use it, if you were actually signing up and taking advantage of it right now.
For that I want to go ahead and jump over into a new browser window, where I have already navigated to mariadb. com/skyview. That resolves to product/skysql/get-started/. This is all in an effort to have a landing page from MariaDB SkySQL. When you first get to that page, it’s going to provide you with an overview of SkySQL. You have got some videos which allow you to step to the process, of how you would set up and then be able to connect to SkySQL.
You are going to be able to see some of the features, the customization possibilities for SkySQL, as well as some pricing and some of that stuff. What we want to look at here is actually the process of jumping into the SkySQL portal. We want to take a look at what SkySQL looks like so to give us a better idea of how we would be able to use it. For that, we are going to go down on this “Try Now” button. If it was your first time coming into this page, what you would be prompted with is, you would go ahead and create a MariaDB id, so an account with MariaDB and then you would go through a couple of steps of registering, the fact that you want to sign up with SkySQL.
I have already done that and I’m just going to click the “Try Now” and it is going to take us directly into the SkySQL user interface, which again is powered by servicenow, a platform as a service. When I click “Try Now” it’s going to take me directly to cloud. mariadb. com/skysql. This is the portal that I have been talking about, where you can go and set up a new MariaDB database service instance, new databases that you can utilize from your workstation or any other workstation.
When you first get in there you are actually going to get sent to the screen, which is going to prompt you to launch a service. When you first enter this you are going to see, that you have a couple of options here, from Transactional which is going to allow you to use your standard OLTP instances of MariaDB, you have the ability to use an Analytics service, which is going to use something called columnar storage, which uses MariaDB ColumnStore, which is a particular pluggable storage engine that you can use with MariaDB.
You have the ability to combine those, so you can use OLTP as well as something called OLAP, where you can combine transactional data with your analytical data in something called hybrid transactional analytical processing, or as we see here HTAP, that allows you to combine the best of both worlds there. Then at the bottom you can see that we have something called Distributed SQL. That has been provided as a scalable or an elastic way to handle massive amounts of information, in extremely elastic and scalable manner, using a MariaDB pluggable storage engine called Xpand.
12:34 - Now, when you get to this page, you can click on one of these and what you’re going to be prompted with whenever you want to launch a service is you’re going to have the ability to change some of the information, some of the things that you expect to be able to change. First and foremost you have the ability to choose one of the two supported service or cloud service providers: Google Cloud or AWS. So, you’ll select one of those and from there you can select a region or regions that you want to have this MariaDB service instance just depending on if you have localization requirements or something like that.
From there you want to select a topology and this allows you to be able to set up, in this case, from a transactional service the ability to create a standalone instance of the database service, so, maybe, you want to create something to run your development environment or your testing environments, to being able to set up high availability using a primary replica setup or even clustering with Galera. After that you’ll have the ability to set up or allocate resources that exist in the cloud by determining an instant size where you pick both the CPU or the virtual CPUs that you want to use, as well as the amount of memory and, of course, then you’ll get a dollar amount that tell you exactly how much that costs.
From there you can allocate certain storage sizes, you can pick the server version of MariaDB, as well as, probably, the most important part for being able to actually utilize this service which is give it a name. From there you’ll just launch a service. Now, I’ve already launched a couple of services, so let’s go ahead and leave this page and take a look. Now, when you come into the services that you’ve already created you’re going to be presented with information of whether or not the service is up and running, you’re going to have the information as far as what you named it, as well as the version that you chose and the types of resources that you’ve allocated to this service instance.
Now when you click into this service, what’s going to be important here is that as well the information that you already know about which is: certain amount of data that you’ve allocated or the actual instance sizes that you’ve set aside or you’ve picked out for the particular service. You’re also going to get information once it’s a spinning instance of things that will help you actually connect to it such as the address for the fully qualified domain name as well as the port that you can access the service instance.
From there you’ll have to add your IP or a range of IPs so they’ll give access to the machines trying to access MariaDB SkySQL. Then you can show credentials by clicking the “Show credentials” button and it’s going to give you the username, the password, as well as some prompts for information to allow you to connect to MariaDB SkySQL. You have the ability, once you’ve spun up an instance, to be able to customize your configuration using the Configuration Manager (that I’ve clicked on the left hand side).
By default, of course, you’re not going to be required to fill in any configuration. That is part of the ease of use or the simplicity that comes with using a database as a service. You’re already going to have some default configuration, but in the MariaDB SkySQL you have the ability to get in and change the system variables. So, if you want to get in and configure your database instance to your workload or to your solutions, you have that capability.
Continuing on this left hand side, you can see that you have the ability to check out the tech preview of something called “Workload analysis” and what “Workload analysis” allows you to do is it takes into account the information and the activity on your database to help establish workload trends over a course of time. Now, traditionally we’ve probably thought of workloads as being write intensive or read intensive or maybe a combination of the two. But over time, we’ve realized that workloads are more complex than that.
They can change hour to hour, day to day, week to week and they can have different peak times (at night or on the weekends) and what “Workload analysis” allows us to do is utilize the power of machine learning to help us optimize exactly how we’re using the resources and to be able to plan for how we can use and and capitalize on those resources both in a time management and a cost-effective way in the future. So, if you’d like to check that out just go ahead and click on “Workload analysis”.
Now, getting back in our portal, you also have the ability to check out real-time monitoring using the monitoring solution for MariaDB SkySQL. So, when you click it it’s going to prompt a new window, it’s going to open up a new tab and then you’re going to see your services. Now, once your service is here, you can actually click into your services and you can see different live or real-time monitoring information available within this UI. You can check out exactly the type of SQL commands that you’re running, you can check out more information on the database such as open connections, table locks.
You can check more detailed information about the queries, so you can see what queries are are running most often, you can check out your queries per second, your transactions per second. You can even look at the utilization of resources on the machines within SkySQL services, so you can check out CPU load or memory usage. Of course, you have the ability to check out the MariaDB SkySQL documentation directly from the SkySQL portal (at https://mariadb.
com/products/skysql/docs) which will give you a full set of documentation for MariaDB SkySQL. I highly recommend, after this session, if you’d like to know more information, just head directly out to the docs. You can access them completely free, you can check out any of the information and for those of you like myself, that like to dive directly into the code or into the examples, this is a great place to do that. Lastly, one of the benefits of using a fully managed database as a service directly from the source of MariaDB Corporation is that you’re going to have expert support.
You’re going to have support directly at your fingertips to allow you to reach out and ask questions about your SkySQL database service instance directly integrated into the SkySQL portal itself. And that’s really it. That is the quick and dirty of MariaDB SkySQL. Let’s go ahead and check out these slides here. For this last one, I would like to say thank you very much for attending this session. If you would like to learn more about MariaDB SkySQL please head to https://mariadb.
com/skyview. There you can find out more of the information such as the capabilities, the features, as well as pricing, but if you’d like to go ahead and just, from a high level, if you’re interested in checking out MariaDB Server and getting started with MariaDB, please go and check out the MariaDB developer hub, which is at https://mariadb. com/developers. There you can find a bunch of open source solutions and examples, blog posts, tutorials, webinars, videos, that will get you started using MariaDB in a variety of different languages, ecosystems and platforms, so that you can go ahead and check out MariaDB.
If after all of this, you still have questions, please feel free to email us at developers@mariadb. com, you can follow us @mariadb on Twitter or you can go ahead and check out all of our open source examples including MariaDB Server on mariadb-corporation on GitHub. With that, I would like to say thank you very much for attending this session and I hope you enjoy the rest of MariaDB Server Cloud Minifest. Have a great day!.