Ein Hinweis für zukünftige Leser: Der folgende Text wurde zuletzt im August 2008 bearbeitet. Das war vor fast 11 Jahren. Die Software kann sich schnell von Version zu Version ändern. Bevor Sie sich also für ein DBMS entscheiden, das auf den folgenden Hinweisen basiert, sollten Sie einige Nachforschungen anstellen, um festzustellen, ob es noch korrekt ist. Suchen Sie unten nach neueren Antworten.
Besser?
MySQL wird viel häufiger von Webhosts bereitgestellt.
PostgreSQL ist ein viel ausgereifteres Produkt.
Es gibt diese Diskussion, die sich mit Ihrer "besseren" Frage befasst
Laut dieser Webseite ist MySQL anscheinend schnell, wenn die gleichzeitigen Zugriffsebenen niedrig sind und wenn viel mehr Lese- als Schreibvorgänge ausgeführt werden. Andererseits zeigt es eine geringe Skalierbarkeit mit zunehmenden Lasten und Schreib- / Leseverhältnissen. PostgreSQL ist bei niedrigen Parallelitätsstufen relativ langsam, lässt sich jedoch mit zunehmender Last gut skalieren und bietet gleichzeitig eine ausreichende Isolation zwischen gleichzeitigen Zugriffen, um Verlangsamungen bei hohen Schreib- / Leseverhältnissen zu vermeiden. Es wird auf eine Reihe von Leistungsvergleichen verwiesen, da diese Dinge sehr ... empfindlich auf Bedingungen reagieren.
Wenn Ihr Entscheidungsfaktor also lautet: " Was ist schneller? ", Lautet die Antwort: "Es kommt darauf an. Wenn es wirklich darauf ankommt, testen Sie Ihre Bewerbung gegen beide. " in jeder Datenbank) und veranlassen Sie sie, den Mist aus den Datenbanken zu entfernen, und wählen Sie dann. Es ist erstaunlich, wie teuer gute Datenbankadministratoren sind. und sie sind jeden Cent wert .
Wenn es darauf ankommt.
Was es wahrscheinlich nicht tut, wählen Sie einfach die Datenbank aus, deren Sound Ihnen gefällt, und gehen Sie damit um. Eine bessere Leistung kann mit mehr RAM und CPU, einem angemesseneren Datenbankdesign und cleveren Tricks für gespeicherte Prozeduren usw. erzielt werden - und all dies ist für Random-Website-X billiger und einfacher als die Qual, über die man sich entscheiden muss, MySQL oder PostgreSQL und spezialisiertes Tuning von teuren DBAs.
Joel sagte in diesem Podcast auch, dass dieser Kommentar zurückkommen würde, um ihn zu beißen, weil die Leute sagen würden, dass MySQL ein Miststück sei - Joel konnte keine
count
Zeilen zurückbekommen. Der Plural der Anekdote sind keine Daten.
Er sagte :
MySQL ist die einzige Datenbank, gegen die ich in meiner Karriere jemals programmiert habe und die Datenintegritätsprobleme hatte, bei denen Sie Abfragen durchführen und unsinnige Antworten zurückerhalten, die falsch sind.
und er sagte auch:
Es ist nur eine Anekdote. Und das ist eines der Dinge, die mich am Bloggen oder am Internet im Allgemeinen frustrieren. [...] Es gibt nur eine seltsame Tendenz, Anekdoten zu Wahrheiten zu machen, und als Blogger fühle ich mich ein bisschen schuldig
Nur viele Monate später.
Die geografischen Fähigkeiten der beiden Datenbanken sind sehr, sehr unterschiedlich. PostgreSQL hat die außergewöhnliche PostGIS-Erweiterung. Die geografische Funktionalität von MySQL ist im Vergleich praktisch Null.
Wenn Ihr Webdienst über eine Standortkomponente verfügt, wählen Sie PostgreSQL.
quelle
Ich habe Django nicht verwendet, aber ich habe sowohl MySQL als auch PostgreSQL verwendet. Wenn Sie Ihre Datenbank nur als Back-End für Django verwenden, spielt dies keine Rolle, da die meisten Unterschiede dadurch abstrahiert werden. PostgreSQL ist etwas skalierbarer (es trifft die Mauer nicht so schnell wie MySQL, wenn die Datengröße / Clientanzahl zunimmt).
Der wirkliche Unterschied ergibt sich, wenn Sie ein neues System ausführen. Dann würde ich PostgreSQL zweifellos empfehlen, da es viel mehr Funktionen bietet, die Ihre DB-Ebene viel anpassbarer machen, sodass Sie sie an Ihre Anforderungen anpassen können.
quelle
Obwohl es etwas veraltet ist, lohnt es sich, die MySQL Gotchas- Seite zu lesen . Viele der dort aufgeführten Punkte sind nach meinem besten Wissen immer noch wahr.
Ich benutze PostgreSQL.
quelle
Ich benutze beide ausgiebig. Meine Wahl für ein bestimmtes Projekt läuft darauf hinaus:
Durch spezielle Sauce mag ich Dinge:
quelle
Ich denke nicht, dass Sie in früheren Entwicklungen (Build, Staging, Prod) eine andere Datenbankmarke verwenden sollten, da dies Sie beißen wird.
Soweit ich weiß, ist PostgreSQL eine korrektere Datenbankimplementierung, während mySQl weniger korrekt (weniger konform), aber schneller ist.
Wenn Sie also so ziemlich eine CRUD-Anwendung schreiben, ist mySQL der richtige Weg. Wenn Sie bestimmte Funktionen aus Ihrer Datenbank benötigen (wenn Sie sich nicht sicher sind, tun Sie dies nicht), sollten Sie sich mit postgreSQL befassen.
quelle
Wenn Sie eine Anwendung schreiben, die möglicherweise auf verschiedenen Servern verteilt wird, hat MySQL aufgrund der Portabilität einen hohen Stellenwert gegenüber PostgreSQL. PostgreSQL ist auf weniger als zufriedenstellenden Webhosts schwer zu finden, auch wenn es einige gibt. In den meisten Fällen ist PostgreSQL langsamer als MySQL, insbesondere wenn es letztendlich um die Feinabstimmung geht. Alles in allem würde ich sagen, dass Sie PostgreSQL für eine kurze Zeit ausprobieren sollten, damit Sie es nicht vollständig vermeiden und dann ein Urteil fällen.
quelle
Danke dir. Ich habe Django mit MySQL verwendet und es ist in Ordnung. Wählen Sie Ihre Datenbank anhand der Funktionen aus, die Sie benötigen. Schwer zu vergleichender MySQL und Postgres. Vergleichen Sie Postgress besser mit SQl Server.
quelle
@ WolfmanDragon
PostgreSQL unterstützt (winzige) Objekte, ist jedoch von Natur aus eine relationale Datenbank. Von seiner About-Seite :
quelle
MySQL ist ein relationales Datenbankverwaltungssystem, während PostgreSQL ein objektrelationales Datenbankverwaltungssystem ist . PostgreSQL eignet sich gut für C ++ - oder Java-Entwickler, da es uns mehr Kontrolle darüber gibt, wie Abfragen geschrieben werden. ORDBMS bietet uns auch Objekte und benutzerdefinierte Typen. Die SQL-Abfragen selbst sind den ISO-Standards viel näher als MySQL.
Benötigen Sie ein ORDBMS oder ein RDBMS? Das wird Ihre Frage besser beantworten.
quelle