Oracle vs PostgreSQL
Faut-il utiliser Oracle ou utiliser un logiciel libre? Ces derniers sont-ils fiables?
Il y a plusieurs alternatives à Oracle pour gérer des bases de données importantes. Ici nous allons faire une comparaison avec PostgreSQL. Mais Cassandra, utilisée par Facebook et d'autres sites sociaux traitant des millions de transaction par jour est une autre possibilité.
PostgresSQL, que l'on appelle aussi postgres est dérivé de Ingres, d'ou le nom post-gres. Plus performant que MySQL (mais plus difficile à installer), c'est un produit entièrement libre et qui connait une forte croissance.
Qui utilise PostgreSQL?
Quelques entreprises connues:
- Yahoo!. Utilise une version modifiée de PostgreSQL pour une base de donnée considérée en 2008 comme la plus importante au monde.
- MySpace. Réseau social.
- Hi5. Réseau social.
- Skype. Site de téléphonie.
- Sony. Pour sa plateforme de jeux en ligne.
- Afilias. Le registry pour les domaines en .org et .info.
- La station spatiale internationnale. Gage de fiabilité!
Les sites web à plus fort trafic utilisent différentes alternatives à Oracle.
- Google: BigTable un système propriétaire.
- Facebook: Cassandra, système open source qui dérive de BigTable.
- Youtube: BigTable.
- Yahoo!: PostgreSQL.
- Live (Microsoft). SQL Server.
- Wikipedia. MySQL.
- Twitter. MySQL et Cassandra.
En 2014, le NHS, service de gestion des patients de Grande-Bretagne (80 millions de personnes) a reconverti son infrastructure, abandonnant Oracle au profit de Riak, une solution NoSQL. Riak est un système clé-valeur. Les économies se font à la fois sur le logiciel et le matériel.
Dans le même temps l'état de l'Oregon aux USA fait un procès à Oracle car le système de gestion de patients qu'ils ont mis en place est un désastre.
Benchmark et comparaison
On considère PostgreSQL équivalent en terme de performances à Oracle. L'un ou l'autre est plus rapide selon les fonctions, ou le temps passé en optimisation.
Fonction | Oracle | PostgreSLQ |
---|---|---|
SQL |
x | x |
Intégrité référentielle |
x | x |
Transaction |
x | x |
Unicode |
x | x |
Interface graphique |
x | x |
Taille de base maximale |
Illimitée | Illimitée |
Taille de table maximal |
4 GO | 32000 GO |
Taille de colonne maximale |
8 Ko | 16000 GO |
Nombre de colonnes maximal |
1000 | 250-1600 |
Taille maximale de blob |
Illimitée | 1 GO |
Taille maximale de varchar |
4 KB | 1 GO |
Nombre de bits pour un nombre |
128 bits | Illimité |
Date: Année la plus lointaine |
9999 | 5874897 |
Longueur de nom de colonne en car. |
30 | 63 |
Types d'index différents |
6/10 | 10/10 |
Capacités SQL |
11/11 | 10/11 |
Fonctions et procédures |
x | x |
Modes de partitionnements |
4/6 | 4/6 |
Compatibilité aux OS courants |
4/5 | 5/5 |
On accordait généralement à Oracle une plus grande facilité pour mettre en place des clusters et des partitions. Cela faisait une différence sur de très grandes bases de données, avec des milliards de lignes. En 2017, Postgre s'est dotée du partitionnement déclaratif, de requêtes parallèles (diviser une même requête en parties qui pourront être exécutées en même temps), réplication logiques et autres fonctions pour faciliter la répartition sur plusieurs noeuds.
Avec une augmentation de 17% d'utilisateurs par rapport à 2016, c'est selon db-engines.com l'outil qui a le plus progressé en 2017 devant MongoDB.
Le prix
Oracle:
Les prix s'entendent pour un coeur de processeur. Si on utilise un processeur à quatre coeurs sur un serveur, il faut multiplier le prix par quatre.
- Standard Edition : 17500 dollars par coeur.
- Enterprise Edition: 47500 dollars par coeur.
PostgreSQL:
- Gratuit.
Conclusion
PostgreSQL et Oracle sont des systèmes équivalents bien que l'un soit gratuit et l'autre très onéreux. Rien ne justifie l'emploi d'Oracle plutôt que PostgreSQL, sauf pour certaines catégories de très grandes bases de données et c'était avant la version 10 de Postgre.
De nombreuses entreprises spécialisées proposent leurs services pour l'installation, le développement, la maintenance des SGDB, dans les deux cas.
Avec les nouvelles fonctions apportées par la version 9.3 de PostgreSQL, beaucoup d'utilisateurs estiment que MongoDB aussi perd de son intérêt, sauf lorsqu'il est utilisé avec Node.js et la version 10 supprime les lacunes face à Oracle..
Outils
- PostgreSQL. Téléchargement gratuit.
- phpPgAdmin Equivalent de phpMyAdmin (MySQL) pour PostgreSQL.
- pgAdmin Administrateur local de base de donnée PostgreSQL.
- Once:Radix. RAD Access-like pour bases de données, incluant Postgre.
- PostGIS. Pour les données spatiales ou géographique, est meilleur que la solution d'Oracle. Exemple: OpenStreetMap.
Documents
Article Oracle vs PostgreSQL
lefty
Bonjour,
Après une discussion avec un collègue concernant la différence entre Oracle et PostgreSQL, celui ci m'a montré cette "page" concernant un comparatif entre ces deux bases de données.
Je voudrais déja commencer mon post par dire un grand MERCI pour la tranche de rigolade que cette page m'a fourni :)
Reprenons en détail ce fameux article. Passons déja sur la soit disante liste des entreprises qui utilisent Posgre. Je ne suis pas certain que ca soit vraiment le cas mais bon admettons (notons quand meme le cas de Sony au vu de l'actu en ce moment ^^).
Tu as l'air de dire dans ce poste que les grosses boites utilisent Postgre plutot que Oracle. Il faudrait quand meme dire que quasi toutes les grandes banques/assurances du monde sont sur Oracle. On peut rajouter des entreprises gens la SNCF, La poste... La liste des gros clients Oracle est longue...
En ce qui concerne les license il faut rappeler qu'il existe une version gratuite d'Oracle (la express edition) et que depuis 1an Oracle possède Mysql.
On attaque maintenant la partie LOL de l'article : le comparatif.
Déja apprend à lire en anglais et tu veras que les conclusion du powerpoint en lien sont que Oracle est le plus rapide et que Postgre est lent et génere du traffic réseau...
Mais bon c'était bien tenté :)
On continu avec le tableau. Beaucoup de truc faux. Je vais pas en faire le listing complet. Je connais pas du tout Postgre donc je dirais rien sur cette colonne mais en tout cas pour la partie Oracle une bonne partie est fausse... (taille max de la table, taille max colonne, année lointaine...)
La conclusion a fini par m'achever... Lire que Postgre et Oracle étaient des "systèmes équivalents" a bien fait rigoler tout mon bureau!
"Rien ne justifie l'emploi d'Oracle plutôt que PostgreSQL" --> c'est bizarre qu'autant de boite utilisent Oracle alors si on a une si bonne base de données gratuite a coté...
C'est facile de faire des articles complétement subjectifs avec des soit disant chiffres ou tableaux comparatif qui sortent de nul part!
Et le pire c'est qu'après ça sert de référence à des gens qui tombent sur cette page...
Alors oui utiliser PostgreSQL plutôt qu'Oracle pour la base de données d'un site web je suis totalement d'accord car au niveau gestion de petites et moyennes bases, les SGBD sont plutôt au même niveau mais bon quand on commence à passer sur des grosses bases la je suis pas sur qu'il reste beaucoup de base en Postgre...
Webmaster
Bonjour Tous les avis sont les bienvenus, même s'ils sont critiques et quelque fois à la limite de la bienséance. Reprenons quelques points importants...
"Tu as l'air de dire dans ce post que les grosses boites utilisent Postgre plutot que Oracle."Pas vraiment. Je donne une liste de sites importants qui ont fait ce choix, pour preuve que cela fonctionne en production.
Je sais parfaitement que la plupart des grandes entreprises préfèreront Oracle ou n'importe quelle logiciel commercial, par manque d'information, principalement. Et puis elle feront payer les clients, alors pourquoi se priver.
Pour le tableau, je ne l'ai pas réalisé moi-même, on s'en doute, il provient de sources sûres, mais ce sont des informations qui évoluent continuellement avec chaque nouvelle version des logiciels. Il ne sera exact qu'à un instant donné.
Je ne suis pas un fanatique de PostgreSQL, je veux juste le faire connaître et rappeler qu'il existe des solutions libres pour ceux qui veulent les utiliser.
J"apprécie tout autant sinon plus un SGDB tel que Cassandra et le principe NoSQL (entendons par là l'extension en colonnes autant qu'en lignes). Ou encore ArangoDB or MongoDB.