Le monde des utilisateurs de bases de données d’Oracle commence à se faire du soucis, car la firme ayant besoin d’argent (le cours de son action baisse inexorablement depuis de nombreux mois) elle cherche par tous les moyens à racler les fonds de tiroir auprès de ses clients. L’une de ses stratégies consiste à jouer sur les options payantes… Or il se trouve que chez SQL Server le concept d’option payantes n’existe pas… Cet article fait le point sur la pratique agressive d’Oracle et compare les tarifs appliqués à Oracle à son principal adversaire, SQL Server de Microsoft.
1 – Le problème
Dans un article de « Business Insider » , un client se plaignait qu’Oracle menaçait de lui faire payer des sommes exorbitantes sauf s’il se décidait a aller dans le cloud d’Oracle. Pour arriver à faire cracher un volume exorbitant de licences, Oracle utilise une technique particulièrement tordue qui consiste à faire payer de nombreuses options, même si elles n’ont jamais été utilisées en production…
Explication :
La base de données Oracle est dotée de nombreuses options, autrefois toutes payantes. Au fil du temps et des versions, certaines options sont devenues des fonctionnalités gratuites, sans que développeurs ni dba ne sachent vraiment lesquelles le sont et, celles qui ne le sont pas. Dans la pratique certains utilisateurs activent soit volontairement pour test, soit par inadvertance, des fonctionnalités dont quelques unes sont payantes. Malheureusement ceci est tracé et l’activation d’une telle fonctionnalité ouvre immédiatement droit au paiement supplémentaire même si on ne l’utilise pas, Oracle arguant qu’il ne lui est pas possible rétrospectivement de savoir si la fonctionnalité a été réellement utilisée, simplement testée voir même totalement inutilisée. De plus, au moment de l’activation d’une fonctionnalité payante, aucun message préventif n’indique que l’option fera l’objet d’une licence complémentaire ouvrant droit à subsides au profit d’Oracle.
Une fois le temps de l’audit venu, Oracle n’a plus qu’a interroger les traces indélébiles de l’activation de ces options et envoyer la note !
2 – Pourquoi ?
Nous avons dit que la firme Oracle a besoin d’argent… Il suffit de regarder les cours de bourse d’Oracle pour constater son inexorable déclin. Dans le même temps, comparer ceux de son principal challenger Microsoft…
Comment Oracle en est-il arrivé là ? Il n’y a pas que le prix exorbitant des licences qui font reculer les clients… D’autres éléments clefs font rétrécir la part de marché d’Oracle. Cela a commencé il y a plus de 10 ans, lorsqu’est sortit la version 2005 de SQL Server de Microsoft. À l’époque, Oracle se croyait « unbreakable ». Hélas plusieurs analystes montraient que sur le plan de la sécurité Oracle était bien moins bonne que celle de SQL Server, avec des bogues récurrents et un temps de correction anormalement lent (voir notamment l’étude de David Litchfield de 2006). Sécurité qui ne s’est pas améliorée hélas au fil du temps ou les comparaisons basées sur les failles (CVE : Common Vulnerabilities and Exposures) recensées par le NIST (National Institute of Standards and Technology) donne un avantage de plus en plus grand à SQL Server au détriment d’Oracle sur le plan des failles de sécurité ! (voire l’étude Edison de 2013)
Enfin, les enquêtes de satisfaction donnent un réel avantage à SQL Server (voir les enquêtes « State on Database Technology » d’Information Week ou encore les différentes études ITC).
Quant au cout global d’utilisation, il est depuis bien longtemps en faveur de SQL Server (simplicité des commandes, facilité de l’IHM, documentation exceptionnelle…) malgré les nombreux papiers dont Oracle inonde le web afin de tenter de prouver le contraire ! Il suffit de demander à des dba ayant la double casquette ce qu’ils en pense… (voire par exemple l’étude Alinean de 2015).
Outre ces éléments il y a un facteur majeur qui rentre en ligne de compte sur le long terme. Le cloud (infonuagique) !… Larry Ellison y a longtemps été peu favorable et indécis. Le résultat est sans appel. Microsoft y existe et s’en trouve être un des leader derrière Amazon. Oracle n’existe pas sur ce marché. Les enquêtes du Gartner Group (Magic Quadrant pour le cloud) le montre bien…
2 – Des pratiques scandaleuses
Dans l’article de Business Insider une pratique s’apparente à du chantage. Oracle consent à réduire l’addition, si le client passe dans le cloud. Or nous venons de le voir, les clients sont loin de se précipiter dans l’infonuagique à la sauce Oracle, lui préférant de loin Amazon lorsqu’ils restent Oracleur ou Azure lorsqu’ils passent à SQL Server.
Un autre article (« Comment se déroule un audit logiciel avec Oracle… » du Monde Informatique) montrent à quel point les pratiques d’Oracle sont scandaleuses et frisent le hors la Loi… « Oracle réclame des informations qu’elle n’est pas supposée demander contractuellement sur les serveurs sur lesquels ne tournent pas de logiciel Oracle et sur le personnel de Mars qui n’utilise pas les logiciels d’Oracle« . Imaginez quelles sont les implications d’une telle intrusion dans vos serveurs ou auprès de vos employés !
D’où les conseils distillés par certains juriste et économistes, d’intégrer les risques de coûts associés aux audits d’Oracle comme charges supplémentaire aux offres commerciales, ce qui a pour effet de gonfler la note finale d’acquisition des licences Oracle !
3 – les options payantes
Je me suis livré à une comparaisons des options payantes dans oracle et gratuites dans SQL Server. Microsoft n’offre d’ailleurs pas d’options payantes, mais les fonctionnalités dépendant des versions (comme dans Oracle d’ailleurs). De plus, il existe de nombreux outils complémentaires gratuits pour SQL Server disponible sur le site web communautaire codeplex.
Voici un tableau résumant la chose :
4 – Le prix…
De la même manière, j’ai étudié le montant comparatif des licences à payer pour l’équivalence d’Oracle avec SQL Server, basé sur la version Enterprise. Le résultat est édifiant…
Prix des options Oracle (21 juin 2016) « Processor Licence » :
Database In-Memory 23 000 $
Diagnostics Pack 7 500 $
Tuning Pack 5 000 $
Partitionning 11 500 $
Advanced compression 11 500 $
OLAP 23 000 $
Advanced Analytics 23 000 $
Spatial 17 500 $
Multitenant 17 500 $
TOTAL : 139 500 $
Prix des licences Oracle édition Enterprise : 47 500 $
Le prix des licences Oracle s’établie pour 2 processeurs. Par exemple sur une machine quadriprocesseur ayant des CPU comportant 12 coeurs, le facteur de licence est donc de 24 (4 x 12 / 2).
Prix des licences SQL Server édition Enterprise : 27 496 $
Le prix des licences SQL Server s’établie pour 4 processeurs. Par exemple sur une machine quadriprocesseur ayant des CPU comportant 12 coeurs, le facteur de licence est donc de 12 (4 x 12 / 4).
Comparaison basé sur le prix au processeur : (47 500 / 2) / (27 496 / 4) = 4
Oracle, sans aucune option payante, est donc naturellement 4 fois plus cher que SQL Server
Avec notre machine exemple (quadriprocesseur ayant des CPU comportant 12 coeurs) et toutes les options, nous arrivons à la différence suivante :
Oracle : 24 x ( 47 500 + 139 500 ) = 4 488 000 $
SQL Server : 12 x 27 496 = 329 952 $
À ce stade, Oracle est 13,6 fois plus cher…
Mais vous pouvez négocier !
- les remises maximales chez Oracle vont jusqu’à 70%, vous passez donc à : 1 346 400 $
- les remises maximales chez Microsoft vont jusqu’à 40%, vous passez donc à : 197 971 $
De plus si vous avez misé sur des serveur dotés de processeurs OPTERON d’AMD, alors Microsoft accorde un facteur de réfaction supplémentaire de 25%. La note passe donc à 148 478 $
Après négociation et utilisation de processeurs Opteron d’AMD, au final, Oracle s’avère 9 fois plus cher…
En conclusion
Comme je le mentionnait dans un article précédent « le déclin d’Oracle » la firme de Redwood Shores est en sérieuse perte de vitesse. Elle n’est même plus le champion de l’avancée technologique. Par exemple elle s’est faite grillée sur le « In Memory » par SAP avec HanaDB, puis par SQL Server…
Sur les performances la plupart des benchmarks effectués par les utilisateurs montre quelle est plus gourmande à performances équivalente que la plupart de ses challengers ou si l’on prend l’autre bout de la lorgnette, qu’elle est moins performantes sur une même machine. Mais Oracle interdisant de publier le moindre benchmark concernant le produit, vous ne trouverez pas d’étude sérieuses sur le sujet. Reste les benchmarks officiels du TPC, mais là c’est une autre histoire… Oracle ne publie que les résultats du TCP-C datant de 1992 donc sur une base de données datée de 23 ans comportant en tout et pour tout 8 tables et des jointures limitées à 2 tables sans aucune sous requête ! Et même dans ce cas, SQL AnyWhere de SAP (anciennement Syabse) la bât sur le coût…
En revanche SQL Server se sert du TPC-E plus récent (2007) et plus réaliste, comportant 33 tables des jointures avec 7 tables et de multiples sous requêtes. Et là curieusement, Oracle n’y a jamais présenté un seul résultat de benchmark !
Et ce déclin est bien constaté par d’inexorables chiffres. Par exemple celui comparant, pour un organisme de formation bien connu pour son indépendance, le nombre de stagiaires formés sur chacune des deux plateformes…
Pas la peine de vous faire un dessin !