At a blistering pace and for a variety of reasons, companies are migrating their on-premise database infrastructures to cloud-based solutions—to save costs on hardware, tame the impact of disaster recovery or even to improve security. As the missing pieces of the Cloud continue to be identified and put into place, 2016 will be the year when the adoption of cloud database solutions becomes a requirement. With various cloud-based, MySQL-compatible database options available in the market today, the criteria for choosing the right database goes beyond choosing a cloud environment.
With global mobile data traffic expected to grow more than 600 percent by 2020, a new opportunity to derive insights from database application activity is growing and DBA’s can look for new ways to integrate these revelations into other business processes. One thing that is clear, however, is that database solutions must be able to quickly scale in order to accommodate dynamic demands without sacrificing significant changes to the application. For a cloud database, simplifying processes while increasing flexibility means ensuring that resources are readily available on demand—so that when it comes to performance, compatibility, value and support, DBAs can have what they want, when they want it.
Table of Contents
The scaling abilities of the database are extremely valuable assets for companies with high-value, high-transaction workloads. While MySQL may serve as a good general solution—it is capable of handling large amounts of traffic and can scale reads in the form of ‘read-slaves’—it does not have the option to scale writes via ‘write-slaves,’ and it runs the risk of bottlenecking your mission-critical applications.
Therefore, enterprises migrating to the Cloud should be aware that one size doesn’t fit all when it comes to choosing a MySQL-compatible database solution to accommodate their unique workloads. For example, markets such as e-commerce, gaming and the Internet of Things have a higher number of transactions per second, with peak seasons at different times of the year that create larger workloads for the database. These heavy-transaction workloads require a database that can provide high scalability, but as we mentioned earlier, not all database applications in the Cloud are able to scale as easily as others.
Additionally, there are workloads we consider to be high-value, which require a database that can provide immediate consistency and not eventual consistency. This year we’re starting to see companies with high-value, high-transaction workloads adopt cloud database solutions that have the ability to provide scalability in both reads and writes, while guaranteeing atomicity, consistency, isolation and durability (ACID) in every transaction. This is important because in the past, running a successful database operation was about providing high availability and speed, but today companies that handle fluctuating mixed workloads have other criteria to consider.
While some companies look to the Cloud for its efficiency and cost-effectiveness, others are looking for the promise of scalability, but not all cloud database applications use scale-out cloud architecture or even scale in the same way, in general. For example, MySQL does not meet the needs of a scale-out cloud architecture, and when DBAs need to increase performance to accommodate workloads they are forced to perform technical gymnastics to execute complex methods, such as read slaves or sharding.
Today, we have scale-out MySQL-compatible databases in the market that handle enormous amounts of concurrent write transactions, and instead of doctoring the database and application DBAs need only to add nodes, a far-less cumbersome task of adding server instances to increase database performance.
Cloud-compatible database applications that use scale-out architecture are able to add and subtract resources based on demand. This differs from old database models that rely on hardware to accommodate performance needs—not only is the hardware expensive to buy, but it is much harder to scale back once the workloads fall back down to normal levels. In this case, it is easy to arrive at a less-than-ideal-but-all-too-common situation where you are adding on hardware to accommodate a short-term high-traffic situation, only to be stuck with these costly resources you won’t need for the majority of the rest of the year. With the scale-out architecture, companies are able to increase performance as more memory, compute, storage and network capacity is made available. This flexibility is crucial to running a successful online business, and more importantly, achieving important growth milestones.
While today’s companies must be sure that they are not in danger of outgrowing their cloud database, it is equally important that DBAs are able to take advantage of the savings offset by abandoning expensive hardware and be confident that they are not paying for more than they need to support high growth. Going to the Cloud, it turns out, does not guarantee that you won’t be constrained by the same capacity planning model that leads to over-provisioning for future needs (and its associated costs). As companies grow, new levels of success require different tools. Therefore, it is important to re-evaluate database resources on an ad-hoc basis as companies continue to flourish. Today, companies can migrate to a cloud database that allows them to add nodes and instances to accommodate growth as needed and avoid acquiring unnecessary capacity.
Self-Managing vs. Fragile Architecture
Processes such as sharding or adding read-slaves, which are required for operating legacy database systems, are messy and expensive to manage. However, some of today’s cloud-based, MySQL-compatible database applications offer reliable, self-managing architectures, which is ideal for online businesses that need to accommodate the rise of the always-on user and remain competitive in the global, 24/7 business cycle. These systems make it easy to ensure that the performance of the database and website remain optimal without disrupting business functions, which is especially important when carrying out routine data analysis. Businesses today should strive towards a self-managing architecture, especially those online businesses that run the risk of losing time-sensitive customers who have become so frustrated by a less-than-optimal user experience that they decide to take their business to a competitor.
In the Cloud, having a self-managing database is important to reduce developer and DevOps work. Proactive monitoring of the system events will save DBAs time and can often resolve issues before you even notice. Support also means having the flexibility to build your database the way that best support your mission-critical business processes. Having a dedicated team of software engineers to truly help you use the Cloud to add/remove features as your workload fluctuates is a key characteristic DBAs must look for when migrating to the Cloud.
Like this article? Subscribe to our weekly newsletter to never miss out!