What You Need to Know Before Moving to the Cloud: CTO Seth Proctor at NYC Database Month
Last month, NuoDB’s CTO Seth Proctor was invited to speak at Database Month in New York City, where he delivered a comprehensive presentation on cloud architecture and his views on where it should go.
He began by discussing how the concept of “cloud” has existed for years under different names, whether it be grid computing, horizontal scale, or on-demand computing. Despite its status as a buzzword, cloud computing has brought many architectural issues to our attention, and inspired many businesses and solutions.
Seth began by addressing the increasing demand for flexibility in database architecture and simplicity of operations, and how these desires lead to the adoption of hybrid models. He further explained that key reasons for cloud adoption are benefits such as the ability to handle greater capacity in a more cost-effective fashion and to provide much higher availability with a failure model in mind.
However, there remain challenges to adopting a cloud architecture. One of the constant struggles is that simplification of the programming and operations experiences can lead to either ease of usage or (at the other end of the spectrum) to a frustration of feeling a lack of control over the vast array of resources at hand.
Durable Distributed Cache
Seth continued the discussion by introducing the concept of a “Durable Distributed Cache” (DDC) as a new architecture that is designed to address many of the challenges of moving to the cloud. Built on the belief that modern databases should be memory-centric, this architecture does not assume that all the data has to be in memory all the time, but rather that much of the working set data will resides in memory across distributed caches, and can be accessed from disk if it isn’t available elsewhere. This memory-centric database approach not only delivers in-memory speeds, but also allows for all kinds of optimizations that can only be done in memory and can’t be deployed when you’re focused on IOPS and how quickly you can interact with disks.
An important property that is common among all kinds of cache implementations, whether it be memcache, Varnish, or some other custom cache technology, is that cache should be transient, able to fail--to come and go. Because after all, technological evolution demands that any cache can be populated on-demand as we need more data, and dropped from when we don’t.
The database is the cache, and the cache is the database
The structure of DDC implies that caches should act independently to allow information to be cached in different locations. According to Seth, “caches naturally support hierarchies, and hierarchies are good. Hierarchies inherently take advantage of what’s interesting and what isn’t. They optimize everything that you’re working with at any given time.” The bottom line is, the database architecture should not be about a cache that’s layered on as an afterthought, it should be built at a level where the database is the cache, and the cache is the database.
Watch the full presentation NuoDB CTO Seth Proctor gave at the recent Database Month event, and let us know if his talk gave you valuable insights and answers to common questions you might have around cloud architectures, DDC, and related topics.