I’ve always been a bit baffled by the enduring popularity of MySQL. I mean, it’s great and we have been using it in many internal projects for years, but what makes it so popular even nowadays, when the competition from other vendors, commercial or open-source, is so strong? And yet, 26 years after the first release, MySQL is still the most popular open-source database in the world, an integral part of every web development stack, the one product you expect to find on every hosting platform, and, of course, in every public cloud.
MySQL: a database for all applications?
Developers love MySQL because it’s easy to deploy and operate, the learning curve is extremely low, it implements a “de facto standard” connection interface, and, most importantly, it’s lightweight and fast. Well, at least to a certain extent.
While “vanilla” MySQL is perfectly capable for small- or medium-scale projects, its popularity extends to the enterprise world as well, with companies like Facebook or Siemens operating massive infrastructures with database instances expertly tuned for high performance and availability. Other companies opt for managed offerings offered by cloud service providers – every major CSP has its own database service based on MySQL but augmented with its native services and sometimes with proprietary advanced capabilities.
However, even when highly tuned for the performance of transactional (OLTP) workloads, MySQL just isn’t designed for analytical processing (OLAP), since its database engine simply lacks the necessary functionality. Thus, even the most hardcore MySQL fans must face the necessity of a data movement and integration process with a separate database optimized for analytics. This process is not only time-consuming and expensive but also prone to significant security and compliance risks, especially in a public cloud.
Same database, but 1000x faster!
Back in December 2020, we have already covered the solution Oracle offers for this problem: the service that at the time was called MySQL Analytics Engine - renamed MySQL HeatWave soon after. Based on the in-memory database technology that the company has perfected over the years in the labs and real-world environments, the service is designed to run alongside an existing managed MySQL database, access its transactional data directly, optimize it for OLAP processing, and execute analytical queries, returning the results as if they were obtained by MySQL database itself.
From the user’s perspective, this works completely transparently, with the additional infrastructure fully managed by Oracle. The only metrics that change for a customer are performance (thousands of times faster than any plain MySQL) and cost (much lower thanks to the software being optimized for low-cost compute, storage, and networking on Oracle Cloud Infrastructure).
Fast forward to August 10th, 2021, and the company has just announced the next major release of the service with a machine learning-based automation capability called MySQL Autopilot. The unique value remains the same: Oracle Cloud customers can keep their data in the same MySQL database and still easily and efficiently run complex analytical queries against it, without any third-party tools or processes involved. However, the service is now significantly faster than before with the addition of MySQL Autopilot and the new Scale-Out Data Management layer.
Autopilot is not just for cars
The new HeatWave release incorporates multiple performance improvements thanks to its AI-based decision logic that uses a combination of automated analysis methods to identify the most efficient data management and query execution parameters, which are continuously optimized even further as the service learns on new queries. HeatWave is designed to tune its ML models separately for each user and can now even predict how the optimization will improve in the future with explainable change recommendations.
Other newly introduced AI-based capabilities include memory usage prediction that helps estimate the required cluster size just from a small sample of existing data; concurrent execution optimization that ensures that short queries are prioritized over the longer ones running in parallel, thus delivering interactive results earlier which is useful for mixed workloads; and significantly improved internal scalability to ensure that reload times remain constant regardless of the data size.
All these optimizations, according to Oracle, lead to the ability of the service to outperform its major competitors by a factor of at least 1400x, while remaining more economical in terms of overall cost than any other managed MySQL service. I’m sure you’ll find many tests and comparisons on Oracle’s website, but for me, the cost factor is not the most important by far.
Security and compliance benefits
At KuppingerCole, we focus primarily on the security of database solutions and compliance aspects of storing and processing data in the cloud. The very idea that your data no longer needs to move between data stores with different access models and security controls or that it has to be exposed to a complex and error-prone ETL process has massive security and compliance implications: this dramatically reduces the risks of accidental exposure that leads to data breaches, and, inevitably, to compliance fines. It’s also worth noting that HeatWave now enforces full data encryption, both at rest and in transit – a setting that users cannot deactivate.
In a way, Oracle continues to bridge the gap in functionality between MySQL, its popular open-source product, and the Oracle Database (ODB), the flagship enterprise one. One could argue that everything HeatWave can offer now, ODB already could do years ago. However, the company is making this functionality available to an entirely new audience, ensuring that people can utilize their familiar technology for new business use cases without the need to change anything in their existing applications.
And, of course, by being fully compatible with MySQL-based services offered by competitors (like Amazon Aurora or RDS) at the API level, HeatWave makes it easy for potential customers to migrate to the Oracle Cloud Infrastructure, while still avoiding the danger of vendor lock-in. After all, MySQL is MySQL on every platform, and if you ever have to move away from Oracle, you’ll face no technical difficulties whatsoever. Well, other than a 1000x performance drop, that is…