Tâche #21591
Scénario #21586: Epic 4: Création de la base de données et gestion des migrations du schéma dans l'infrastructure Docker
Identifier le moteur de base de données à utiliser pour le domaine
Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
Restant à faire (heures):
0.0
Description
Le moteur doit il supporter les transactions ?
Le moteur doit il support les relations complexes entre les entités du domaine ?
Révisions associées
Historique
#1 Mis à jour par William Petit il y a plus de 8 ans
- Statut changé de Nouveau à En cours
#2 Mis à jour par William Petit il y a plus de 8 ans
- Description mis à jour (diff)
#3 Mis à jour par William Petit il y a plus de 8 ans
- Statut changé de En cours à Résolu
#4 Mis à jour par William Petit il y a plus de 8 ans
- % réalisé changé de 0 à 100
- Restant à faire (heures) changé de 4.0 à 0.25
Suite à l'étude de plusieurs moteurs de base de données, le choix est arrêté sur PostgreSQL. Les critères différenciant sont les suivants:
- PostgreSQL supporte un certain nombre de type de données interessantes pour l'application Zéphir:
- hstore: stockage clés/valeurs arbitraires https://www.postgresql.org/docs/9.0/static/hstore.html
- JSON: https://www.postgresql.org/docs/9.3/static/datatype-json.html
- XML: https://www.postgresql.org/docs/9.3/static/datatype-xml.html
- Tableaux typés: https://www.postgresql.org/docs/9.3/static/arrays.html
- Addresse réseau: https://www.postgresql.org/docs/9.3/static/datatype-net-types.html
Tous ces types sont accessibles dans les requêtes SQL via des fonctions/opérateurs spécialisés, ce qui permet de filtrer/manipuler ces données de manière relativement performante.
- PostgreSQL profite d'une communauté très active, notamment en France
- La mise en place d'architecture de réplication master/slave avec failover est bien documentée et PostgreSQL profite d'un panel d'outils communautaires complet pour gérer cette problématique. De plus, la bascule en mode cluster est transparente pour les clients de la base de données (via pgpool II).
- PostgreSQL est déjà utilisé par Kong (passerelle HTTP) comme base de données.
#5 Mis à jour par Bruno Boiget il y a plus de 8 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) changé de 0.25 à 0.0