PostgreSQL中的数据库间通信

时间:2010-02-14 22:40:54

标签: python arrays postgresql database-connection

我正在使用PostgreSQL 8.4。我非常喜欢新的unexst()和array_agg()功能;现在是时候他们意识到他们阵列的动态处理潜力了!

无论如何,我正在研究使用长阵列的Web服务器后端。它们将是两个连续的过程,每个过程都发生在不同的物理机器上。每个这样的过程都是一个轻量级的python应用程序,它在每台机器上“管理”对数据库的SQL查询以及来自前端的请求。

第一个进程将生成一个将缓冲到SQL表中的Array。每个这样生成的阵列都可以通过主键访问。完成后,第一个python应用程序将密钥发送到第二个python应用程序。然后在另一台机器上运行的第二个python应用程序使用它来获取在第一台机器中找到的引用的Array。然后它将它发送到它自己的数据库以生成最终结果。

我发送密钥的原因是因为我正在跳跃这会使这两个进程变得更快。但实际上我想要的是让第二个数据库向第一个数据库发送查询,以期最大限度地减少序列化延迟等。

任何帮助/建议都将不胜感激。

谢谢

3 个答案:

答案 0 :(得分:1)

不确定我完全理解,但你看过通知/听? http://www.postgresql.org/docs/8.1/static/sql-listen.html

答案 1 :(得分:1)

听起来好像你想要dblink来自contrib。这允许一些inter-db postgres通信。 pg文档很棒,应该提供所需的示例。

答案 2 :(得分:0)

我正在考虑使用listen / notify或具有缓存的内容,例如memcache。您将密钥发送到memcache并让第二个python应用程序从那里检索它。你甚至可以通过listen / notify来做到这一点......发送密钥并通知您的第二个应用程序密钥在memcache中等待检索。