If you were talking to someone whose organization is considering MySQL, what would you say?
How would you rate it and why? Any other tips or advice?
I would rate MySQL a seven out of ten. To make it a perfect ten, they should improve the UI. It's got quite a narrow range, and there's a lot more obvious to the database side than what I deal with. The UI is not quite as sharp I would say as the Microsoft solution. In some cases, I find that there are better shortcuts available in Microsoft solutions. If I was choosing, I would probably lean towards Microsoft. That may be just a purely personal preference. My use of MySQL has primarily been from a data integration point of view, a data architecture point of view, and reviewing the database itself, and the data structure, data types. In my role, I don't define data and I don't build the database, I'm purely on the interrogation and the analytics side. I probably would find the Microsoft solution slightly better. But MySQL does absolutely provide what I require from that point of view. So I would recommend it, yes.
My experience has been open-source. Oracle should start putting in some of the enterprise features in the standard version. There are some key features that should be part of the standard. Things like replication should be part of the standard version as opposed to it being in the enterprise version. I would rate them an eight out of ten.
The biggest lesson I would tell others is regarding the backups. Once you start doing it yourself, backing up becomes a thing. When we sign up the clients, we'll give them a set amount of backups daily and we always give them a little verbiage about how much data can be lost if the thing goes down. Or for example, if you get hit somewhere, what is the last backup you did? How much are you willing to lose? Backups can become quite complicated, and that's something that you have to manage yourself. We have to come up with clever solutions to do runs within our Dockerized environments in production, which you usually don't get from the community. So we have to do it ourselves. That became a thing quickly once we started going. But that was years ago. We resolved these issues on the way and we are still making them better over time - how we back up the data, the business, the compliance, where did the issue live, who should have access to that? All that stuff. So backups are usually the thing that people don't think about. And that can bite you in the ass kind of quickly. On a scale of one to ten, I'd probably give MySQL a seven. There's definitely room for improvement here in terms of tools that come with the product, the way we deploy it, and the way we back it up. In essence, it's a good beginner base. It's just, the tooling around the database needs a little bit more work. You just need to be fair because it is a good database. It's also an open-source database. You know you can get commercial products that Percona for a commercial version of MySQL or Aurora database MySQL. So if you go with that, then you would probably give a much higher score because you really don't see it at all. It's just close your eyes and click a button and it's there. You don't have to touch it at all. For us, since we deal with it every day and try to compete with the companies, the small DevOps team tries to be as efficient as they can, and sometimes you have to build too many things around the solution. The commercial products only have that because they put 20 to 30 people on JSON and they can give it to you faster. That's what Google can do because they're good at the tooling around the database. In the current requests of the work, MySQL Workbench is the default tool to interact with the database. Again, MySQL Workbench is an open-source tool that it gets directly from Oracle. It's okay. It's not the greatest. It gets the job done. It's not a finesse tool. It just gets the job done. If you hide it behind a main service and you don't see it, it's great. You're good to go. People talk about Amazon RDS and how great it is. But that's a managed product. If you peel the layers and look at the SQL in there, they put a lot of work around that. It's fully scalable. The money used and the way they restructured that SQL database to actually give you that performance took a lot of work for the AWS people. So they're not going to share that IP with you. And they're definitely not going to release it because other people can pick it up, like Google. Then Google has Cloud SQL, as well. So they also have a MySQL version in there and they don't show you how the backup is, or how they actually manage it or scale it. You don't get that information. So that's the trade-off between managed and non-managed or self-hosting. It's always that kind of battle, that fight. It depends on the money, depends on the client. If it's for a healthcare issue or one of the hospitals, you just have to decide what they want, what's the best for them and how they're going to be protected. So there are many variables that come into play. It depends on your use case. In general, it’s a good database, I have no problem with it.
We are IT services provider, and provide this solution to our customers. It's typically installed on a dedicated server. When we are working with it, we are doing SQL queries, and on top of that, we are using MySQL to do some reporting as well. It does what we want it to do and our clients are also happy with the results they get. It's a fine solution. I'd advise those considering working with the solution to be patient. We don't have any partnership MySQL. We are mostly a Microsoft partner. We mainly use the solution because of the community and the SQL server that's different from Oracle's server. From time to time we have to use MySQL. I'd rate the solution eight out of ten. From our perspective, it's free to use, it's stable and it's fast and scalable. It makes it a good option for many organizations.
The most important thing other potential users need to do is to look at the use cases for this application and to evaluate how it's able to handle heavy loads, etc. Users should evaluate how it handles high-traffic. They'll need to ask themselves: is the solution usable for my applications? I'd rate the solution seven out of ten.
I would suggest running tests against MySQL, MariaDB, Oracle, PostgreSQL, and MS SQL to determine which one best suits your needs (cost, development, and integration should all play in your decision-making process).
The overall service is great.