Warum sollten Sie die Oracle-Datenbank verwenden? [geschlossen]


96

Ich bin aus technischen Gründen neugierig, warum Sie sich für die Oracle-Datenbank im Vergleich zu den neuesten Varianten entscheiden:
1) Microsoft SQL Server
2) MySQL
3) PostgreSQL

Welche Features oder Funktionen rechtfertigen die zusätzlichen Kosten? Ich interessiere mich für technische Argumente, nicht für einen Religionskrieg. Ein Freund hat mich das gefragt und ich habe immer eine der 3 verwendet, die ich aufgelistet habe. Ich wusste nicht genug über Oracle-Datenbanken, um eine Meinung abzugeben.

Vielen Dank.

Antworten:


48

Niemand scheint über die Kosten für Entwickler zu sprechen, die mit Oracle arbeiten. Die meisten Entwickler, die eine andere Datenbank kennen, hassen Oracle, diejenigen, die nicht davon ausgehen, dass alle DB-Code- und / oder ORM-Tools schwierig zu verwenden sind.

Wenn ich ein Unternehmen gründen würde, von dem ich glaubte, dass es auf Amazon-Proportionen skaliert, würde ich möglicherweise NoSQL-Lösungen in Betracht ziehen, andernfalls würde ich jedes Mal PostgreSQL, SQL Server (oder sogar Sybase jetzt) ​​anstelle von Oracle wählen. Ich sage, dass dies (als Entwickler) 2 Jahre lang mit Oracle zusammengearbeitet hat - es ist schrecklich, damit zu arbeiten!


3
Ich bin nicht einverstanden! Oracle ist definitiv eine der besten Implementierungen von RDBMS. Es verwaltet den Speicher sehr effizient und kann komplexe JOIN-Operationen verarbeiten, die MySQL und MsSQL leicht lahm legen. Oracle hat eine großartige Architektur, die es sehr solide macht, da es sehr einfach ist, verschiedene Anwendungsdaten sehr gut zu organisieren. Ich denke, das beste Plus für mich ist die SQL Engine, die Oracle besitzt. Sie ist sehr fortschrittlich und damit die einzige Datenbank, die ein Data Warehouse betreibt! Das Ausführen komplexer Abfragen unter Oracle ist einfach. Mit anderen Funktionen wie Materialized Views, PL / SQL usw. bietet Oracle ein gutes Preis-Leistungs-Verhältnis.
Muzaaya Joshua

7
Ich stimme auch zu - nachdem ich in den letzten Jahren sowohl mit Oracle 11gR2 als auch mit SQL Server 2008 R2 gearbeitet habe, ist es absolut lächerlich, wie oft ich auf das kaputte Sicherheitsmodell von Oracle, die nicht intuitiven Tools zur Leistungsoptimierung und den kniffligen Optimierer gestoßen bin. Alle Einsparungen, die Sie durch den Verzicht auf eine MS Win Server-Lizenz erzielen, werden sofort durch Produktivitätsverluste aufgezehrt.
Engil

3
Als Hauptbenutzer von SQL Server und mit Oracle eine Datenbank entwickelt: Oracle ist ein Problem. Wie @Jasmine erwähnt, ist es so beschränkt auf das, was Sie tun können. Ich hasse es besonders, wie Variablen funktionieren und dass Sie Trigger und Sequenzen für das automatische Inkrementieren von IDs erstellen müssen. SQL Server ist die Definition, wie eine Datenbank funktionieren soll. Selbst MySQL ist besser als Oracle. Natürlich haben beide Datenbanken ihre Grenzen, aber nichts im Vergleich zu Oracle.
RoyalSwish

4
Darüber hinaus ist PLSQL klobig und nervig.
RoyalSwish

1
Oracle bietet eingeschränkte Sharding-Unterstützung, eingeschränkte Skalierungsunterstützung, eingeschränkte Verwaltungsfunktionen, eingeschränkte Support-Hilfe, etwas eingeschränkte Clustering-Unterstützung (kein Master-Master-Protokollversand) und viele Lieferanten-Lock-In. Sie versuchen gerade aufzuholen, aber ich habe noch nie so viele Fehler gesehen. Ich habe mit einer Reihe von Alpha-Releases, Beta-Releases und Systemen gearbeitet, die für nicht geeignet und instabil erklärt wurden. Ich habe noch nie so viele eindeutige Fehler gesehen, die vor der Veröffentlichung oder manchmal sogar vor dem Kompilieren offensichtlich gewesen sein sollten.
jbo5112

32

Nur Oracle und Microsoft SQLServer sind Closed Source. Wenn etwas schief geht und Sie ein Problem haben, ist die Antwort nur einen Anruf entfernt (und natürlich Bargeld). Wie auch immer, MySQL und PostGre haben mehrere Unternehmensberatungsdienste, aber letztendlich sind diese Berater nicht wirklich für das Produkt verantwortlich, da das Produkt jedem gehört. Das ist großartig, weil Sie den Code korrigieren können, wenn Sie mit C und relativ niedriger Programmierung gut umgehen können, aber wenn Sie die Lösung nicht finden, kann dies zu einer wilden Gänsejagd werden.

Da nicht jeder über ausreichende Kenntnisse verfügt und Unternehmen mit Geld die Sicherheit (im geschäftlichen Sinne) der Closed-Source-Datenbanken bevorzugen, ist dies der Grund, warum diese Lösungen nicht aus dem Geschäft geraten sind, abgesehen von der Tatsache, dass ihre Implementierungen solide sind und das Geld wert, wenn Sie es haben.

Ok, jetzt ist endlich der wichtigste Unterschied zwischen SQLServer und Oracle und dieser Unterschied ist das Betriebssystem. Die meisten Windows-Benutzer bleiben bei SQLServer, aber wenn Sie Unix Oracle verwenden, ist Oracle Ihre Closed-Source-Lösung. Wie auch immer, ich verwende Oracle unter Solaris, aber wenn unser Ziel Windows wäre, würde ich wahrscheinlich SQLServer verwenden, da beide Produkte absolut solide sind, aber ich vertraue darauf, dass Microsoft einige spezielle Tricks unter der Haube hat, um die beste Leistung unter Windows zu erzielen.


6
+1. Gute Antwort. Ich habe immer mit dem Motto "Ich mag die besten Rassen, aber kostenlos ist sehr cool." Ich versuche immer, ein Gleichgewicht zu finden, wenn ich eine Lösung auswähle. Für meinen Tagesjob verwende ich SQL Server. Auf meine eigenen Sachen MySQL im Moment.
BuddyJoe

3

Die eigentliche Frage ist, welche Art von Anwendung zur Verwendung eines RDMS verwendet wird. Sie brauchen sicherlich kein Orakel für Ihr WordPress-Blog oder Ihren Twitter-Klon. Wenn Sie jedoch umfangreiche Business Intelligence-Funktionen ausführen möchten, verfügt Oracle möglicherweise über einige Funktionen, die dazu beitragen können, dies effizienter als die anderen zu tun.

Frau SQL Server ist auch sehr gut, es hat Tonnen von Funktionen. Wenn Sie unter Linux arbeiten und eine Datenbank mit Funktionen benötigen, die von ms sql angeboten werden, ist Oracle eine gute Wahl.


3

Nur um ein paar zu nennen:

  • Oracle Real Application Cluster - bietet erweiterte Clustering-Funktionen
  • Oracle Data Guard - kurz gesagt, bietet physische und logische Standby-Funktionen.
  • Oracle Exadata - implementiert den datenbankfähigen Speicher (der Prädikatenfilterung, Spaltenprojektionsfilterung, Verknüpfungsverarbeitung und die Erstellung von Tabellenbereichen beschleunigen kann). Die Lösung wird mit HP Servern, vollständiger 24/7-Garantie und anderen nützlichen Dingen geliefert. Es ist sehr gut für Anwendungen mit sehr intensivem Laden von Daten (zum Beispiel dank der unabhängigen Erstellung von Tabellenbereichen).
  • Oracle-Virtualisierung

Und natürlich die Magie der Marke;)

Und wenn es um die Wahl des RDBMS geht? Normalerweise ist die Wahl ziemlich offensichtlich - Oracle oder der Rest der Welt. Danach können Sie die Auswahl eingrenzen durch:

  • Plattform (nur Windows oder nicht)
  • Gewicht (SQLite, MySQL, PostgreSQL, ...)
  • Budget (anfängliche Lizenzkosten, Wartung + Supportkosten)
  • Evolutionsperspektiven zum Beispiel:
    • Oracle Express -> Oracle
    • SQL Server Express -> MSSQL
  • Geschäftsperspektiven - "sicheres, bekanntes Produkt" oder Open-Source-Produkt (beachten Sie das Zitat um den ersten Satz). Andere Beiträge befassen sich tendenziell eingehender mit diesem Aspekt.

14
Es wäre schön, wenn Sie ein wenig darüber hinzufügen könnten, was diese Funktionen bewirken ... für diejenigen von uns, die es nicht wissen, klingt es einfach nach Buzzword-Bingo. ;)
Nik Reiman

6
Nicht nur das, aber viele dieser Dinge sind für kleine und mittlere Unternehmen nicht notwendig und rechtfertigen (für sie) sicherlich nicht die sehr hohen Kosten.
Dave Markle

1
Sie zahlen für das, was Sie verwenden ... Die Beispiele, die ich gegeben habe, sind für ziemlich große Organisationen interessant. Und wie gesagt, die erste Wahl ist normalerweise die Entscheidung, ob Sie sich für Oracle oder etwas anderes entscheiden.
Anonym

Oracle RAC ist kein erweitertes Clustering (und war es nicht im Jahr 2009), sondern ein schlüsselfertiges Clustering. Da gemeinsamer Speicher erforderlich ist, werden E / A nicht skaliert. Es würde 2009 nicht auf Cloud-Level skaliert werden können, und im letzten Jahrzehnt haben sich die Dinge für Oracle nur noch verschlechtert.
jbo5112

3

Ich denke, das liegt daran, dass Oracle das erste RDMS war, das " Sharding " unterstützte.


2
-1 Was bedeutet das überhaupt? * Zitieren erforderlich. * Es gibt mehrere Methoden zum Implementieren von Sharding, einschließlich, aber nicht beschränkt auf das Implementieren von Sharding in der Anwendungsschicht.
Jeeyoung Kim

Oracle hatte bis 12.2 (2016/2017) kein natives Sharding. IIRC, MySQL hat sie um mehr als ein Jahrzehnt geschlagen (verschiedene Speicher-Engines).
jbo5112

1

Die Kosten für SQL Server und Oracle liegen nicht so weit auseinander.

Tatsächlich liegen die Kosten für Oracle im Vergleich zu Ihrer bevorzugten kostenlosen Datenbank zwischen null (Oracle Express Edition) und nicht sehr hoch (5.800 US-Dollar pro Prozessor für Standard Edition One).

Hier ist ein Link zu den Funktionen der verschiedenen Editionen in 11g: http://www.oracle.com/database/product_editions.html .

Listenpreise sind für alle Gebiete unter http://store.oracle.com erhältlich - normalerweise zahlen große Unternehmen natürlich nicht für den Einzelhandel;)


2
Die Kosten für Postgres / MySQL und Oracle sind jedoch ... (nicht, dass ich zu beiden besonders
stehe

+1 David, können Sie Ihre Antwort erweitern, um möglicherweise einige der Einschränkungen der Express Edition aufzunehmen?
BuddyJoe

@ annakata - XE ist kostenlos. SE1 ist sehr billig.
David Aldridge

2
Die Hauptbeschränkungen von Express (XE) sind 4 GB Daten, 1 GB RAM und 1 CPU.
Gary Myers

4
Dies erklärt nicht die viel höheren Kosten für die Wartung einer Oracle DB-Installation im Gegensatz zu MSSQL oder seinen anderen Konkurrenten.
Monty Wild
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.