Связь между базами данных в PostgreSQL - PullRequest
3 голосов
/ 15 февраля 2010

Я использую PostgreSQL 8.4. Мне очень нравятся новые функции unnest () и array_agg (); пора им реализовать потенциал динамической обработки своих массивов!

В любом случае, я работаю над серверной частью веб-сервера, которая часто использует длинные массивы. Это будут два последовательных процесса, каждый из которых будет происходить на отдельной физической машине. Каждый такой процесс является легким Python-приложением, которое «управляет» SQL-запросами к базе данных на каждой из их машин, а также запросами от внешних интерфейсов.

Первый процесс сгенерирует массив, который будет помещен в таблицу SQL. Каждый такой сгенерированный массив доступен через первичный ключ. Когда это будет сделано, первое приложение Python отправляет ключ во второе приложение Python. Затем второе приложение на Python, работающее на другом компьютере, использует его, чтобы получить массив ссылок, найденный на первом компьютере. Затем он отправляет его в свою собственную базу данных для генерации окончательного результата.

Причина, по которой я отправляю ключ, заключается в том, что я надеюсь, что это ускорит оба процесса. Но на самом деле я хотел бы, чтобы вторая база данных отправляла запрос к первой базе данных в надежде минимизировать задержку сериализации и тому подобное.

Буду признателен за любую помощь / совет.

Спасибо

Ответы [ 3 ]

1 голос
/ 17 февраля 2010

Звучит так, как вы хотите dblink от contrib. Это разрешает некоторую связь между DB и Postgres. Документация pg великолепна и должна предоставить необходимые примеры.

1 голос
/ 15 февраля 2010

не уверен, что я полностью понимаю, но вы смотрели на уведомление / прослушивание? http://www.postgresql.org/docs/8.1/static/sql-listen.html

0 голосов
/ 17 февраля 2010

Я думаю, что либо слушать / уведомлять, либо что-то с кешем, например memcache. Вы бы отправили ключ в memcache, а второе приложение Python извлекло его оттуда. Вы даже можете сделать это с помощью прослушивания / уведомления ... например; отправьте ключ и сообщите второму приложению, что ключ находится в кэше памяти, ожидая получения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...