Book Image

OpenStack Trove Essentials

By : Alok Shrivastwa, Sunil Sarat, Doug Shelley, Amrith Kumar
Book Image

OpenStack Trove Essentials

By: Alok Shrivastwa, Sunil Sarat, Doug Shelley, Amrith Kumar

Overview of this book

OpenStack has become an extremely popular solution to build public and private clouds with. Database as a Service (DBaaS) enables the delivery of more agile database services at lower costs. Some other benefits of DBaaS are secure database deployments and compliance to standards and best practices. Trove is a DBaaS built on OpenStack and is becoming more popular by the day. Since Trove is one of the most recent projects of OpenStack, DBAs and system administrators can find it difficult to set up and run a DBaaS using OpenStack Trove. This book helps DBAs make that step. We start by introducing you to the concepts of DBaaS and how is it implemented using OpenStack Trove. Following this, we look at implementing OpenStack and deploying Trove. Moving on, you will learn to create guest images to be used with Trove. We then look at how to provision databases in self-service mode, and how to perform administration tasks such as backup and recovery, and fine-tuning databases. At the end of the book, we will examine some advanced features of Trove such as replication.
Table of Contents (15 chapters)
OpenStack Trove Essentials
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Terminology


Let's take a look at some of the terminology that Trove uses.

Datastore

Datastore is the term used for the RDBMS or NoSQL database that Trove can manage; it is nothing more than an abstraction of the underlying database engine, for example, MySQL, MongoDB, Percona, Couchbase, and so on.

Datastore version

This is linked to the datastore and defines a set of packages to be installed or already installed on an image. As an example, let's take MySQL 5.5. The datastore version will also link to a base image (operating system) that is stored in Glance.

The configuration parameters that can be modified are also dependent on the datastore and the datastore version.

Instance

An instance is an instantiation of a datastore version. It runs on OpenStack Nova and uses Cinder for persistent storage. It has a full OS and additionally has the guest agent of Trove.

Configuration group

A configuration group is a bunch of options that you can set. As an example, we can create a group and associate a number of instances to one configuration group, thereby maintaining the configurations in sync.

Flavor

The flavor is similar to the Nova machine flavor, but it is just a definition of memory and CPU requirements for the instance that will run and host the databases.

Normally, it's a good idea to have a high memory-to-CPU ratio as a flavor for running database instances.

Database

This is the actual database that the users consume. Several databases can run in a single Trove instance. This is where the actual users or applications connect with their database clients.

The following diagram shows these different terminologies, as a quick summary. Users or applications connect to databases, which reside in instances. The instances run in Nova but are instantiations of the Datastore version belonging to a Datastore. Just to explain this a little further, say we have two versions of MySQL that are being serviced. We will have one datastore but two datastore versions, and any instantiation of that will be called an instance, and the actual MySQL database that will be used by the application will be called the database (shown as DB in the diagram).