C'est sûr...
Disons que jusqu'à 8i, il y avait une raison en or pour ne pas choisir Oracle : comme Apache à l'époque, il s'agissait de la version Unix recompilée pour Win32, avec tous les défauts d'optimisation liés à la plateforme d'origine (multi-process au lieu de multi-thread, taille des registres utilisés, etc.)
Mais depuis la 8i, ils maintiennent deux versions en //, et Oracle est bien mieu optimisé.
Je pense qu'un argument de taille, outre le prix, c'est le coût de la maintenance : étant donné la config minimum, SQL Server semble moins gourmand (c'est pas compliqué à voir d'ailleurs, puisque la 9i en tout cas, toute l'interface est en Java, ce qui n'est pas là pour optimiser la bête).
Mais surtout, c'est l'administration : alors que les paramètres de SQL Server sont très clairs et très détaillés dans l'aide fournie, Oracle nécessite un DBA confirmé pour être correctement installé et paramètré au jour le jour. Donc entre payer un simple ingénieur réseau ou ingénieur système à 3 K/mois pour paramètrer la base, tu es obligé de taper dans l'expert, qui demande dans les 4 ou 5K/mois. C'est non négligeable je pense. On doit trouver la même problématique au niveau hébergement, bien que je n'aie jamais creusé le sujet.
Ceci dit, dans mon cas, le coût n'a qu'une faible importance, étant donné que le client a déjà tout ce qu'il faut en interne, que ce soit les licences ou les DBA.
Ensuite, d'un point de vue fonctionnalités, Oracle est un peu plus complet que SQL Server, mais son principal défaut, c'est l'absence de doc claire (c'est pire que le man de Linux), donc on n'arrive jamais à utiliser ce qu'on veut, ou alors on y passe plus de temps.
Ensuite, et surtout, les lacunes de SQL Server 2000 par rapport à Oracle devraient être en partie comblées par la nouvelle mouture 2005 qui va sortir sous peu.
A nouveau, c'est un point qui ne m'impacte pas vraiment, puisque la base n'aura pas besoin des éléments aujourd'hui spécifiques à Oracle.
Reste alors pas grand chose, mise à par la puissance brute du produit (à hauteur de combien de requêtes simultanées l'un prend le dessus par rapport à l'autre, dans une config "classique", c'est à dire sans cluster ni load balancing - car dans ce domaine, SQL Server semble largement outrepasser Oracle, mais comme dit dans ton lien, ce n'est pas représentatif des besoins de la majorité des entreprises)
Reste un avantage pour SQL Server au niveau des fonctionnalités : c'est DTS. Avec Oracle, il n'y a pas d'équivalent, et pour ce qui est de la coopération inter-bases, c'est un élément non négligeable (c'est quand même pas mal de pouvoir, sans développement, faire de la réplication d'un serveur tournant avec un SGBD x, sur SQL Server, tout en mixant les données provenant d'un SGBD y, suivant une table de paramètrage modifiée à la main dans un fichier CSV ou Excel). J'ai pu tester ce point et on peut réellement faire en quelques minutes des outils d'intégration de données qui nécessiteraient un projet entier sous Oracle.
A côté de ça, Oracle a des éléments sympatiques, tels que le SQL Loader, qui permet d'alimenter une table à partir d'un fichier formaté de plusieurs Go en quelques secondes, ou ses fonctions d'indexation de texte, qui outrepassent celles de SQL Server (qui sont déjà pas mal quand même)
Choix difficile en somme.
Message édité par Arjuna le 02-06-2005 à 20:34:28