Étant donné la gestion des licences d'Oracle [a] (et, dans une moindre mesure, le coût), je me suis toujours demandé quels seraient les facteurs décisifs pour choisir Oracle plutôt que PostgreSQL ou MySQL.
Mon entreprise choisit presque toujours Oracle (XE dans la mesure du possible), même pour les petits projets où il n'y a qu'un seul serveur Windows simple exécutant la base de données sans aucune administration de base de données dédiée. (Notez que petit ne signifie pas que les données s'adapteront toujours aux contraintes de taille plutôt petites d'Oracle XE.)
J'ai toujours remis en question ce choix, mais il a l'avantage que nous sommes au moins exposés à un seul produit de base de données.
Pourtant, étant donné un nouveau projet, où vous avez besoin d'un SGBDR, mais le projet et la portée de la base de données sont assez petits, en fonction des fonctionnalités uniques d'Oracle s'exécutant sur de simples serveurs Windows (sans trop d'administration dédiée), choisiriez-vous Oracle un autre SGBDR?
Contexte supplémentaire : Un grand nombre de nos déploiements de bases de données s'exécutent sur les sites des clients dans un, appelons cela, le mode «à faible administration». Autrement dit, la base de données est configurée une fois. Il existe des tests initiaux sur son comportement et ses performances sur site. Après cela, la base de données fonctionne simplement. Aucune administration régulière effectuée. Ce n'est qu'en cas de panne qu'un technicien (pas un DBA dédié) vérifiera la base de données, essayant de comprendre ce qui se passe. La sauvegarde se fait principalement en tant que sauvegarde hors ligne. Dans certains projets, les clients ne se soucient même pas de la présence d'un SGBDR. Ils voient simplement leur application comme une boîte noire qui fonctionne (ou non).
[a]: Là où je travaille, il a fallu plusieurs mois à plusieurs chefs de projet pour obtenir les licences appropriées pour les petits projets, car les représentants locaux d'Oracle ne sont tout simplement pas très intéressés par la vente de leur produit si les revenus sont modestes.
Réponses:
Je ne peux qu'essayer de répondre pour Oracle et postgres. Après avoir utilisé Oracle exclusivement pendant des années et des postgres seulement pendant les deux dernières années, j'aime les postgres. Il y a tellement de petits moyens qu'il est plus pratique à utiliser qu'Oracle, et il partage bon nombre des avantages cruciaux (tels que MVCC). Il est plus facile à administrer, fiable, a une excellente documentation, et bien sûr, il est gratuit.
Cependant, postgres ne correspond pas à Oracle dans certains domaines, tels que:
Fait intéressant, presque toutes ces fonctionnalités sont absentes ou paralysées dans XE. Je pense que je choisirais les postgres plutôt que XE, toutes choses étant égales par ailleurs, mais ...
... rien de tout cela ne résout les deux principales raisons de choisir Oracle:
ÉDITER:
La seule situation où je choisirais Postgres plutôt que XE à chaque fois est celle de la sécurité. Si votre base de données ou l'une de ses applications est exposée à l'Internet public, je ne suis pas sûr que XE soit une bonne idée.
la source
Oracle Apex . Un environnement d'application Web pratique et facile à utiliser intégré à la base de données. Tout simplement, il est très simple de déployer des applications «à boîtier unique» avec l'interface utilisateur Web / la logique d'application / la base de données dans un seul package intégré.
PS. 11g XE (actuellement en version bêta) étend le stockage à plus de 10 Go.
la source
Bien que les autres options de flashback d'Oracle ne soient pas disponibles dans Express Edition, Flashback Query l' est. Selon la question , aucune autre base de données ne dispose de cette fonctionnalité qui permet à une instruction select d'interroger des données à un moment donné dans le passé. Les données Flashback peuvent être jointes aux données actuelles et insérées dans les tables actuelles, ce qui les rend utiles pour les opérations de type d'annulation, les modifications temporaires et la comparaison des modifications apportées par une méthode en un seul endroit.
Certaines autres choses que certaines autres bases de données n'ont pas qu'Oracle Express Edition.
la source
Tout d'abord, je pense que vous ne devriez pas sous-estimer le fait qu'il existe déjà Oracle Know-How mais pas pour les autres SGBDR. Construire des connaissances pour les autres prend du temps et de l'argent et peut aussi être accompagné de quelques erreurs au début.
De plus, on ne sait jamais si un petit projet ne se développera pas quelque part. Ensuite, vous pouvez passer très facilement et rapidement de XE à Standard Edition One à Standard Edition à Enterprise Edition. Une migration à partir d'un autre SGBDR prendra encore beaucoup plus de temps et d'argent. Conclusion: je pense que votre entreprise le fait correctement - ok, je suis peut-être un peu biaisé :-)
la source
count()
, ce qui semble être le talon d'Achille de Postgres). J'ai dû demander sur stackoverflow comment influencer le planificateurL'une des fonctionnalités intéressantes d'Oracle sont celles comme Oracle Resource Manager qui rendent la consolidation des applications dans une base de données beaucoup plus facile que d'avoir une base de données distincte pour chaque application. Il semble que cela ne soit pas utilisé dans votre organisation. Dans le passé, j'ai conçu des bases de données consolidées pour des projets comme vous le mentionnez.
Cela a fait que même le plus simple de tous les projets a mis des mois à démarrer et à une époque où le temps de mise sur le marché est extrêmement important, cela tue. Pour une raison quelconque, cela manque à beaucoup, souvent même à des fins politiques.
La solution pour cela est assez simple. Créez une base de données sérieuse, donnez à chaque projet / application leurs propres schémas et accès aux utilisateurs et lancez-vous en quelques heures au lieu de plusieurs mois. Si vous allez faire quelque chose comme ça, il pourrait être avantageux de combiner des applications qui ont des exigences de disponibilité similaires. Oracle dispose de plus en plus d'options de maintenance en ligne, mais parfois, il est beaucoup plus facile d'obtenir quelques heures d'arrêt. Avoir des fenêtres temporelles pour cela défini à l'avance pourrait éviter beaucoup de problèmes. Vous allez avoir besoin de temps d'arrêt.
Ne laissez pas les applications se connecter à la base de données, faites-les se connecter aux services dédiés à l'application en utilisant leurs propres alias tns. Cela vous permet de déplacer l'application vers une autre base de données, sans avoir à reconfigurer l'application.
BTW: les entreprises qui ont utilisé ce mode de consolidation ont économisé beaucoup d'argent chaque année, plus que les licences nécessaires pour commencer à rouler.
la source