Chapter 1 ■ an IntroduCtIon to database as a servICe
3
OpenStack is a software platform that allows cloud operators and businesses alike to deliver cloud
services to their users. It includes Nova, a computing service similar to Amazon’s EC2, and Swift, an object
storage service similar to Amazon’s S3, as well as numerous other services. One of these additional services
is Trove, OpenStack’s DBaaS solution.
Unlike Amazon’s DBaaS offerings, which are database specific, Trove allows you to launch a database
from a list of popular relational and nonrelational databases. For each of these databases, Trove provides a
variety of benefits including simplified management, configuration, and maintenance throughout the life
cycle of the database.
The Challenge Databases Pose to IT Organizations
Databases, and the hardware they run on, continue to be a significant part of the cost and burden of
operating an IT infrastructure. Database servers are often the most powerful machines in a data center, and
they rely on extremely high performance from nearly all of a computer’s subsystems.
The interactions with client applications are network intensive, query processing is memory intensive,
indexing is compute intensive, retrieving data requires extremely high random disk access rates, and data
loads and bulk updates imply that disk writes be processed quickly. Traditional databases also do not tend
to scale across machines very well, meaning that all of this horsepower must be centralized into a single
computer or redundant pair with massive amounts of resources.
Of course, new database technologies like NoSQL and NewSQL are changing these assumptions, but
they also present new challenges. They may scale out across machines more easily, reducing the oversized
hardware requirements, but the coordination of distributed processing can tax network resources to an even
greater degree.
The proliferation of these new database technologies also presents another challenge. Managing any
particular database technology can require a great deal of specialized technical expertise. Because of this,
IT organizations have typically only developed expertise in a specific database technology or in some cases
a few database technologies. Because of this, they have generally only offered their customers support for
a limited number of choices of database technologies. In some cases, this was justified, or rationalized as
being a corporate standard.
In recent years, however, development teams and end users have realized that not all databases are
created equal. There are now databases that are specialized to particular access patterns like key-value
lookup, document management, map traversal, or time series indexing. As a result, there is increasing
demand for technologies with which IT has limited experience.
Starting in the latter part of the 2000s, there was an explosion in the so-called NoSQL databases. While it
was initially possible to resist these technologies, their benefits and popularity made this extremely difficult.
Yet, how is an IT organization supposed to support all the various flavors of NoSQL and SQL databases
without having in-depth knowledge of each of them?
Amazon led the way by making computing ubiquitous and easy to consume with a couple of key-clicks
and a credit card. It then automated many of the complexities around databases and offered them as a
service, forcing IT organizations to respond. It did this, however, by building up staff with expertise in each of
these technologies, and still, like the IT staffs of old, offering only a limited number of options.
OpenStack Trove offers IT organizations the ability to operate a complete DBaaS platform within the
enterprise. IT organizations can offer a rich variety of databases to their internal customers with the same
ease of use that Amazon offered with its AWS cloud and the RDS product. Users of Trove get this benefit
without requiring the same scale or large investment in specialized teams of experts in specialized database
technologies that Amazon was able to staff internally.