What is our primary use case?
My main use case for MySQL on Ubuntu is integrating it via AWS cloud, and we are working on the Python side as well. All Python apps run on Ubuntu, so for the back end, we set up the database using MySQL. Those databases we integrate with Python.
A quick, specific example of how I use MySQL on Ubuntu in one of my projects is based on an e-commerce platform. We have an e-commerce application that we are working on. Specifically, it was designed in the Python language. We have a simple cart process, checkout process, payment gateway, and all these things integrated. All the database is handled and we are using third-party web services for payment. Basically, all this content and all the data are stored in a MySQL on Ubuntu database. Because it is an e-commerce application, we use third-party web services, and those things we store in MySQL on Ubuntu.
For the main use case, whenever we are using MySQL on Ubuntu, mostly we are using it for the web application for different properties such as user account, login system, profile, comment, and post. We are using the e-commerce application and we use MySQL on Ubuntu to store all types of transactions. We support data consistency. Then we have order processing. If we make the reliable order processing, in that case we are using that as well. It will store the user data, product data, order data, payment data, and most importantly, inventories. These are the main features I can consider.
What is most valuable?
The best features MySQL on Ubuntu offers mainly include the storage engine, such as the InnoDB storage engine they are providing. Because it is the default engine on Ubuntu, I can say that it is rock solid on Linux and handles crashes very well. Whatever crashes we get, it will handle them very well. The InnoDB storage engine I can say is a base feature. Another thing is strong Linux integration I can see in Ubuntu. They provide features such as system service management, native package support via apt, and easy automation we can do. I consider Ubuntu as a very fast operating system. From the point of view of performance and speed, MySQL on Ubuntu is very fast. Basically, it will optimize for the Linux kernel, efficient memory usage, and excellent indexing. Those features we can elaborate on. It will be used for whatever heavy workload because in an e-commerce application, generally sometimes peak time occurs. Some events are going on, and at that time, sometimes peak loads come on the system. MySQL on Ubuntu combination handles it in a very efficient way. Another thing I can say is that why Ubuntu plus MySQL on Ubuntu is popular is easy maintenance. Easy installation and maintenance they provide. Also, it is scalable, very much scalable. Additionally, providing security is the main feature I can consider, along with user management.
MySQL on Ubuntu has positively impacted my organization because whatever features I mentioned here are the best features we can use in our organization. For that, we get some benefits such as cost reduction. The result is highly reliable and stable because both MySQL on Ubuntu and Ubuntu are both open source. We can save a lot of money in that case. Because there is no licensing fee and no infrastructure build-up cost, we get the benefit. Another thing I already mentioned is that high reliability and stability they provide. They provide long-term support. MySQL on Ubuntu InnoDB crash recovery features we can mainly use in our organization, maturity of the Linux kernel. Those things we are using. Faster time to market I can say, quick installation, easy configuration, and large ecosystem they provided for our business growth because we are dealing with the e-commerce client. There is a large number of chances that their business can get growth. In that case, we can have scalability with MySQL on Ubuntu plus Ubuntu. Then, it provides strong security and compliance because of role-based access, encrypted connections, and Ubuntu security updates. Those help us. Then developer productivity, I can say, excellent performance for the core workload, easy maintenance and operation, and vendor independence. Those kinds of features we can use in our organization and we take the benefits.
What needs improvement?
MySQL on Ubuntu can be improved in a couple of things in my mind. I can consider performance-wise, scalability-wise, reliability, availability, security, and operational simplicity. Right now it is good enough for ourselves or our organization. But if it is considered from a scalability perspective, currently, MySQL on Ubuntu scales fairly well. Write scaling is hard and manual sharding is required. In that case, what we can improve is native sharding support, better distributed write handling, and easier multi-primary setups.
For performance optimization, I can say currently the limitation is the required expert tuning. The default configuration is conservative. What we need to do in that is auto-tuning based on the hardware, better index recommendations, and smarter query optimization.
Another point is high availability. Currently, what happens is that replication setup is complex. If you make the setup but if you want to replicate it, it will be complex. What we have to do is build in automatic failover, easier cluster setup, and faster recovery time.
The fourth thing is security enhancements. Currently, whatever security is set up is manual. Misconfiguration risk is there. What we can improve in that is secure-by-default configuration and mandatory SSL in production because SSL is very important nowadays. This thing we can improve. Stronger password policy by default. For the security perspective, we can provide a stronger password policy by default.
For recovery and backup simplicity, I can say that currently, we need scripting for the backups and recovery testing is a manual thing. What we can do here is built-in backup scheduler. We can run one scheduler and every day it will take the backups. If we can have it, it will be great. One-click restore and automated recovery validation. Those things we can improve.
Another thing is observability and monitoring. Currently, what happens is limited built-in visibility and external tools required for that. What we can do here is provide native performance dashboard, query heat maps, and bottleneck detection. Those things we can improve.
Another thing I can consider is at the Ubuntu level. Because if you consider, the OS and DB configuration is disconnected and kernel tuning is also manual. What we can improve in that is DB-aware kernel tuning, better file system defaults for the DB workloads, and pre-tuned DB server profiles.
I can say cloud-native enhancements. Right now we are working on a traditional architecture and manual cloud optimization. It would be better to have Kubernetes native auto-scaling and storage-aware tuning. Those can improve my area for that.
Another thing is developer experience. Debugging a query is hard. Currently, if we are running on Ubuntu and code something, there are no other tools we are using. Debugging is very hard. Also, error guidance is limited. We can say that a clearer error message, query rewrite suggestions, and schema change safety checks by default. Those kinds of improvements we can do.
I can say I mostly covered the improvements needed for MySQL on Ubuntu, but one thing I can say is that there is also some limitation on the governance and compliance base. Auditing needs configuration. Some configuration we need to read. Compliance reporting also is manual right now. We can improve that with built-in audit templates, compliance-ready modes we can provide, and easier data masking we can do. Those things we can add also.
For how long have I used the solution?
I have been using MySQL on Ubuntu for seven-plus years, and mostly we have integrated MySQL on Ubuntu. It basically provides different kinds of features. I can say that for seven-plus years I have totally worked on MySQL on Ubuntu.
What do I think about the stability of the solution?
MySQL on Ubuntu is stable. Even if it is an open-source tool, it is very stable. In real-world production use, it has been consistently proven across startups, mid-sized companies, and large organizations as well. Because it is on Ubuntu, it is highly stable.
What do I think about the scalability of the solution?
MySQL on Ubuntu is scalable. We are dealing with an e-commerce application. That is why we have a heavy load transaction workload. Sometimes it will increase the demand and we need to scale. I can say that MySQL on Ubuntu can be scaled. I can scale it here without any hesitation.
How are customer service and support?
Sometimes, we need to reach out to customer support for MySQL on Ubuntu because of some setup configuration issues. They provide strong and reliable support because it is an open-source community. We also get some solutions from online, but sometimes we need to reach out to them. I can say that it has got strong support and they are available 24/7.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
Previously, in my first company, I used Oracle Database and Microsoft SQL Server. I tried Oracle Database on Ubuntu. I can say that there are some limitations, such as the extremely high licensing cost Oracle Database provided, costly audits and compliance pressure, and complex administration. Those things are overcome by MySQL on Ubuntu. Ubuntu plus MySQL on Ubuntu removed the licensing fee, first of all. We can do similar transactions with InnoDB, and it has much lower operation overhead. That is the reason I just moved on to this system.
How was the initial setup?
Regarding my experience with pricing, setup cost, and licensing for MySQL on Ubuntu, I can say that it is a free tool. MySQL on Ubuntu pricing is zero licensing cost. Because the community edition is provided for free, I have a great experience with that. We do not have to pay anything for that. But if you are going with the Enterprise edition, there is some paid support provided for that. And if there is also Ubuntu licensing we need, such as if we are increasing the servers. But whatever free installation and all, it will cover everything. I am not going on the premium side, but it is good. The second thing, on the timing base, it will not take much time to configure. On the Ubuntu, I can say the setup cost is also limited because we are using a less amount of resources.
What was our ROI?
I have seen a return on investment with MySQL on Ubuntu because I can say that everything we can do here is save money and time, and even we are using a small number of team to handle it. Because if we are using a small number of team to handle it, it will definitely save the money. This infrastructure is not very complex, so it always saves the time as well. I can consider every parameter is positive.
What's my experience with pricing, setup cost, and licensing?
I think we can reduce licensing cost saving with MySQL on Ubuntu because there is no cost. In that case, we are also saving time because other providers have additional costs. I can say organization-level saving as well. A small company needs only 5 to 10 servers. A mid-sized company needs only 50 servers. For a large company, we need only 500-plus servers, approximately. In that case, we are saving some money in each case. Then support and maintenance saving because it is a very easy support, free support provided, and maintenance is also very cheaper. Another thing, hardware efficiency saving, I can say that because it runs well on smaller machines with efficient memory usage. Linux has a lower overhead than Windows. This impacts our 20 to 30% of servers needed, fewer servers needed for that. We can save lots of dollars on that. Downtime cost reduction is also there. Cloud cost saving is also there. Cloud means that generally, we are using the cloud, but this is a smaller system, so it will reduce the cost for the AWS cloud also because we are using the AWS. Those are, I can say in the short term, the number of servers we can save, on-prem or cloud, we can save.
Which other solutions did I evaluate?
Before choosing MySQL on Ubuntu, I evaluated other options such as PostgreSQL, Microsoft SQL Server, Oracle Database, NoSQL database, and cloud-managed database. Those things we considered before that, but I recommend MySQL on Ubuntu, which is profitable to our organization. That is why we are going with it.
What other advice do I have?
If you guys are considering any scalable application such as e-commerce or anything, and if you need the secure configuration with the low cost, I can totally recommend to you to use MySQL on Ubuntu. I would give this solution a rating of 7.5 out of 10.