Ich habe immer nur MySQL und kein anderes Datenbanksystem verwendet.
Bei einem heutigen Unternehmenstreffen wurde eine Frage gestellt, und es war mir peinlich, dass ich nicht wusste: Welche erderschütternden Funktionen bieten MS oder Oracle einem Entwickler, die MySQL fehlen und die es MS und Oracle ermöglichen, Gebühren für ihre Systeme zu erheben?
mysql
sql-server
oracle
Kshitij Saxena -KJ-
quelle
quelle
Antworten:
Ich denke, andere Kommentatoren sind zu Recht in der Lage, alle zusätzlichen Nicht-Kern-RDBMS-Fähigkeiten hervorzuheben, die mit den kommerziellen Lösungen gebündelt sind.
Hier finden Sie eine Matrix mit Oracle-Editionen und -Funktionen, die es wert sind, durchsucht zu werden, um die "zusätzlichen" Funktionen zu verstehen, insbesondere im Zusammenhang mit den Kosten für die Entwicklung und Unterstützung Ihrer eigenen Version (falls dies überhaupt möglich ist). auf einem Produkt wie MySQL: http://www.oracle.com/us/products/database/product-editions-066501.html
Wenn Sie beispielsweise eine Anforderung hatten, die besagte: "Benutzer müssen in der Lage sein, frühere Versionen von Daten wiederherzustellen, die sie bis zu einer Woche nach dem Festschreiben der Änderungen gelöscht / aktualisiert haben", bedeutet dies meines Erachtens einen gewissen Entwicklungsaufwand wäre viel höher auf einem System, das keine eingebaute Funktion wie Orakels Flashback-Abfrage hatte.
quelle
Die reinen RDBMS-Schichten von Oracle und MSSQL bieten hauptsächlich eine ausgereifter programmierbare Umgebung als MySQL und InnoDB. T-SQL und PL / SQL können von gespeicherten MySQL-Prozeduren und -Triggern noch nicht abgeglichen werden.
Die anderen Unterschiede sind syntaktische und geringfügige semantische Unterschiede, die die Dinge einfacher oder schwieriger machen (wie Top 500 gegenüber Limit / Offset).
Der wahre Killer ist jedoch, dass es auf den RDBMS-Schichten von MSSQL (Reporting Services, Analysis Services) und Oracle (Data Warehousing, RAC) eine Menge integrierter Tools und Services gibt, über die MySQL (noch) nicht verfügt.
quelle
MySQL ist nicht kostenlos!
Es wird allgemein als kostenlos verstanden, aber wenn Sie Softwarepakete verkaufen oder vertreiben, die MySQL enthalten, unterliegt dies ziemlich strengen Einschrä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 zu zwingen, MySQL selbst herunterzuladen und zu installieren, sind Sie wahrscheinlich in Ordnung.
Andernfalls kostet die "Standard" -Version 2.000 US-Dollar pro Jahr, was in etwa den Kosten für die Lizenzierung von SQL Server entspricht.
Beide sind sehr gute Datenbanken, aber zu den Vorteilen von SQL Server gehören:
Viele Menschen sind ideologisch dagegen, Microsoft-Tools zu verwenden oder an eine Windows-Umgebung gebunden zu sein, und das kann ich verstehen. Aber MySQL ist NICHT kostenlos für den geschäftlichen Gebrauch, und das scheint nicht allgemein verstanden zu werden.
Informationen zur Lizenzierungsrichtlinie von MySQL finden Sie auf der Website von MySQL: http://www.mysql.com/about/legal/licensing/index.html
quelle
Einige andere Dinge, die Orakel über MySQL hat.
quelle
Bis ich RDBSes von anderen Anbietern verwaltete, wiederholte Oracle oft: "Leser blockieren keine Autoren, Autoren blockieren keine Leser" bedeutete mir wenig. Ich wusste wirklich nicht viel über den Umgang mit Sperrproblemen in 8 Jahren als Oracle-DBA. 2 Jahre Informix und 3 oder SQL Server und vertraue mir, ich weiß viel mehr über das Sperren.
Daher würde ich zusätzlich zu den Kommentaren zu Support- und Nicht-RDBMS-Funktionen das Sperrverhalten hinzufügen.
quelle
Es gibt zu viele Funktionen, um sie aufzulisten. Siehe Wikipedia-Referenz in der Nachricht von nullptr. Aber ich nehme an, diese wirklich gestellte Frage bei einem Meeting lautet: "Welche erderschütternden Funktionen bieten MS oder Oracle einem Entwickler, dass MySQL hinterherhinkt, wodurch MS und Oracle Gebühren für ihre Systeme erheben können und welche von unserem Unternehmen effektiv genutzt werden können ?"
Alle Vorteile sind wirklich Vorteile, wenn sie auf Ihre Bedürfnisse abgestimmt sind ...
quelle
Oracle- Tabellencluster und einzelne Tabellen-Hash-Cluster (die Sie auch in SQL Server nicht finden).
quelle
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ößte Teil sind Dinge wie Integration Services, Analysis Services und Reporting Services. Das sind wichtige Technologien, die meiner Meinung nach das Geld wert sind, das sie kosten.
quelle
MySQL bot nicht die reichhaltigere Programmierumgebung, die Oracle und MSSQL anboten, insbesondere in frühen Inkarnationen, in denen es nicht einmal gespeicherte Prozeduren gab. Aus meiner Sicht tendiere ich dazu, den größten Teil meiner Geschäftslogik über DAOs oder ORM-Mapper usw. in die Anwendung zu integrieren. Daher ist die darunter liegende Datenbank-Engine weniger wichtig und theoretisch ist die Anwendung transportabel. Aus Managementsicht bietet MSSQL eine Reihe von Vorteilen (von denen viele bereits aufgeführt sind), die den Besitz der Datenbank erheblich vereinfachen. Microsoft stellt auch den hervorragenden und leichten SQLExpress für die Entwicklung zur Verfügung, mit dem ich leicht arbeiten konnte und der sich gut in Visual Studio integrieren lässt.
quelle
Inspiriert von der Antwort von ThinkJet denke ich, dass ein weiterer Faktor, der ins Spiel kommt, lautet: "Inwieweit sind wir bereit, auf die Unabhängigkeit der Datenbank zu verzichten, um eine schnellere und kostengünstigere Entwicklung leistungsfähigerer Anwendungen zu ermöglichen?" Wenn der Schwerpunkt des Unternehmens darauf liegt, dass der gesamte Code zwischen Datenbanken portierbar sein muss, macht es wenig Sinn, etwas anderes als das einfachste RDBMS zu verwenden, und die Verbesserungen und Vorteile, die Oracle und Microsoft bereitgestellt haben, zählen für nichts.
Es braucht sehr wenig, um die wahre Unabhängigkeit der Datenbank zu brechen, und meine Philosophie ist, dass Sie sich voll und ganz darauf konzentrieren sollten, alle Funktionen zu nutzen, für die Sie bezahlt haben - SQL-Verbesserungen, PL / SQL usw.
Andere können natürlich abweichen.
quelle
Ich denke, die Frage hat die implizite Annahme, dass es Entwicklungsfunktionen sind, die es SQL Server / Oracle ermöglichen, Gebühren zu erheben. Ich vermute, dass es eher um die Implementierung / Unterstützung geht.
Hot Backup ist eine wichtige Funktion, für die es sich lohnt, zumindest für die meisten Installationen zu bezahlen.
Für Oracle ist RAC ein großer Mehrwert - mehrere Server treffen auf dieselben Daten (dh dieselben Festplatten), ohne dass eine unordentliche Replikation erforderlich ist. Es ist (im Allgemeinen) für den Entwickler nicht ersichtlich.
quelle
Einige Oracle-Funktionen, die ich wirklich mag, sind
Soweit ich weiß, ist keines davon in MySQL verfügbar. Und es gibt noch viele weitere nützliche Funktionen, insbesondere in der Enterprise Edition und ihren Optionen.
quelle