Comment choisir une base de donnee?


#1

Pour choisir une base de donnee vous pouvez vous aidez de StackOverflow et du tag database-design.

Dans votre question il est preferable d’apporter des elements de reponses en decrivant votre besoin:

  1. Ganranties: Cela ce definit en remettant en question les differents proprietees ACID: Atomic, Consistent, Isolation, Durability. Voir la documentation PostgreSQL sur le controle de la concurrence ou en autre le le chapitre sur les transactions dans wiredtiger. Voir si BASE vous convient.

  2. Taille

  3. Modele de donnee : A quoi ressemble les donnees. Est ce qu’elles sont de formes heterogenes ou bien il y as des types bien identifies.

  4. Workload : Surtout des read, surtout des write, melange ou encore write once, then read-only. Ainsi que les types de requetes qui vont etre executees: recursive / profondes, colonne / lignes ou par proximites.

Et vous comment faites vous pour choisir une base de donnee?


#2

Comment choisir une base de donnée ? Ben mon approche est un peu différente :)
Alors avant toute chose, je pratique une veille technologique régulière pour me tenir à jour des différentes technologies pour chacun des secteurs où je peux être amené à bosser (ici gestion de données).
Lorsque je me retrouve en face d’un projet, j’analyse les besoins fonctionnels et non fonctionnels et à l’aide de tableaux comparatifs des technos que je fais pour l’occasion, je choisis la meilleure solution.
Lors de l’implémentation, je m’arrange pour avoir une couche d’abstraction qui me permette de changer de techno pas trop difficilement si besoin.

Bon, pas exactement dans cet ordre en fait. J’essaye de faire le choix de la base de donnée aussi tard que possible en bossant sur ma couche d’abstraction en fonction des besoins. Le choix de la base de données se fait ensuite en regardant quel outil sur étagère se rapproche le plus du contrat définit par ma couche d’abstraction. Et là, tu t’aperçois des fois que le stockage en fichier est finalement une meilleure approche que la base de données sql (clin d’œil à fintess et la présentation qu’en fait oncle bob) :)

Wala, en espérant pouvoir aider


#3

En fait, moi je me base principalement sur l’environnement de la cible.

Si je travaille sur de petits projets, sous environnement Linux, j’aurais tendance à prendre MariaDB.
Par contre, si je dois travailler dans un environnement Microsoft, j’aurais tendance à partir sur un SQL Server (Express ou pas).

Pour moi, sauf de très rare cas peu rencontré, ce n’est pas le moteur de la base qui ralenti l’application … mais la qualité des requêtes … Donc je privilégie la base qui s’intégrera le mieux dans l’écosystème cible que la base la mieux “sur le papier”.

Je dirais que c’est une approche pragmatique … Rien ne sert de mettre un super outil si, c’est dur de l’intégrer (ou de la maintenir) ou si les personnes devant intervenir dessus ne sont pas formés à son utilisation.