Vor- und Nachteile von Oracle, MS-SQL, DB2, MySQL

VipE

Cadet 4th Year
Registriert
Feb. 2006
Beiträge
94
Hallo Community,^^

ich habe vor mich ein bischen mehr mit DBs zu befassen und würde als erstes gerne die Vor- und Nachteile der 4 bekanntesten DBs gern wissen...

Hab schon gegoogelt aber irgendwie finde ich nichts konkrettes... hat jemand schon erfahrung mit diesen DBs gesammelt?

Vielen Dank im voraus =)
 
Dann füg noch PostgreSQL hinzu. DB2 kannte ich noch nicht. IBM .. hmm naja.

Ich würde folgendes sagen:

Oracle:
+ mächtig: viele Feature
- Lizenz nötig für commerziellen Betrieb (Developer free)
- Sehr großer RAM verbrauch
- nichts für anfänger

MS-SQL:
- Microsoft?!

MySQL:
+ schlank, verbauch kaum RAM
+ leicht installation.
+ guter support
+ kostenlos (keine Lizenz für die Community Version nötig)
+ extrem stabil
(+) lässt sich auf für Anfänger gut über PHPMyAdmin bedienen.
- nicht alle Feature wie Orcale, aber kommt langsam dahin

Das zu meinem Input.
 
TheNoxier schrieb:
MS-SQL:
- Microsoft?!

Wieso nicht?
Der SQL-Server spielt zwar noch nicht unbedingt in einer Klasse mit Oracle und DB2, aber er ist für den Einsatz in mittelgroßen Projekten sehr gut geeignet. Für kleinere Projekte gibt es sogar noch die kostenlose Express Edition, die aber ein paar Einschränkungen enthält (4GB-Datenbankgröße, nur 1 CPU, nur 1 GB RAM).
 
Simpson474 schrieb:
Wieso nicht?
Der SQL-Server spielt zwar noch nicht unbedingt in einer Klasse mit Oracle und DB2, aber er ist für den Einsatz in mittelgroßen Projekten sehr gut geeignet. Für kleinere Projekte gibt es sogar noch die kostenlose Express Edition, die aber ein paar Einschränkungen enthält (4GB-Datenbankgröße, nur 1 CPU, nur 1 GB RAM).

Gut, nur weil es von MS ist, ist es nicht gleich "Schrott".

Dann fass ich nochmal zusammen.

MS-SQL
+ kostenlose Express Edition (-) aber mit (starken) Einschränkungen
- Lizenz benötigt (teuer?) für kommerziellen Einsatz
- benötigt Windows als Betriebssystem. (+ OS Lizenz)
- nicht so umfangreich wie Orcale oder DB2
 
bei oracle den ramverbrauch als negativ punkt zu nennen ist völliger schwachsinn, eine datenbank hat gefälligst soviel ram zu verbrauchen wie da ist/die datenbank groß ist, das steigert die performance extrem.

MySQL:
+ Umsonst
+ große Community
+ Viele foren etc
+ viele tutorials
+ sie unterstütz quasi alles was man braucht
+ gute tuning möglichkeiten
- die weitergehenden features wie Spiegelung archivierung etc sind vorhanden, aber nahezu unbekannt und es ist auch quasi unmöglich trainings dafür zu bekommen
- nicht jede komerzielle software unterstützt die datenbank.

MS-Sql:
+guter MS support
+ Viele User / foren / community etc auch über weiterführende features
+ viele Features zum tunen
+ viele kommerzielle trainings
+wird häüfig im mitelstand eingesetzt
- teure lizensen

Oracle
+ extrem weit im enterprise markt verbreitet
+ sehr vielle kommerzielle trainings
+s ehr große community / Foren etc
+ auch gute dokumentation der weitergehenden features
+ sehr viele bücher von den unterschiedlichsten verlagen
+ guter oracle support
+ steht auf allen prozessorarchitekturen zu verfügung
+ kostenlose testversion
+wird von jedem kommerziellen softwarehersteller unterstützt
- die enterprise version kostet pro prozessor je nach reseller ~30.000 oder 500 euro pro user

ähnliches gilt für DB2 wobei db wohl eher im IBM typischen markt zufinden ist ( mainframe/ System P)

die besten datenbank zum anfang ist mit sicherheit MySql wenn du jemanden hast der dir für ein paar tausen deuro trainings bezahlt oracle

edit: muss alles was unetr der GPL steht kostenlos sein? ich bin da nicht ganz sicher, aber vielleicht weis da noch wer genaueres
 
Zuletzt bearbeitet:
Nachteil MySQL:
- MySQL steht unter der GPL - Generell Public License

MySQL ist damit vollkommen kostenlos und quelloffen. Der Nachteil in dieser Lizenz besteht darin, dass jede Software, welche mit MySQL entwickelt wird (bzw. MySQL enthält) auch unter der GLP steht --> also muss diese Software quelloffen und frei zugägnlich und Änderbar sein. Ziemlich scheisse, wenn man was Kommerzielles entwickeln will...
 
Das ist so nicht korrekt ganz korrekt. Natürlich kannst du auch MySQL in kommerziellen Anwendungen verwenden, du darfst nur nicht den Code ziehen 3 Bytes verändern und das ganze dann verkaufen ;)
 
>> muss alles was unetr der GPL steht kostenlos sein? ich bin da nicht ganz sicher, aber vielleicht weis da noch wer genaueres

Jein, es muss nicht unbedingt kostenlos sein, aber der Quelltext muss auf Anfrage zum Selbstkostenpreis zur Verfügung gestellt werden. Somit ist die GPL nur sehr eingeschränkt für kommerzielle Produkte geeignet.
 
HarleKiiN schrieb:
Der Nachteil in dieser Lizenz besteht darin, dass jede Software, welche mit MySQL entwickelt wird (bzw. MySQL enthält) auch unter der GLP steht --> also muss diese Software quelloffen und frei zugägnlich und Änderbar sein. Ziemlich scheisse, wenn man was Kommerzielles entwickeln will...

Hmm, ich glaube das stimmt nicht. Ich weiß zufällig vom Ex-CEO von Mythic Entertainment, dass in Dark Age of Camelot MySQL benutzt wurde (Oracle war zu teuer) und das Spiel ist bekannterweise nicht OpenSource.
 
Hallo =)

sry, dass ich mich erst jetzt melde - mein netzteil hat den geist aufgegeben, so dass ich mich erst heut melde^^

als erstes möchte ich mich für alle antworten herzlichst bedanken =)
vielen dank für die infos :)

Eine allgemeine Frage habe ich noch zu den Größenbeschränkungen.
Wie viele Datenbanken (Anzahl der Datenbanken) verkraftet MySQL, Oracle, DB2 und MS-SQL? und
wie groß kann eine einzelne Datenbank sein, bei MySQL, Oracle, DB2 und MS-SQL?

Habe mich schon durch unzählige Dokumentationen geschlagen, aber nicht das richtige gefunden...
Wäre jedem dankbar für info =)
 
MySQL
Da jede Datenbank auf dem System einen Ordner erstellt, sollte es da keine wirkliche Beschränkung geben.
Hab ne Datenbank mit 7000+ Tabellen hier, verbraucht daher einfach nur viel RAM (5GB) :) . Soweit ich entsinne, meinen die MySQLianner, dass Sie gar nicht wissen was das Maximum ist, da es noch keine erreicht hat :). Gab da mal Beispiel, bei dem Leute mit 1 Million Tabellen rumhantieren ohne Probleme.
 
Zuletzt bearbeitet:
@Vipe: eine wirkliche Größenbeschränkung gibt es nicht. Es kommt lediglich auf die Rechnenleistung und die größe des RAM´s an.

Allerdings gibt es noch ein paar Vor- bzw. Nachteile der DB´s die bisher nicht genannt wurden. So ist die MSSQL DB nicht fähig, sich auf mehrere Server zu verteilen. Oracle und MySQL bieten dagegen sogenanntes Clustering an. Dabei wird die Rechenleistung mehrer Server zusammengeschlossen und für die DB selbst genutzt. Dadurch entstehen natürlich erhebliche Geschwindigkeitsvorteile gegenüber der MSSQL DB. Allerdings rechnet sich solch eine DB erst, wenn wirklich viele User gleichzeitig auf die DB zugreifen bzw. riesige Datenmengen bereitgestellt werden.

Gruß
 
Vielen Dank für die Infos =)

ich hab mich schon gefragt was dieses clustering bedeutet^^ - Danke nochmals :)

Was ich aber nicht ganz verstehe - wieso kommt es auf den RAM an? > ich dachte die Speicherkapazität ist wichtiger für ein DBMS, wenn man mehrere Datenbanken anlegen will mit vielen Tabellen (die Daten müssen ja irgendwo abgelegt werden) :confused_alt:

Code:
@Vipe: eine wirkliche Größenbeschränkung gibt es nicht. Es kommt lediglich auf die Rechnenleistung und die größe des RAM´s an.
Das würde bedeuten ich könnte mit allen 4 DBMS (Oracle, MS-SQL, MySQL, DB2) unendlich viele Datenbanken anlegen und diese mit unendlich vielen Tabellen füllen, oder?
 
Der RAM ist sehr wohl wichtig. Wenn ein Befehl abgearbeitet wird werden die benötigten Daten ja erst in den RAM geladen, bearbeitet und wieder zurückgeschrieben.

Das würde bedeuten ich könnte mit allen 4 DBMS (Oracle, MS-SQL, MySQL, DB2) unendlich viele Datenbanken anlegen und diese mit unendlich vielen Tabellen füllen, oder?
Theortisch ja. Praktisch kommst du aber irgendwann an eine Grenze, an der die Performance nicht mehr erträglich ist oder die Festplatte(n) voll werden. Diese Grenze dürfte aber je nach Rechner bei vielen Gigabyte oder sogar Terabyte liegen. Ich glaube nicht das du die Leistungsgrenze eines einigermaßen moderen Server-Systems im Normalbetrieb ausnutzen kannst.
 
@CadillacMan: die Leistungsgrenze ist bei einem MSSQL - Server sehr schnell erreicht. Der SQL Server 2000 hatte noch den Bug, dass er einmal verwendeten Arbeitsspeicher nicht mehr freigibt. Lass also einen MSSQL Server eine Woche unter Volldampf laufen und die Performance wird in den Keller stürzen.

Gruß
 
Abend,
also diesen quatsch zu MS-SQL kann ich jetzt nicht mehr länger lesen.
SirTwist du beziehst deine Aussage auf ein Produkt was jetzt mehr als 8 Jahre als und dazu nicht mal die aktuelle Version ist. MS-SQL gibt es ebenfalls als Cluster (abgesehen davon soll(!) der bei MySQL auch nicht wirklich das wahre sein und mehr schlecht als recht funktionieren).
Einen MS-SQL unter Volldampf laufen lassen? Kein Problem läuft hier und das seit Jahren problemlos. Generell Spielen MS-SQL und Post-GRE in einer anderen Liga als MySQL, bei beiden ist der optimizer um klassen besser als der von MySQL, dass ja bereits ins Stocken kommt wenn es so banale Dinge wie refernzielle Integrität geht, bei Transaktionen ist dann endgültig schluß mit lustig. Generell kann man die hier genannten Datenbank-System schon recht gut so einordnen ohne jetzt noch neue zu nennen (die gibt es noch reichlich):

Ganz große Aufgaben:
Oracle, DB2

Mittlere Aufgaben (schon mit großem Abstand):
MS-SQL, PostGRE

Kleinere-mittlere Dinge und Spezialsachen (auch wieder mit ordentlichem Abstand)
MySQL

Überhaupt fehlt mir hier in der ganzen Diskussion ein bisschen die Betrachtung des Einsatzzwecken, hier für seine Liebingsdatenbank (was bei den meisten MySQL sein dürfte) Stellung zu beziehen ist vollkommener Unsinn. Wenn ich mir überlege wie oft ich schon kaputte MySQL-Tabellen gesehen habe, die sich nicht reparieren ließen, wäre das schon Grund genug das DBMS zum Teufel zu jagen.
Und zum Thema Leistungsfähigkeit ist das auch so eine Sache, wir hatten an der Arbeit mal einen konkreten Vergleich gemacht MySQL, PostGRE und MS-SQL (ist jetz schon zwei Jahre her), da hat MySQL bei einfacheren Dingen noch die Nase vorne gehabt, aber sobald die Abfragen etwas aufwändiger und komplexer wurden, sind PostGRE und MS-SQL einfach sehr viel schneller gewesen. Allein die nur mäßige Multiprozessorunterstützung von MySQL ist grausig.
Wenn ich dann so Pauschalaussagen hier lese MySQL ist Leistungsfähiger als XY, dann bitte auch dazu schreiben: Bei was ist es besser und warum ist es das?
 
Weiß vllt. irgendjemand, auf welchen Niveau Firebird ca. spielt? Bzw. in welchen Feld Firebird seine Stärken hat?
Wurde ja bisher von noch gar niemanden (außer mir selbst) genannt...
 
@agent: ja, ich habe mich in meinem Post auf den SQL Server 2000 bezogen, weil der einfach noch der verbreiteste ist. Und?

Du sagst, dass MSSQL Server auch im Cluster laufen würden. Wenn das so ist, dann stell bitte mal Informationen dazu bereit. Ich habe diesbezüglich schon recheriert und nichts brauchbares gefunden....

Du schreibst zu dem, dass die Clusterfähigkeit von MySQL nicht so pralle wäre. Dann würde ich dafür auch gerne Beweise lesen, denn einige große I-Net Projekte laufen erfolgreich auf solch MySQL - Clustern.

Gruß
 
Zurück
Oben