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.