Welcome!

Java IoT Authors: Elizabeth White, Liz McMillan, Yeshim Deniz, Pat Romanski, Zakia Bouachraoui

Related Topics: @CloudExpo, Java IoT, Agile Computing

@CloudExpo: Article

Migrating Your Database to the Cloud? | @CloudExpo #API #Cloud

Companies are migrating infrastructure to the cloud in order to achieve advantages & agility they need to remain competitive

Migrating Your Database to the Cloud? Look Beyond MySQL

Companies are migrating infrastructure to the cloud in order to achieve advantages and agility that they need to remain competitive. However, they may have difficulty achieving one extremely important benefit of cloud computing as they attempt to run their MySQL databases in the cloud - scalability in true utility fashion. Similar to the power utilities we are all familiar with, this entails the ability to get what you need, when you need it and pay for only what you use, even during peak demand.

Why switch to the cloud if databases like MySQL limit scalability and performance? It's very simple: the advantages of shedding the headaches of managing one's own machines and reducing operating and capital expenditures are still too great to ignore. However, organizations are in many cases shortchanging themselves by focusing narrowly on these financial and operational benefits, not realizing that the right cloud database will dramatically increase flexibility and agility.

People far too often assume that "going to the cloud" is synonymous with "having the ability to migrate to a scale-out database." In reality, one does not necessarily follow the other. Adding more confusion, many companies are migrating to the cloud to use Aurora, which provides marginally more write/read scale than RDS MySQL, but still imposes a write performance ceiling.

This lack of ability to achieve true utility will be particularly acute for applications with OLTP (online transaction processing) workloads that are both high in volume and need to maintain data integrity through ACID compliance. These characteristics are shared by most applications that serve e-commerce, ad tech, gaming, social and IoT functions, and the inability of MySQL to meet their demands in utility fashion is largely attributed to one fact: it is architected for "single node" deployment.

The single-node conundrum: when "cloud" doesn't equate to "scale out"
MySQL databases are often the initial solution of choice for OLTP applications because of their ability to maintain ACID compliance. Though MySQL databases are commonly deployed in the cloud, they also run on a single server, and don't allow you to "scale out" by adding server nodes like most cloud applications. Eventually, this lack of ability to scale by adding nodes means that organizations running MySQL in the cloud will be hamstrung by the same performance problems that existed before they made the migration from the data center.

Scaling comes in many flavors, and some taste pretty bad
If the company in question is an e-commerce provider, for example, it is likely to experience dramatic seasonal changes in demands on the database that coincide with major shopping holidays, which requires flexibility. If the company is a rising star in a data-intensive industry like digital healthcare, it may find that its need for rapid scaling of capacity is the most important consideration.

If they're using a single-node solution like MySQL or Aurora, a primary method of increasing capacity, once they've scaled to the upper limit of the server they're using, will be to "scale up" by moving the database to a more powerful server. This method - which is neither rapid, nor flexible - will set you back a ridiculous amount of money for large, expensive hardware that can achieve the maximum level of performance that might be required. Inevitably, this capacity will lie unacceptably dormant for some period of time, which means you will be stuck paying for unused capacity for off-peak traffic periods (i.e., most of the time). This is an unnecessary waste of money and resources, one that the cloud is supposed to help companies circumnavigate.

For many companies, this is only the start of the problems associated with scaling their database. Even the largest server will impose a capacity ceiling, and once that is reached, they often resort to alternate methods for scaling performance, such as creating additional read slaves, master/master configurations and then finally sharding. These, however, are problematic - they either:

  • Don't add write scale (read slaves)
  • Have conflict management issues (master/master)
  • Don't provide ACID transactional guarantees (sharding)

In short, in seeking to extend write scale beyond the limits of MySQL on the largest available server, painstaking programming and a highly undesirable level of complexity and fragility are often added to the application. Instead of a streamlined application, you wind up with a makeshift patchwork that requires a lot of effort to keep afloat.

Of the three scaling techniques mentioned, read (only) slaves are the most common technique for scaling out capacity once the upward limit of a single-node implementation has been reached. In fact, Amazon RDS provides 15 "read replicas" very simply via their AWS Console. However, as Marc Staimer of Dragonslayer Consulting pointed out in "Why Traditional SQL Databases Fail to Scale Effectively," while read-only slaves require nominal setup and maintenance, they "cannot overcome the bottleneck of the master SQL database, especially for write-intensive applications." Which brings us to a consideration that is of paramount importance - the ability to scale in both reads and writes.

Scaling reads isn't enough, but sharding isn't the answer
Scaling along the read axis can be helpful, but services that handle OLTP loads will eventually hit a wall if writes cannot be scaled in addition to reads. There is no shortage of services out there, like Amazon's Aurora, that do a good job scaling reads in the cloud, but don't scale writes without building complicated and expensive solutions (giving you the "patchwork" application described above).

Many cloud providers, including AWS Aurora, do not support sharding, a method commonly used to yield scalability in both reads and writes. And, even when sharding is supported, it is difficult, costly to implement and fragile while in use. It can be problematic with workloads that require full data integrity, due to the difficulty of maintaining ACID compliance without making comprehensive changes to the application layer (once again leading to undesirable complexity and fragility). Ultimately, those who employ this method wind up exchanging one set of problems for another potentially more serious set.

Suffice it to say, most companies moving to the cloud do not anticipate having to resort to sharding, yet many will find themselves in that exact predicament due to ever-increasing transactional demands. These kinds of barriers are exactly the ones that companies aim to overcome when they set out with a cloud database migration project.

OLTP cloud database needs scale-out performance with ACID compliance
Many companies don't realize that their most common database hiccups often stem from their efforts to jerry-rig them to do things they weren't designed to do, not because the databases themselves are fundamentally inferior. MySQL wasn't designed to scale out (horizontally), and rather than performing unnatural feats in order to make it do so, organizations should instead look to solutions that are architected for this type of scaling.

The NewSQL era has made it possible to scale out by adding nodes, while maintaining linear performance. And, for companies with transactional applications - such as those in e-commerce, gaming, social, IoT and ad tech - they will be able to maintain ACID compliance the whole time.

There may be initial advantages to platforms like MySQL for small operations, but IT decision-makers should have their eyes on the exit route if their companies project any kind of serious growth. Playing catch-up with databases is nobody's idea of a good time, and is an untenable business practice when an organization's applications rely on OLTP. A database that can massively scale horizontally to increase or decrease capacity according to dramatic seasonal swings in traffic, or scale to very large total capacities, may not be deemed necessary by a fledgling service or company with fairly nominal requirements. However, if a company sees rapid success in the near future, such capabilities are likely to become a necessity - and what management team is worth their salt if they don't plan for success?

Many are in fact acknowledging that moving up from MySQL and its kin to the next tier of database is a necessary stage to prevent slowdowns and failures for businesses with high-growth services. This new reality is certainly evidenced in the popularity of Aurora. But again, companies must keep in mind that Aurora, despite its improvements over MySQL, is a single node with old school scale techniques solution, and thus presents limitations. The best way database companies can serve these kinds of organizations is to offer a drop-in replacement for MySQL that delivers the linear scalability that enables you to fully leverage the flexibility of the cloud.

More Stories By Mike Azevedo

Mike Azevedo is CEO of Clustrix, provider of the first scale-out relational database designed to meet the needs of large, fast-growing e-commerce sites and other big Web- and cloud-based applications. He has more than 25 years of experience in scale-out analytic applications, grid computing, storage infrastructure, security, and retail, and has led top sales divisions at Platform Computing, ParAccel and PostX Corporation.

Mike holds a Bachelor of Science degree in business administration/ management from Chico State University

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...
DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by FinTechEXPO. ICOHOLDER gives detailed information and help the community to invest in the trusty projects. Miami Blockchain Event by FinTechEXPO has opened its Call for Papers. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Miami Blockchain Event by FinTechEXPOalso offers sp...
Headquartered in Plainsboro, NJ, Synametrics Technologies has provided IT professionals and computer systems developers since 1997. Based on the success of their initial product offerings (WinSQL and DeltaCopy), the company continues to create and hone innovative products that help its customers get more from their computer applications, databases and infrastructure. To date, over one million users around the world have chosen Synametrics solutions to help power their accelerated business or per...
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time t...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by ...
SYS-CON Events announced today that IoT Global Network has been named “Media Sponsor” of SYS-CON's @ThingsExpo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. The IoT Global Network is a platform where you can connect with industry experts and network across the IoT community to build the successful IoT business of the future.