On Monday 12 April 2004 14:40, Frank Benkstein wrote:
Ich weiß, dass viele hier PostgreSQL für besser befinden, aber da ich mich mit Datenbanken nicht so gut auskenne sind mir die Gründe dafür leider unklar. Auch scheint mir Postgres ein bißchen langsamer zu sein. (Ich kann mich täuschen.) Für MySQL spricht weiterhin, dass es von mehr Anwendungen unterstützt wird.
*besseres Transaktionsmanagement *komplettere Umsetzung des SQL-Standard *skaliert besser
Postgres skaliert anders als MySQL: *MySQL ist auf kleine Anwendungen optimiert (MyFotoAlbum oder so) *MySQL performt besser, solange Schreibzugriffe selten sind
*Postgres ist auf grosse DBs optimiert (das CERN hat angeblich eine im TeraByte Bereich) *wesentlich bessere Transaktionstrennung ("concurrent versions" statt "lock") *skaliert auch bei starkem Mischbetrieb gut (es ist kein Problem zu lesen, während jemand das selbe Datenfeld schreibt: bis die Schreibtransaktion abgeschlossen ist sieht man die alte Version; es können viele gleichzeitig in die selbe Tabelle schreiben) *verträgt mehr Nutzer
Zu den Rahmenbedingungen: Es handelt sich um einen 800MHz Athlon mit 320MB RAM. Darauf läuft ein Forum (MySQL) und diverse kleine Datenbank-Anwendungen (z.B. ulogd). In Zukunft will ich dort auch eine Groupware (testweise auf Postgres) betreiben, die, wie es scheint, einiges an Resourcen braucht.
Dann würde ich das Teil auf Postgres lassen. Den Rest zu migrieren macht nur Sinn, wenn es trivial geht. Ansonsten sind Foren relativ unkritische Anwendungen für eine DB.
Die DB von ulogd wird vermutlich nur von dem ulogd benutzt, ohne grosse Anforderungen an Interaktivität. Also auch relativ unkritisch.
Andererseits sind die Anforderungen an eine Groupware höher (Multiuser, es dürfen keine Daten verlorengehen, inkonsistente Daten können schnell in eine Katastrophe ausarten). Also halte ich MySQL für eine schlechte Wahl für Groupware (sollten die Autoren es geschafft haben die Integritäts-Probleme von MySQL zu umgehen, dann wird es sehr schlecht skalieren).
Eigene Datenbankanwendungen zu entwickeln, ist nicht geplant, ich will hauptsächlich auf schon vorhandene Software zurückgreifen. Im Testbetrieb laufen beide Datenbankserver nebeneinander, was mich nicht gerade glücklich macht.
Was ist daran schlimm? Bei mir laufen auf allen Maschinen diese beiden parallel, zeitweise noch weitere DBMs.
Ich hoffe ihr könnt mir eine Entscheidungshilfe geben. Lohnt es sich, das Forum zu migrieren und MySQL abzuschalten? Oder soll ich die Groupware auf MySQL neuinstallieren (da ist noch nicht viel geschehen) und auf den überlegenen(?) Postgres verzichten?
Weder noch. Ich würde beide parallel laufen lassen - der Portierungsaufwand von MySQL auf Postgres ist vermutlich recht hoch; die Groupware auf MySQL laufen zu lassen schreit aber regelrecht nach Problemen.
Neue Anwendungen würde ich konsequent auf Postgres aufsetzen.
Wie gesagt, die beiden vertragen sich auf meinen Rechnern hervorragend. Zanken sich kaum, lassen sich die meiste Zeit in Ruhe... ;-)
Konrad