Frage MySQL vs. SQL Server vs. Oracle [geschlossen]


Ich habe immer nur MySQL und kein anderes Datenbanksystem benutzt.

Bei einer Firmenbesprechung kam heute eine Frage auf und mir war es peinlich, dass ich nicht wusste: Welche erschütternde Funktionalität bieten MS, Oracle oder Oracle für einen Entwickler, die MySQL nicht bietet und die es MS und Oracle erlauben, ihre Systeme zu berechnen?


76
2017-12-16 09:54


Ursprung


Antworten:


Ich denke, andere Kommentatoren haben recht, alle zusätzlichen RDBMS-Fähigkeiten, die mit den kommerziellen Lösungen gebündelt sind, hervorzuheben.

Hier ist eine Matrix von Oracle-Editionen und Funktionen, die es wert wäre, nur für das Verständnis der "Extra" -Funktionen zu surfen, insbesondere im Kontext dessen, was es kosten würde, eine eigene Version von ihnen zu entwickeln und zu unterstützen (wenn das überhaupt möglich ist) auf einem Produkt wie MySQL: http://www.oracle.com/us/products/database/product-editions-066501.html

Wenn Sie beispielsweise Folgendes wünschen: "Benutzer können frühere Versionen von Daten wiederherstellen, die sie bis zu einer Woche nach der Änderung der Änderungen gelöscht oder aktualisiert haben", dann bedeutet dies einen gewissen Entwicklungsaufwand, den ich denke wäre viel höher auf einem System, das nicht über eine integrierte Funktion wie die Flashback-Abfrage von Oracle verfügt.


36
2017-12-16 10:28



Die reinen RDBMS-Schichten von Oracle und MSSQL bieten hauptsächlich eine reifere programmierbare Umgebung als MySQL und InnoDB. T-SQL und PL / SQL können noch nicht mit gespeicherten Prozeduren und Triggern von MySQL abgeglichen werden.

Die anderen Unterschiede sind syntaktische und leichte semantische Unterschiede, die die Dinge leichter oder schwerer machen (wie Top 500 gegen Limit / Offset).

Aber der eigentliche Killer ist, dass es eine Menge integrierter Tools und Services zusätzlich zu den RDBMS-Schichten von MSSQL (Reporting Services, Analysis Services) und Oracle (Data Warehousing, RAC) gibt, die MySQL (noch) nicht hat.


22
2017-12-16 10:07



MySQL ist nicht kostenlos!

Es wird allgemein als frei angesehen, aber Sie verkaufen oder vertreiben Software-Pakete, die MySQL enthalten, es enthält ziemlich strenge Beschränkungen. In diesen Fällen ist es nur für Open-Source-Projekte oder gemeinnützige Organisationen kostenlos. Wenn Sie es schaffen, die Datenbank und die Treiber vollständig vom Rest Ihrer Anwendung zu trennen und Ihren Kunden zwingen, MySQL selbst herunterzuladen und zu installieren, sind Sie wahrscheinlich in Ordnung.

Andernfalls kostet es für die "Standard" -Version 2.000 $ / Jahr, was in etwa vergleichbar ist mit den Kosten für die Lizenzierung von SQL Server.

Beide sind sehr gute Datenbanken, aber unter den Vorteilen von SQL Server sind:

  • Eine reichhaltige und ausdrucksstarke Verfahrenssprache (T-SQL)
  • Ein besserer Abfrageoptimierer und bessere Leistung in schreibintensiven Umgebungen
  • Eine Reihe leistungsstarker Tools und Funktionen, darunter eine Programmierumgebung, ein ETL-Tool (SSIS), dimensionale Modellierung (SSAS), eine Berichtsumgebung (SSRS) und ein einigermaßen ausgereifter Job-Scheduler.
  • Interaktives Debuggen gespeicherter Prozeduren und UDFs
  • Ein relativ einfach zu bedienendes, fensterbasiertes Management-Tool, mit dem Sie die meisten Administrationsaufgaben "clicky" erledigen können.

Viele Menschen sind ideologisch dagegen, Microsoft-Tools zu verwenden oder in eine Windows-Umgebung eingeschlossen zu sein, und das kann ich verstehen. Aber MySQL ist nicht frei für die geschäftliche Nutzung, und das scheint nicht weit verbreitet zu sein.

Sehen Sie sich die Lizenzierungsrichtlinien von MySQL auf ihrer Website an: http://www.mysql.com/about/legal/licensing/index.html


13
2017-12-04 23:34



Einige andere Dinge, über die Orakel verfügt mysql.

  • Warteschlangen
  • interne Jobplanung
  • ausgereifte gespeicherte Prozedursprache
  • Patinierte Tabellen
  • feinkörnige Zugriffskontrolle und Auditing
  • starke Wiederherstellungsfunktionen (zB Flashback, Rman, Dataguard)
  • Remote-Datenbank-Links
  • Anwendung Express

9
2017-12-16 11:39



Bis ich RDBSes von anderen Anbietern verwaltete wiederholte Oracle oft "Leser blockieren keine Autoren, Autoren blockieren keine Leser" bedeutet mir wenig. Ich wusste wirklich nicht viel über Sperrprobleme in 8 Jahren als Oracle DBA Jahre Informix und 3 oder SQL Server und vertrauen Sie mir, ich weiß viel mehr über das Sperren.

Ich würde also sagen, dass zusätzlich zu den Kommentaren zu Support- und Nicht-RDBMS-Features Sperrverhalten hinzugefügt werden muss.


8
2017-12-18 04:05



Es gibt zu viele Funktionen zum Auflisten. Siehe Wikipedia-Referenz in der Nachricht von nullptr. Aber ich nehme an, dass die Frage beim Meeting wirklich gestellt ist: "Für einen Entwickler, welche erschütternde Funktionalität bietet MS oder Oracle MySQL, das es MS und Oracle erlaubt, ihre Systeme zu berechnen und das kann effektiv von unserer Firma benutzt werden"

Alle Vorteile sind wirklich Vorteile, wenn Sie mit Ihren Bedürfnissen übereinstimmen ...


5
2017-12-16 11:45



Orakel Tabellencluster und Single-Table-Hash-Cluster (was Sie auch nicht in SQL Server finden werden).


5
2017-12-16 12:17



Hinweis: Ich kann nichts über Oracle sagen, daher werde ich nur für SQL Server antworten.

Nun, natürlich kleine Unterschiede in der Datenbank-Engine, wie MERGE-Anweisung, BULK INSERT, GROUPING SETs usw.

Aber ich denke, der größere Teil sind Dinge wie Integration Services, Analysis Services und Reporting Services. Das sind wichtige Technologien, die meiner Meinung nach das Geld, das sie kosten, absolut wert sind.


4
2017-12-16 10:02



MySQL bot nicht die reichhaltigere Programmierumgebung, die Oracle und MSSQL bot, besonders in frühen Inkarnationen, als es noch nicht einmal Stored Procedures gab. Aus meiner Sicht tendiere ich dazu, den Großteil meiner Geschäftslogik über DAO's oder ORM-Mapper etc. in die Anwendung zu integrieren. Daher ist die zugrunde liegende Datenbank-Engine weniger wichtig und in der Theorie ist die Anwendung transportabel. Aus Managementsicht bietet MSSQL eine Reihe von Vorteilen (viele bereits aufgeführt), die den Besitz der Datenbank erleichtern. Microsoft bietet auch den ausgezeichneten und leichten SQLExpress für die Entwicklung an, mit dem ich einfach arbeiten konnte und der sich gut in Visual Studio integriert.


4
2017-12-16 12:02



Inspiriert durch ThinkJets Antwort denke ich, dass ein weiterer Faktor, der ins Spiel kommt, ist: "Inwieweit sind wir bereit, auf die Unabhängigkeit der Datenbank zu verzichten, um eine schnellere und billigere Entwicklung performanterer Anwendungen zu ermöglichen?" Wenn der Schwerpunkt des Unternehmens darauf liegt, dass der gesamte Code zwischen Datenbanken übertragbar sein muss, hat es wenig Sinn, etwas anderes als das einfachste RDBMS zu verwenden, und die Verbesserungen und Vorteile, die Oracle und Microsoft zur Verfügung gestellt haben, zählen nicht.

Es braucht sehr wenig, um die echte Datenbankunabhängigkeit zu durchbrechen, und meine Philosophie ist, dass Sie sich von ganzem Herzen dafür einsetzen sollten, alle Funktionen zu nutzen, für die Sie bezahlt haben - SQL-Erweiterungen, PL / SQL, etc ..

Andere können sich natürlich unterscheiden.


3
2017-12-16 15:58



Ich denke, dass die Frage die implizite Annahme hat, dass es Entwicklungsfunktionen sind, die SQL Server / Oracle berechtigen. Ich vermute, dass es eher die Implementierung / Unterstützung ist.

Hot Backup ist ein wichtiges Feature, für das es sich zu zahlen lohnt, zumindest für die meisten Installationen.

Für Oracle ist RAC ein großer Mehrwert - mehrere Server, die dieselben Daten (dh dieselben Festplatten) ohne unordentliche Replikation verwenden. Es ist (allgemein) für den Entwickler nicht ersichtlich.


3
2017-12-16 22:15