79 votes

MySQL, SQL Server et Oracle

J'ai toujours utilisé uniquement MySQL et aucun autre système de base de données.

Une question a été posée lors d'une réunion d'entreprise aujourd'hui et j'étais embarrassé de ne pas savoir : Pour un développeur, quelle fonctionnalité révolutionnaire MS ou Oracle offre-t-elle que MySQL n'a pas et qui permet à MS et Oracle de faire payer leurs systèmes ?

11 votes

D'accord, mais pour reformuler sa question, pourquoi une personne intelligente envisagerait-elle de payer pour le SGBD X alors qu'elle pourrait choisir le SGBD Y gratuitement ?

2 votes

Je ne pense pas que cette question soit exacte. MySQL n'est pas gratuit pour une utilisation professionnelle (selon les réponses ici) alors que MS SQL Server a une version qui l'est. L'offre de MS n'est pas si restrictive et permet une base de données de 10 Go avec la plupart des fonctionnalités activées. La question pourrait être inversée : pourquoi payer pour MySQL alors que SQL Server est gratuit et possède plus de fonctionnalités. Peut-être est-ce dû à mon installation, mais je trouve MySQL bogué et lent.

36voto

David Aldridge Points 27624

Je pense que d'autres commentateurs ont tout à fait raison de souligner toutes les capacités supplémentaires non essentielles du SGBDR qui sont incluses dans les solutions commerciales.

Voici une matrice des éditions et des fonctionnalités d'Oracle qui vaut la peine d'être consultée pour comprendre les fonctionnalités "supplémentaires", notamment dans le contexte de ce qu'il en coûterait pour développer et supporter votre propre version de ces fonctionnalités (si cela est possible) sur un produit comme MySQL : https://docs.oracle.com/cd/B28359_01/license.111/b28287/editions.htm#DBLIC116

Par exemple, si vous avez une exigence qui dit : "Les utilisateurs doivent être en mesure de récupérer toutes les versions précédentes des données qu'ils ont supprimées/mises à jour jusqu'à une semaine après que les changements ont été effectués", cela implique une certaine charge de développement qui, à mon avis, serait beaucoup plus élevée sur un système qui ne dispose pas d'une fonction intégrée comme Flashback Query d'Oracle.

0 votes

+1, bon résumé des fonctionnalités d'Oracle.

0 votes

Bonne information sur les fonctionnalités d'Oracle

23voto

Vinko Vrsalovic Points 116138

Les couches de SGBDR purs d'Oracle et de MSSQL offrent principalement un environnement programmable plus mature que MySQL et InnoDB. T-SQL et PL/SQL ne peuvent pas encore être égalés par les procédures stockées et les déclencheurs de MySQL.

Les autres différences sont des différences syntaxiques et sémantiques légères qui rendent les choses plus faciles ou plus difficiles (comme top 500 versus limit/offset).

Mais le vrai problème est qu'il existe une tonne d'outils et de services intégrés au-dessus des couches de SGBDR de MSSQL (Reporting Services, Analysis Services) et d'Oracle (Data Warehousing, RAC) que MySQL ne possède pas (encore).

12voto

Curt Points 2749

MySQL n'est pas gratuit !

Il est généralement considéré comme gratuit, mais si vous vendez ou distribuez des logiciels qui intègrent MySQL, il est soumis à des restrictions assez sévères. Si MySQL doit être inclus dans votre distribution de logiciel (c'est-à-dire que vous ne l'utilisez pas seulement pour servir des clients distants), il n'est gratuit que pour les projets Open Source ou les organisations à but non lucratif. Si vous parvenez à séparer complètement la base de données et les pilotes du reste de votre application, et à obliger votre client à télécharger et à installer MySQL par ses propres moyens, tout va probablement bien.

Sinon, le coût de l'édition "standard" est de 2 000 dollars par an, ce qui est à peu près comparable au coût de la licence SQL Server.

Les deux sont de très bonnes bases de données, mais parmi les avantages de SQL Server, on peut citer :

  • Un langage procédural riche et expressif (T-SQL)
  • Un meilleur optimiseur de requêtes, et de meilleures performances dans les environnements à forte intensité d'écriture
  • Un ensemble solide d'outils et de capacités auxiliaires, notamment un environnement de programmation, un outil ETL (SSIS), une modélisation dimensionnelle (SSAS), un environnement de création de rapports (SSRS) et un planificateur de tâches raisonnablement sophistiqué.
  • Débogage interactif des procédures stockées et des UDF.
  • Un outil de gestion relativement facile à utiliser, basé sur des fenêtres, qui vous permet d'effectuer la plupart des tâches d'administration d'une manière "cliquable".

De nombreuses personnes sont idéologiquement opposées à l'utilisation d'outils Microsoft ou à l'enfermement dans un environnement Windows, et je peux le comprendre. Mais MySQL n'est PAS gratuit pour une utilisation professionnelle, et cela ne semble pas être compris par tous.

Pour consulter la politique de licence de MySQL, rendez-vous sur leur site web : https://www.mysql.com/about/legal/licensing/oem/

0 votes

Je suis d'accord - MySql n'est pas gratuit (il n'y a pas de repas gratuit). Cependant, je pense que la plupart des produits Microsoft ne sont pas si bons que ça (sauf Visual Studio). Sybase semble être une très bonne base de données, à mon avis.

3 votes

Ha, j'étais en fait une de ces personnes. Je pensais vraiment que MySQL était gratuit, complètement gratuit quoi qu'il arrive. Juste une petite question, avez-vous des statistiques/un lien où je peux voir le "meilleur optimiseur de requêtes, et de meilleures performances dans les environnements d'écriture intensive".

35 votes

Faux. La version communautaire de MySQL est sous licence GNU GPL v2, ce qui signifie que vous pouvez UTILISER le logiciel gratuitement pour n'importe quel usage. (Si vous voulez MODIFIER ET REDISTRIBUER le logiciel, alors le produit modifié doit être proposé sous la même licence GPL v2 open source ; mais son simple USAGE, et même sa MODIFICATION (tant que vous ne redistribuez pas le produit modifié) est libre pour n'importe quel but sans conditions).

9voto

Matthew Watson Points 7762

D'autres choses que l'oracle a sur mysql.

  • Files d'attente
  • planification interne des tâches
  • langage de procédure stockée mature
  • tables patitionnées
  • contrôle d'accès et audit à grain fin
  • fonctions de récupération solides (par exemple, flashback, rman, dataguard)
  • liens vers des bases de données distantes
  • application express

5 votes

MySql supporte les tables partitionnées (explicitement) depuis la version 5.1. dev.mysql.com/doc/refman/5.1/fr/partitionnement-aperçu.html

8voto

Karl Points 2271

Jusqu'à ce que j'administre des RDBS d'autres fournisseurs, les répétitions d'Oracle "les lecteurs ne bloquent pas les écrivains, les écrivains ne bloquent pas les lecteurs" ne signifiaient pas grand-chose pour moi. Je ne savais vraiment pas grand chose sur la gestion des problèmes de verrouillage en 8 ans comme DBA Oracle. 2 ans d'Informix et 3 ans de SQL Server et croyez-moi, j'en sais beaucoup plus sur le verrouillage.

Je dirais donc, en plus des commentaires sur le support et les fonctionnalités non-RDBMS, d'ajouter le comportement de verrouillage.

0 votes

La même base de code sur une table de 1 million de lignes avec des centaines de lectures/mises à jour par seconde sur le même ensemble de lignes fera briller Oracle et (à l'époque) fera tomber SQL Server dans l'oubli. Oui, les choses ont changé, mais le fait est que, malgré toute l'aversion que j'ai pour la société Oracle, leur produit de base de données est de premier ordre.

0 votes

SQL Server Snapshot Isolation résout ce problème très réel avec Microsoft SQL Server - ajouté dans SQL Server 2008

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X