Postgres vs MySQL: Welches ist schwieriger zu skalieren?

8

Welcher Datenbank-Service ist Ihrer Erfahrung nach schwieriger zu skalieren? MySQL oder Postgres? Ich weiß, dass MySQL über mehrere sofort einsatzbereite Skalierungs- / Clustering-Funktionen verfügt, aber mit Postgres gibt es keine, die sofort einsatzbereit sind. CMIIW.

EDIT :

Entschuldigung für die Verwirrung hier, meine Frage bezieht sich auf das Skalieren (horizontale Skalieren), dh Clustering, Sharding usw. Ich weiß, dass beide horizontal skalieren können, aber welches ist einfacher zu implementieren?

Ich danke Ihnen für das Teilen.

Joshua Partogi
quelle

Antworten:

1

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

PostgreSQL unterstützt derzeit nur die grundlegende Replikation und nichts offizielles über Clustering (technisch können Sie dies über Tools von Drittanbietern tun, aber die Verwaltung wird zur Hölle).

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

Bearbeiten: sehr alte Antwort mit einem Körnchen Salz nehmen, da sich Postgres und MySQL seit der Beantwortung sehr verändert haben.

Kedare
quelle
Postgres ist also nur für monolithische Datenbanken geeignet?
Joshua Partogi
Sie sind beide gut in Einzelserver-Datenbanken, um zu sehen, welche spezifischen Funktionen von MySQL oder PostgreSQL Sie benötigen
Kedare
2
MySQL ist sicherlich viel einfacher, aber das Problem mit MySQL ist, dass es die Datenintegrität nicht überprüft. Außerdem unterstützt PostGreSQL das Clustering und die Replikation vollständig. Siehe: wiki.postgresql.org/wiki/Clustering und wiki.postgresql.org/wiki/…
Quandary
7
Es gibt sicherlich viele Lösungen für die Skalierung von PostgreSQL, und viele der größten Websites und Systeme verwenden genau dies. MySQL wird einfacher zu skalieren sein, wenn Sie MySQL bereits kennen , und Postgresql wird einfacher zu skalieren sein, wenn Sie Postgresql bereits kennen . Wenn Sie beides nicht wissen, sind sie wahrscheinlich ziemlich gleich, wie schwierig es ist, und Sie sollten sich die anderen Eigenschaften der Datenbanken ansehen, um eine auszuwählen.
Magnus Hagander
Ich frage mich, ob diese Antwort noch relevant ist. Sie wurde vor fast 8 Jahren beantwortet
CommonSenseCode
8

Obwohl diese Frage dem Grundsatz "Vermeiden Sie es, subjektive oder argumentative Fragen zu stellen" der Website zu widersprechen 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 Datenmengen skaliert werden kann?
Beide können in dieser Situation je nach Datensatz funktionieren, aber ohne benutzerdefinierte Konfiguration und ordnungsgemäße Planung wird wahrscheinlich keiner von beiden sehr gut funktionieren. Nach meiner Erfahrung bei der Arbeit an großen Datenmengen mit vielen Schreibvorgängen habe Postgres weniger Bedingungen, die zu Blockierungen führen, und die Gesamtleistung war besser.

Sprechen Sie über Multi-Server-Konfigurationen, die für viele Leser auf viele Slaves skaliert werden können?
MySQL wurde in der Vergangenheit als führend in diesem Bereich angesehen, da es über eine integrierte asynchrone Replikation verfügt. Dies ist nicht mehr der Fall, wenn Sie nicht gegen die Verwendung der neuesten DB-Software sind. Postgres hat dies jetzt auch mit der Veröffentlichung von 9.0 eingebaut. Meine Erfahrungen mit der Replikation von MySQL waren bis jetzt mehr als ausreichend.

Sprechen Sie über Multi-Server-Konfigurationen, die für viele Autoren auf viele Master skaliert werden können?
Dies ist bei weitem der schwierigste Weg, eines der beiden Produkte zu skalieren, und kann durch die Verwendung von Failover-Servern oft vermieden werden. Wenn Sie wirklich auf eine 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 einer Open Source-Option oder einer kommerziellen Version . Für Postgres gibt es viele Addons , mit denen Sie unterschiedliche HA- und Pooling-Werte erzielen können

Auf lange Sicht hängt die Skalierung Ihrer Datenbank normalerweise von der Entwurfsplanung ab. Wenn Ihre Anwendung auf Skalierung ausgelegt ist, ist das DB-System, das Ihren Entwicklern am besten entspricht, häufig die beste Wahl.

Ed.
quelle
3

PostGre bietet weitere Funktionen und Konfigurationsoptionen.

Daher ist es wahrscheinlich schwieriger zu skalieren, aber es ist auch wahrscheinlich, dass es besser skaliert, wenn es richtig konfiguriert ist.

Im Allgemeinen wird MySQL wahrscheinlich immer noch schneller sein. Andererseits ist die eigentliche Frage, wie sehr Sie die Datenintegrität schätzen und welche Funktionen Sie benötigen und ob Sie sich auf Oracle verlassen möchten (das jetzt MySQL besitzt).

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

Dilemma
quelle