Renewable Energy Company Migrates Entire Database from MySQL to Amazon Aurora – and Gets a Performance Boost for a Fraction of the Cost
May 4, 2016
Companies have learned the value of Big Data and the need to capture as much information as they are able to about their customer base. This often becomes a driving force in building out their database solution to house this growing amount of data. Although no one disagrees with the need to gather the data, how each organization chooses to house and grow the database tends to vary wildly from one company to the next. Navigating enterprise database solution providers is sometimes challenging when searching for a suitable solution; this market is dominated by a few large players offering enterprise solutions, like Oracle DB and Microsoft SQL.
On the opposite side of the spectrum are open-sourced solutions, such as MySQL. Organizations using MySQL end up sacrificing many enterprise features that other larger database solution providers offer. With Amazon Aurora, companies can now utilize an enterprise-scaled database solution without the overhead cost typical for the competition.
The true challenge comes in how to set up, administer, scale, and maintain an organization’s database of choice. Having to procure hardware, set up security protocols, build-out views, store procedures, and functions, not to mention attempting to build out the architecture to ensure near 99.99% uptime availability are just a few of the hurdles a modern organization has to contend with if they want to not only gather the data they need but store it in a way that is scalable and always available.
With the amount of data gathered growing faster than an organization’s ability to address it, alternative solutions are now being sought by many companies. This was the case for a client of ClearScale who was in the renewable, solar energy space. Over the years their client and project database had exceeded their hardware footprint and they approached ClearScale to find a solution that would allow them to grow as needed, be cost-effective, allow for continuous uptime during migration, and ultimately provide an enterprise-level solution with features including encryption, both when the is data stored and during transmission.
The MySQL to Amazon Aurora Migration Solution
As an AWS Premier Tier Services Partner, ClearScale has a large tool belt to create solutions using the robust AWS services that Amazon provides. Given the client’s requirements, we determined that migrating to Amazon Aurora would suit them best. With Aurora, Amazon has once again solved a persistent problem for customers needing to make the switch to a new database solution for improved performance and scalability, but hesitate to do so because of the overhead involved and downtime during the transition.
With Amazon Aurora, clients get a highly scalable environment that constantly evolves to suit their growing list of needs. Starting at a lower end of 2 virtual CPUs and 15 GB of memory and able to scale up to 32 virtual CPUs and 244 GB of memory, Aurora provides the capacity to process large amounts of data and requests — essentially 500,000 read requests or 100,000 write requests every second — with only 10 milliseconds latency. Paired with the ability to grow automatically from 10 GB of space up to 64 TB of space as a client’s data store grows, Amazon Aurora provides five times the throughput of a standard MySQL instance running on comparable hardware.
In addition, ClearScale knew that merely storing and serving up the data was only one part of our client’s need. We knew that Amazon Aurora provided high uptime at 99.99%. Because it’s completely managed by Amazon, our client no longer had to worry about procuring, administering, and maintaining the servers or the environment. Should an outage occur, Aurora has the ability to have a failover in less than 30 seconds which is completely transparent to our client or their users. This is due to the fact that Amazon Aurora has six copies of our client’s data replicated across three different physical zones which essentially makes the system self-healing. Because Amazon takes on the responsibility of managing the server environment, they also actively monitor and back up our client’s data to S3 buckets which allow for point-in-time recovery should something occur.
However, storing data, reduced latency on data access, and high uptime and failover ability means nothing without having the entire environment secure. Amazon Aurora addresses this as well by completely securing the entire environment with several layers. Amazon has gone out of the way to make certain that anyone using Aurora will feel confident that the data they host in AWS is secure and readily available, whether it’s from using AWS Virtual Private Cloud (VPC), giving our client the ability to encrypt keys we helped them create through AWS Key Management Service (KMS), or encrypting data-in-transit using SSL.
Impressed by what we showed them, our client was still concerned about our ability to migrate all of their data with minimal impact or downtime from their existing MySQL instance to the Amazon Aurora solution. Once again, Amazon had thought about that as well. Using their InnoDB storage engine, which is compatible with MySQL 5.6, we were able to show that we could transfer not only the data but the schema it relied on, the stored procedures that had been already created in the client’s MySQL instance, the code and drivers with little or no impact to their systems. Using the standard MySQL import and export tools and the MySQL binlog replication, we were able to transfer all of the existing instances to Amazon Aurora with virtually zero downtime and only minor modifications to the client’s applications so it would point to the new Amazon-hosted data solution.
Had our client been using Oracle or Microsoft SQL databases, we would have been able to leverage the AWS Schema Conversion Tool to port the existing schema, views, stored procedures, and functions into a format that was compatible with Amazon Aurora before then using AWS Database Migration Service. During this conversion process, the original instance of Oracle or Microsoft SQL remains intact and fully operational; only after the transfer is complete would we need to go in and point the client applications over to the new Amazon Aurora instance.
It’s preferable to reduce risk in any migration, especially ones involving large amounts of data. With Amazon Aurora, ClearScale was able to provide our client with a best-in-class enterprise solution at a fraction of the cost and a significant performance boost, all while offering a highly scalable framework with 99.99% uptime and encrypted data when stored and utilizing SSL when transmitted.
At ClearScale, we know how important it is to keep business running as usual while still migrating our clients to new scalable solutions. With Amazon Aurora, we were able to accomplish this with minimal disruption and cloud migration costs, and our client was pleased with the result.
Learn more about ClearScale cloud database solutions here.