The Database service provides scalable and reliable cloud provisioning functionality for both relational and non-relational database engines. Users can quickly and easily utilize database features without the burden of handling complex administrative tasks. Cloud users and database administrators can provision and manage multiple database instances as needed.
The Database service provides resource isolation at high performance levels, and automates complex administrative tasks such as deployment, configuration, patching, backups, restores, and monitoring.
Process flow example. Here is a high-level process flow example for using Database services:
Administrator sets up infrastructure:
OpenStack administrator installs the Database service.
She creates one image for each type of database the administrator wants to have (one for MySQL, one for MongoDB, and so on).
OpenStack administrator updates the datastore to use the new images, using the trove-manage command.
End user uses database service:
Now that the basic infrastructure is set up, an end user can create a Trove instance (database) whenever the user wants, using the trove create command.
The end user gets the IP address of the Trove instance by using the trove list command to get the ID of the instance, and then using the trove show
instanceID
command to get the IP address.The end user can now access the Trove instance using typical database access commands. MySQL example:
$ mysql -u myuser -pmypass -h
trove_ip_address
mydb
Components: The Database service includes the following components:
python-troveclient
command-line client. A CLI that communicates with thetrove-api
component.trove-api
component. Provides an OpenStack-native RESTful API that supports JSON to provision and manage Trove instances.trove-conductor
service. Runs on the host, and receives messages from guest instances that want to update information on the host.trove-taskmanager
service. Instruments the complex system flows that support provisioning instances, managing the lifecycle of instances, and performing operations on instances.trove-guestagent
service. Runs within the guest instance. Manages and performs operations on the database itself.