Section courante

A propos

Section administrative du site

MySQL, PostgreSQL, SQLite ou SQL Server

Le projet Redmine peut être utilisé avec les bases de données MySQL, PostgreSQL, SQLite ou SQL Server (les trois premiers sont en fait supportés nativement par Ruby on Rails). Mais lequel choisir pour votre installation Redmine ? C'est peut-être une question trop importante pour être ignorée.

La plupart des utilisateurs l'utilisent avec MySQL. Malgré leurs raisons de le choisir, cela signifie que Redmine a été mieux testé avec ce backend de base de données. Cet argument devient encore plus important si l'on considère que certains plugiciels utilisent SQL directement (c'est-à-dire sans le générateur de requêtes Rails SQL).

Mais si vous recherchez une source fiable sur laquelle la base de données est plus rapide avec Redmine, vous pouvez consulter les journaux de construction Redmine à l'adresse http://www.redmine.org/builds/index.html. Ces journaux contiennent les résultats des tests pour différentes versions de Ruby et différents backends de base de données. Ainsi, pour les tests de révisions, r14600, r14597 et r14596, dans la branche stable 3.1-stable on obtient les résultats suivants (uniquement pour ruby-1.9.3-p194) :

  MySql Postgresql SQLite SQL Server
r14600 901.068992 secondes 752.914607 secondes 698.311900 secondes 1356.417375 secondes
r14597 684.866031 secondes 815.066303 secondes 636.497712 secondes 1056.660942 secondes
r14596 733.023295 secondes 781.173148 secondes 726.835502 secondes 1019.416963 secondes
Moyenne 772.986106 secondes 783.051353 secondes 687.215038 secondes 1144.165093 secondes

Dans le tableau précédent, on utilise les données des journaux susmentionnés. Certes, au moment où vous lirez cette section, il y aura de nouvelles données, mais comme le montre la pratique, les résultats seront probablement les mêmes. Quoi qu'il en soit, vous pouvez consulter de nouvelles données ou prendre en compte davantage de révisions pour revérifier les résultats.

Ainsi, selon ces données, SQLite est le plus rapide, SQL Server est le plus lent et PostgreSQL est un peu plus lent que MySQL.

Mais ne vous pressez pas de prendre une décision en faveur du backend le plus rapide. Malheureusement, SQLite a des problèmes d'évolutivité (vous ne pouvez pas le mettre sur un serveur séparé) et se comportera de manière incorrecte dans un environnement multi-utilisateurs. Et je suis sûr que vous voudrez servir de nombreux utilisateurs à la fois.

Vous devez également noter qu'en plus de la lenteur relative, SQL Server ne fonctionne que sur Windows ou Linux (à partir de SQL Server 2017), son édition complète n'est pas gratuite et la version gratuite (Express) est limitée. De plus, la prise en charge de ce backend de base de données a été ajoutée spécialement à Redmine et n'est pas native de Rails. Cela signifie qu'il n'a pas été testé aussi bien que d'autres alternatives. Quoi qu'il en soit, si vous avez déjà SQL Server en cours d'exécution dans votre réseau d'entreprise, il peut être judicieux de l'utiliser pour Redmine.



Dernière mise à jour : Vendredi, le 10 décembre 2021