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.
OriginalL'auteur TrevorB | 2011-06-01
Vous devez vous connecter pour publier un commentaire.
pgpool-II pouvez gérer cela pour votre:
Vérifier cet exemple.
Note 1 mise en garde cependant, que si vous faites n'importe quel écrit par fonctions, alors cette solution ne fonctionnera pas parce que PgPool enverra lit à tout juste 1 de l'hôte et de les fonctions sont exécutées avec une instruction select, ce qui signifie une fonction qui ne prend aucun écrit ne seront pas synchronisés sur tous les hôtes.
OriginalL'auteur Frank Heikens
PostgreSQL 9 documentation donne une belle vue d'ensemble des options disponibles.
http://www.postgresql.org/docs/9.0/static/different-replication-solutions.html
Vous voudrez peut-être regarder à Slony si vous n'avez pas l'esprit d'avoir à écrire pour le maître et non l'esclave, ou si vous le souhaitez, découvrez tout de la réplication multimaître technologies disponibles.
OriginalL'auteur Imraan