The Mirantis Blog
Kubernetes tutorials, product updates and featured articles
In previous blog posts we described the replication feature for Trove, and the implementation in the Client and the Task Manager in detail. In this post we describe some of the rationale for this implementation and the roadmap for features that provide performance and availability guarantees that are so critical for a database.
As applications migrate to the cloud, the complexity of operating databases in this new environment has become apparent. It is hard to operate a significant database infrastructure, even when you have the luxury of doing it in a controlled data-center on dedicated hardware. The cloud introduces performance variability and an overhead due to virtualization, and provides an end user with a much lower level of control over the underlying hardware. In the public cloud, reliability of an individual virtual machine instance is considerably lower than that of a dedicated machine in a data-center. When operating a large fleet of servers, observed failures are much more frequent. All of these make operating a database in the cloud much more challenging.
This is the second in a series of blog posts discussing OpenStack Trove. Trove is OpenStack’s Database as a Service (DBaaS) project, whose intent is to provide all of the capabilities of a relational database without the hassle of having to handle complex administrative tasks. Here we explain the current Trove design issues and our decision to create a conductor …