Aller au contenu

Bases de données

Services de bases de données sur OpenStack.


Trove

Trove est le service Database as a Service (DBaaS) d'OpenStack. Il permet de provisionner, gérer et opérer des instances de bases de données sans gérer l'infrastructure sous-jacente (VM, stockage, réseau).

Cas d'usage : bases de données applicatives, environnements de développement, bases de données managees pour projets internes.

Moteurs supportes

Trove supporte plusieurs moteurs de bases de données via un système de datastores :

Moteur Type Usage
MySQL Relationnel Applications web, CMS, microservices
MariaDB Relationnel Alternative a MySQL, fork communautaire
PostgreSQL Relationnel Applications analytiques, GIS, JSON
Redis Clé-valeur Cache, sessions, files de messages
MongoDB Document Données semi-structurées, catalogues
Cassandra Colonnes larges Time-series, données distribuées

Provisionner une instance

# Lister les datastores disponibles
openstack database datastore list

# Creer une instance MySQL
openstack database instance create ma-base \
    --flavor m1.medium \
    --size 20 \
    --datastore mysql \
    --datastore-version 8.0 \
    --databases ma-db \
    --users admin:motdepasse

Gestion courante

# Lister les instances
openstack database instance list

# Afficher le statut
openstack database instance show ma-base

# Creer une base de donnees supplementaire
openstack database db create ma-base nouvelle-db

# Creer un utilisateur
openstack database user create ma-base nouvel-user motdepasse \
    --databases nouvelle-db

Backup et restauration

# Creer un backup
openstack database backup create ma-base --name mon-backup

# Lister les backups
openstack database backup list

# Restaurer depuis un backup
openstack database instance create ma-base-restauree \
    --flavor m1.medium \
    --size 20 \
    --backup mon-backup

Réplication

Trove supporte la réplication pour la haute disponibilité :

# Creer un replica en lecture
openstack database instance create mon-replica \
    --flavor m1.medium \
    --size 20 \
    --replica-of ma-base

Alternative fréquente

Dans de nombreux déploiements OpenStack en production, les équipes choisissent de gérer leurs bases de données en dehors de Trove, directement sur des VMs Nova ou via des opérateurs Kubernetes (par exemple sur un cluster Magnum). Trove reste pertinent pour les cas où un DBaaS intégré à l'API OpenStack est souhaite.

Quotas

Les quotas Trove (nombre d'instances, taille totale des backups) sont configures independamment des quotas Nova/Cinder. Verifiez-les avec openstack database quota show.