Frage Postgres vs MySQL: Welche ist schwieriger zu skalieren?


Welche Datenbank ist Ihrer Erfahrung nach schwieriger zu skalieren? MySQL oder Postgres? Ich weiß, dass MySQL mehrere sofort einsatzfähige Skalierungs- / Clustering-Funktionen bietet, aber bei Postgres gibt es keine, die sofort einsatzbereit sind. CMIIW.

BEARBEITEN:

Sorry für die Verwirrung hier, meine Frage bezieht sich auf Skalierung (horizontale Skalierung), d. H. Clustering, Sharding, etc. Ich weiß, beide können horizontal skalieren, aber welche ist einfacher zu implementieren?

Ich danke Ihnen für das Teilen.


8
2017-11-22 12:45


Ursprung




Antworten:


MySQL ist viel einfacher zu skalieren, Clustering und Replikation sind beide nativ und wirklich einfach zu verwalten und zu implementieren (selbst für jemanden, der nicht wirklich über Datenbankkenntnisse verfügt).

PostgreSQL unterstützt nur die grundlegende Replikation für den Moment und nichts Offizielles über das Clustering (technisch kann man das über Tools von Drittanbietern, aber es wird eine Hölle zu verwalten).

Ich würde niemals Postgresql wählen, wenn ich vorhabe, es zu skalieren.

Edit: sehr alte Antwort nehmen mit einem Körnchen Salz, da Postgres und MySQL haben sich sehr verändert, seit dies beantwortet wurde.


1
2017-11-29 23:38



Also Postgres ist nur gut für monolithische Datenbank? - Joshua Partogi
Sie sind beide gut in einer einzelnen Server-Datenbank, bei der Sie sehen können, welche spezifischen Funktionen von MySQL oder PostgreSQL Sie benötigen - Kedare
MySQL ist sicherlich viel einfacher, aber das Problem mit MySQL ist, dass es die Datenintegrität nicht überprüft. Außerdem unterstützt PostGreSQL vollständig Clustering und Replikation. Sehen: wiki.postgresql.org/wiki/Clustering und wiki.postgresql.org/wiki/... - Quandary
Es gibt sicherlich viele Lösungen für die Skalierung von PostgreSQL "out", und viele der größten Websites und Systeme verwenden genau das. MySQL wird einfacher skalierbar sein Wenn Sie MySQL bereits kennenund postgresql wird einfacher skalierbar sein Wenn Sie Postgresql bereits kennen. Wenn Sie keine wissen, sind sie wahrscheinlich ziemlich gleich, wie schwer es ist, und Sie sollten sich die anderen Eigenschaften der Datenbanken anschauen, um eine auszuwählen. - Magnus Hagander
Ich frage mich, ob diese Antwort noch relevant ist, wurde vor fast 8 Jahren beantwortet - commonSenseCode


Während diese Frage gegen den Grundsatz "Vermeide, subjektive oder argumentative Fragen zu stellen" der Website zu gehen scheint, kann ich nicht widerstehen, eine Antwort zu versuchen.

Es hängt davon ab, ob.

Sprechen Sie über eine einzelne Serverkonfiguration, die auf sehr große Datensätze skaliert werden kann?
Beide können abhängig von der Datenmenge in dieser Situation funktionieren, aber ohne die benutzerdefinierte Konfiguration und ordnungsgemäße Planung werden beide wahrscheinlich nicht sehr gut funktionieren. Meiner Erfahrung nach hat Postgres bei der Arbeit an großen Datensätzen mit vielen Schreibvorgängen weniger Bedingungen, die zu Blockierungen führen, und die Gesamtleistung war besser.

Sprechen Sie über Multiserverkonfigurationen, die für viele Leser auf viele Slaves skaliert werden können?
MySQL wurde seit jeher als führend in diesem Bereich angesehen, da es mit eingebauter asynchroner Replikation ausgestattet war. Dies ist nicht mehr der Fall, wenn Sie nicht gegen die Verwendung der neuesten DB-Software sind. Postgres hat dies jetzt auch mit der Version 9.0 eingebaut. Meine Erfahrungen mit der Replikation von MySQL waren zu diesem Zeitpunkt mehr als ausreichend.

Sprechen Sie über Multi-Server-Konfigurationen, die für viele Autoren auf viele Master skalieren?
Dies ist bei weitem die schwierigste Methode, jedes Produkt zu skalieren, und viele Male können durch die Verwendung von Failover-Servern vermieden werden. Wenn Sie wirklich auf hohe Verfügbarkeit von Master-Servern skalieren müssen, können Addons / alternative Installationen nicht vermieden werden. Für MySQL gibt es MySQL Cluster NDB mit einem Open-Source-Option oder ein kommerzielle Version. Für Postgres gibt es viele Addons das kann Ihnen verschiedene Ebenen von HA und Pooling bringen

Auf lange Sicht beruht die Skalierung Ihrer Datenbank in der Regel auf der Entwurfsplanung. Wenn Ihre Anwendung auf Skalierung ausgelegt ist, dann ist das db-System, das am besten zu Ihren Entwicklern passt, oft die beste Wahl.


8
2017-11-22 17:49





PostGre hat mehr Funktionen und Konfigurationsoptionen.

Daher ist es wahrscheinlich schwieriger zu skalieren, aber es ist auch wahrscheinlich, dass es besser skaliert wird, das heißt, wenn es richtig konfiguriert ist.

Im Allgemeinen wird MySQL wahrscheinlich immer noch schneller sein. Auf der anderen Seite besteht die eigentliche Frage darin, wie sehr Sie die Datenintegrität schätzen und welche Funktionen Sie benötigen, und wollen Sie sich auf Oracle verlassen (besitzt jetzt MySQL)?

Außerdem gibt es Lizenzfragen, wie möchten Sie wirklich eine MySQL-Lizenz kaufen, nur weil Sie Ihre Anwendung nicht unter der GPL veröffentlichen möchten?
Mit PostGreSQL ist das kein Problem, das ist ein großes Plus.


3
2017-11-22 13:00