Miroir De Base De Données / Postgres Réplication En Continu

Je ne suis pas un DBA; je suis le développeur principal d'une entreprise de base de données en fonction de l'application.

Je suis actuellement specing quelques nouvelles machines à mettre à jour notre base de données d'entreprise. Actuellement, nous sommes en cours d'exécution Postgresql 8.4. avec une base de données à notre DR site qui reçoit des mises à jour à des intervalles via coutume, rsync travail d'un ancien employé a exécuté.

L'un des principaux problèmes que nous essayons de résoudre les temps de latence entre deux bureaux dans le monde. Nous avons du personnel à new york et le personnel à Londres. Actuellement, le London membres du personnel de subir le sort de notre VPN pipe. Je ne suis pas vraiment en position de changement de l'infrastructure.

Ce que je voudrais faire est de passer à Postgres 9 et de configuration de réplication en continu. L'esclave serait dans le bureau de Londres, ce qui atténuerait les problèmes de lecture pour les utilisateurs. Le problème que je prévois, c'est écrit à l'esclave (pas sûr de la façon PG gère cela, ma compréhension est que l'esclave est en mode lecture seule). Idéalement, écrit devra être envoyé à l'master à new york (les écritures sont très rares en provenance de Londres, mais nécessaire) par la base de données elle-même. De plus, je peux le programme d'installation fallover pour la faire agir comme un échangeable à chaud de sauvegarde (en remplacement du DR). Encore une fois, tous les contenus dans Postgres configuration sans code supplémentaire.

C'est mon idéalisée de la solution. À quelle distance suis-je? Est-ce possible?

Je suis un peu débordé par l'ampleur de ce sujet, et Google ne m'aide vraiment. Je vous serais reconnaissant de tout conseil de certains Administrateurs de bases de données expérimentés, avec des anecdotes, des documents pertinents ou des exemples.

Actuellement, nous sommes à l'aide de SQLAlchemy comme interface principale de la base de données, si c'est pertinent. Cela veut dire que nous ne sommes liés à Postgres.

Merci à tous.

Si quelqu'un arrive à ceci: Postgres finalement ajouté la réplication Master/Master qui est ce que nous avons fini par utiliser. Avant cela, j'ai utilisé une partie de code personnalisé avec des horodatages sur les tables de clés pour créer delta décors et mise à jour de la DB. Tous les soirs (Asie heures) de la DB ont été entièrement synchronisés à l'aide de l'état de la rsync methedology. Le pgpool suggestion, bien que bonne, a souffert de la latence sur les deux côtés de l'étang. J'ai peut-être mal configuré, mais ce n'était pas une solution idéale.

OriginalL'auteur TrevorB | 2011-06-01