Ich habe an verschiedenen Systemen als Programmierer gearbeitet, einige mit Oracle, einige mit MySQL. Ich höre immer wieder Leute sagen, dass Oracle stabiler, robuster und sicherer ist. Ist das der Fall?
Wenn ja, auf welche Weise und warum?
Beziehen Sie sich für diese Frage auf eine kleine oder mittelgroße Produktionsdatenbank, vielleicht 500.000 Datensätze oder so.
Ja. Oracle ist eine Software für Unternehmen.
Ich bin nicht sicher, ob es wirklich stabiler ist als mysql, ich habe mysql nicht so oft benutzt, aber ich kann mich nicht erinnern, dass mysql bei mir abgestürzt ist. Ich hatte einen Oracle-Absturz, aber wenn es passiert, gibt es mir mehr Informationen darüber, warum es abgestürzt ist, als ich es mir gewünscht hätte, und Oracle-Support ist immer da, um zu helfen (gegen eine Gebühr).
Es ist sehr sehr robust, Oracle DB wird praktisch alles tun, bevor es Ihre Daten bricht, ich hatte mysql-Server wirklich komische Dinge tun, wenn sie nicht genügend Speicherplatz haben, Oracle wird nur alle Transaktionen anhalten und schließlich herunterfahren wenn Es kann die benötigten Dateien nicht schreiben. Ich habe noch nie Daten in Orakel verloren, selbst wenn ich dumme Dinge wie die where-Klausel vergesse und jede Zeile statt einer einzelnen Zeile aktualisiere, ist es sehr einfach, die Datenbank wieder zu bekommen, wie sie war, bevor du versaust.
Sie sind sich nicht sicher über die Sicherheit, aber Oracle bietet Ihnen viele Möglichkeiten, wie Sie sich mit der Datenbank verbinden und authentifizieren. Es gibt viele Optionen, in Bezug darauf, welche Benutzer Zugriff auf was usw. haben. Aber wie bei den meisten Dingen, wenn Sie Sicherheit ernst nehmen wollen, dann brauchen Sie einen Experten, um es zu tun. Oracle hat sicherlich viel mehr zu verlieren, wenn sie nicht die Sicherheit bekommen. Aber wie bei allen Dingen gab es auch Exploits.
Wenn nichts anderes, bedenken Sie dies ... Wenn Oracle stopft, haben sie Kunden, die $ 40k pro CPU zahlen (wenn sie Sauger sind und Listenpreis zahlen), Lizenz + jährliche Wartungsgebühren. Dies gibt ihnen eine sehr stark intensiv, um sicherzustellen, dass die Kunden mit dem Produkt zufrieden sind.
Für eine kleine Datenbank würde ich Oracle XE ernsthaft vor mysql empfehlen. Es hat die wichtigen Funktionen von mysql (Free), es ist einfach zu installieren, kommt mit einem netten Web-Interface und Application Framework (Application Express), wenn Sie DB gerne auf einer einzigen CPU laufen, 1GB RAM und 4GB Daten, dann XE ist der Weg zu gehen IMHO.
Mysql hat seine Verwendung, viele viele Menschen haben gezeigt, dass Sie große Dinge damit bauen können, aber seine weit hinter Oracle (und SQL Server und DB2) in Bezug auf Funktionen ... Aber dann, es ist auch kostenlos und sehr leicht zu erlernen, was für viele Menschen das wichtigste Merkmal ist.
Ich habe Oracle eine beschädigte Datenbank erstellen lassen, wenn der Speicherplatz nicht mehr ausreicht. Es ist schwer zu debuggen, verbraucht viele Ressourcen und es ist schwierig mit ihm zu arbeiten, ohne dass ernsthafte fähige DBAs die Hand halten. Oracle hat sogar Systembinärdateien (z. B. gcc) in / usr / bin / ersetzt, als ich es installiert habe.
Die Arbeit mit PostgreSQL war dagegen viel angenehmer. Es gibt lesbare Fehlermeldungen und wirkt verständlicher, wenn Sie mit Open Source * Nix-Systemen arbeiten. Es ist sehr einfach, die Replikation einzurichten, sodass Ihre Daten relativ sicher sind.
Eine 500K-Datensatzdatenbank kann wahrscheinlich auf Ihrem Mobiltelefon ausgeführt werden. Im Ernst, es ist so klein, dass sowohl Oracle XE als auch MySQL mehr als ausreichen, um es zu verwalten.
Oracle ist ein Biest, das DBA-Wissen wirklich braucht. Ich stimme denen zu, die sagen, 500k Datensätze sind nichts. Es ist die Komplexität von Oracle nicht wert, wenn es sich um einfache numerische / Textdaten handelt.
Auf der anderen Seite ist Oracle sehr effizient mit Blobs. Wenn jeder Ihrer Datensätze eine 100-MB-Binärdatei ist, benötigen Sie ein Vermögen, um ihn auf Oracle auszuführen (ich würde einen RAC-Cluster mit 3 Knoten mit einem guten SAN empfehlen).
Ich habe ein Projekt, das Daten (~ 10 Mio. Zeilen, 1,2 GB Daten) an drei verschiedene Datenbanken, 2 Oracle und 1 MySQL, sendet. Ich hatte keine Probleme mit beiden Systemen zu arbeiten, noch habe ich irgendwelche wesentlichen Vorteile auf beiden Seiten gesehen. Wenn Sie sich an einem Ort befinden, an dem Oracle bereits für andere Projekte verwendet wird, sollte das Hinzufügen einer neuen Datenbank kein allzu großes Problem darstellen, aber wenn Sie einen neuen Datenbankserver einrichten und nichts darin haben Platz schon, MySQL wird Ihnen das Geld sparen.
Oracle Enterprise geht davon aus, dass es ein Unternehmen gibt, das es unterstützt, dh einen echten Oracle DBA. Ein unerfahrener (aber kompetenter) DBA sollte MySQL viel einfacher als Oracle sichern können, nur weil Oracle von Natur aus komplexer ist. Natürlich hat Oracle die Enterprise-Überwachungstools, die über das hinausgehen, was MySQL derzeit bietet (soweit ich gesehen habe), aber der DBA muss in der Lage sein, sie zu nutzen, um effektiv zu sein.
Eine so kleine Datenbank, wie Sie sie beschreiben, könnte von den meisten Dingen gehandhabt werden, so dass ich nicht sehen kann, dass Oracle gerechtfertigt wäre, wenn die Infrastruktur nicht bereits vorhanden wäre. Beide haben Replikation, Transaktionen und Warm-Backups, also würde beides gut funktionieren.
Die Antwort hängt vollständig davon ab, wie Sie jedes DBMS konfigurieren. Beide können 500.000 Datensätze mehrfach verarbeiten.
Oracle ist viel stärker. Viele seiner Funktionen würden nur in einem größeren Unternehmen oder einer Hochleistungsumgebung gesucht. Sie sind hauptsächlich Funktionen, die mit Skalierung, Replikation und Lastenausgleich zu tun haben.
Berücksichtigen Sie bei kleinen DBs SQLite. Für Small-Medium, schauen Sie sich MySQL oder PostgreSQL an. Für die größten, betrachten Sie MSSQL, Oracle, DB2, etc.
Bearbeiten: Nachdem ich die andere Antwort gelesen habe, füge ich hinzu, dass, wenn Ihre Daten wirklich wirklich kritisch sind, Sie eine replizierte Konfiguration wünschen und Sie wahrscheinlich zu einer der Dateien gelangen möchten die großen DB-Anbieter für so etwas.
Wenn Sie potenzielle ( äußerst selten ) Datenverluste opfern und eine bessere Leistung bevorzugen würden, sehen Sie sich einige der leichteren Optionen an.
Es stimmt, dass Oracle ein Biest ist.
Es stimmt auch, dass Oracle allgemein als die sicherste Hauptdatenbank gilt.
Das Problem ist, dass die Entwickler von Oracle kritische Sicherheitskonzeptionen nicht zu erfassen scheinen. Oracle ist der am wenigsten sichere Datenbankserver auf dem Markt (laut unabhängigen Sicherheitsforschern)
Laut diesen Forschern ist MySQL ziemlich sicher. Ich weiß nicht viel über die Werkzeuge dafür. Was am meisten amüsiert über diese Forschung ist, dass die gleichen Leute, die Microsoft SQL Server ein Spielzeug nennen würden, ihre Daten von Angreifern gestohlen hätten, die MSSQL vereiteln würde, weil sie ein Biest verwenden, das ein schreckliches Sicherheitsmodell hat und kein "Spielzeug" ist sicher.
Ich verwende Oracle / SQL Server / MySql für verschiedene Anwendungen und Standorte
Kein Datenbank-Beat kann Oracle in vielen verschiedenen Bereichen, aber es ist die meiste Datenbank, die tiefes Wissen für die Verwaltung erfordert.
und wenn du ein Problem mit Orakel gefunden hast, mag es einige Male damit verbringen, es sogar mit guten DBAs zu lösen.
Sie können mit MySql für 500K oder Millionen von Datensätzen gehen, es ist leichter als andere DB, und erfordert keine Verwaltungsarbeit, und wird nicht viel von Ihren Computerressourcen nehmen, ich habe es immer in meinem Entwicklungs-PC, und nie hatte ein ernstes Problem damit.
Ich würde verlangen, dass Sie mit MySql oder PostgreSQL gehen, wenn Sie die fortgeschrittenen Funktionen von Oracle nicht benötigen.
Tags und Links mysql database oracle comparison rdbms