According to DB-Engines, MySQL remains the most popular open source database by a wide margin. The DB-Engine ranking, which considers factors such as search engine queries, technical discussions on popular sites, and job board postings, scores MySQL about three times more popular than the next leading open source database. A MySQL cloud database offers a proven alternative to legacy databases like Oracle and SQL Server for cloud modernization.
Over the years, the preference gap between MySQL cloud databases and other alternatives like PostgreSQL has narrowed. Today, the preference gap is narrow in some verticals and among some software developers. Hacker News compiled data showing PostgreSQL growing in popularity.
MySQL offers well-recognized ease of use and performance, and works well with web servers by design. Starting in the late 1990s, web hosts all over the world began standardizing on the LAMP stack. LAMP (standing for Linux, Apache, MySQL, PHP/Perl/Python) became the leading open source web platform, adopted by a large majority of popular Web sites across the world including Facebook, Google, Twitter, YouTube, Craigslist, and Zappos, and deployed as MySQL cloud databases by large enterprises.
There are also an abundance of handy tools for MySQL cloud database design and administration. This list of tools includes MySQL Workbench for database design and modeling, administration, and SQL development.
The first option for deploying a MySQL cloud database is to simply install it on a cloud-based VM. The base MySQL packages can be installed on Ubuntu in minutes, resulting in an environment ready for testing and customer configuration. Or just as easily, an entire LAMP stack can be quickly deployed for customized web application deployment.
Compatible MySQL cloud databases are also available from many value-added providers. Percona Server and MariaDB are each forks of MySQL, and both companies make versions which can be easily installed in cloud VMs.
A self-managed MySQL cloud database on a VM provides complete control of the configuration, including the software version. Self-managed VMs save cash since the only cloud cost will be for the VM. Plus, self-managed VMs work well for development and test environments because operators can start and stop the VM as needed.
A Docker-based MySQL cloud database may be an excellent way to meet requirements for several smaller databases with unique configurations. After deploying a Linux image in the cloud, it’s easy to install Docker and Docker Compose, and then pull an existing Docker MySQL container from the official MySQL Docker repository. This repository already contains MySQL version 8. Developers and DBAs can easily experiment with a Docker container to learn new MySQL cloud database features.
Oracle has provided a nice overview of this approach when using an Oracle MySQL image in this deck on SlideShare. Excellent technical documentation also exists on the Docker MySQL hub referenced above.
Like a single installation of MySQL, operators can self-manage Docker environments running MySQL databases. A single VM host can support several Docker instances each running a MySQL cloud database. Each container uses a YML configuration file to map its ports to a unique host port. For example, the first containerized MySQL cloud database might map MySQL port 3306 to 3305. The second containerized MySQL cloud database might map MySQL port 3306 to 3307 to avoid port conflict on the host.
The easiest path for creating a MySQL cloud database is to deploy a cloud-managed service. For example, Amazon RDS includes both MySQL and MariaDB which be instantiated in minutes. By deploying a MySQL cloud database in a managed service, the cloud provider applies all required software updates and patches. The cloud provider optionally also provides backup, encryption, replication, and monitoring of the MySQL cloud database.
Make sure to customize the firewall rules for your MySQL cloud database to allow the desired level of public access. It’s frustrating to wait for a remote MySQL cloud database connection when the cloud firewall settings are blocking the client.
Alternatively, many cloud application services like Amazon AWS Elastic Beanstalk provide ready-made LAMP stacks including a MYSQL cloud database developers can use to create and then deploy applications.
Getting the data into a MySQL cloud database
Now that we have deployed a MySQL cloud database, how do we migrate and modernize the data into it? Griddable migrates Oracle and other legacy data seamlessly across heterogeneous clouds and database types to your new MySQL cloud database. In addition, the Griddable policy engine provides user-friendly controls for modernizing and transforming data in transit. Griddable masks or encrypts any number of individual data elements using separate masking algorithms or encryption keys. It also filters and replaces data values, or selectively removes entire rows or columns, with an easily-defined user policy. Using Griddable, database switchover in production occurs in near-zero downtime.
Click the “Live Demo” button at the top of this page for a 10 minute, no-obligation tour. A Griddable MySQL cloud database migration or modernization may be the perfect gift this year.