Wir schlagen das ständig im Büro durch, und die Frage taucht immer wieder auf. Wie gehen Sie mit der PostgreSQL-Replikation um? Ich spreche nicht unbedingt von fortgeschrittenen Clustern, sondern halte es einfach mit Master-Slave, Master-MultiSlave und Master-Master. Ich finde, dass das Einrichten für MySQL normalerweise ziemlich einfach ist. Ein Failover ist unkompliziert, wenn nicht sogar perfekt, insbesondere, wie einfach es zu konfigurieren ist. Wir haben mit Slony gespielt, aber es ist etwas zu praktisch (Schemaänderungen erfordern Eingriffe, neue Datenbanken erfordern Eingriffe usw.). PGPool2 war ziemlich nett, bis ein Knoten ausfiel und wir keinen passenden Weg fanden (außer alles herunterzufahren und den ausgefallenen Knoten neu zu säen), um die Replikation wieder synchron zu machen. Grundsätzlich ist hier, was ich normalerweise suche:
- Einfaches Setup (ich werde mich mit einem schwierigen Setup zufrieden geben, aber es ist einfach zu erweitern)
- Einfacher Failover
- Das Wiederherstellen eines ausgefallenen Knotens in nur wenigen Sekunden dauert (dh wie bei mysql. Geht der Server aus, Sie rufen ihn auf und warten, bis die Replikation aufholt).
- Schemaänderungen unterbrechen die Replikation nicht
- Das Hinzufügen einer neuen Datenbank zum Server ist nahtlos (dh Sie können wie bei MySQL einen gesamten DB-Server replizieren, sodass auf dem Master eine neue Datenbank erstellt wird, die automatisch an den Slave weitergegeben wird).
MySQL handhabt die meisten davon ziemlich gut, aber ich habe eine gewisse Vorliebe für PostgreSQL. Außerdem haben wir einige Situationen, in denen dies unsere einzige Option ist, und wir möchten der Mischung Replikation hinzufügen. Was verwenden Sie derzeit und wie stehen Sie zu Ihrer Lösung? Ich verspreche, dass dies kein MySQL versus PostgreSQL-Post ist, denn ich versuche nicht, damit anzufangen. :)