【问题标题】:Multiple schemas on multiple machines in postgrespostgres中多台机器上的多个模式
【发布时间】:2013-12-04 14:00:26
【问题描述】:

在多台机器上扩展多个模式,我使用 PostgreSQL 作为后端系统,现在我想查找模式驻留在哪台机器上的模式,所以就像我在两台机器 D1 上都有两台机器 M1 和 M2现在安装了 D2,tenant1 模式在 DB1 上,Tenant2 模式在 DB2 上,现在两个租户都将使用相同的应用程序服务器,在这种情况下,我必须使用集群和分区节点,并且每个节点都包含一定量的数据,或者喜欢。租户 1 和租户 2 可以使用相同的应用程序,现在我想要一些解决方案留在中间并执行池的查找和缓存。是否可以通过使用 Cluster 来完成它?或者我必须制作一个像 PgPool II 这样显示为数据库服务器的程序并为我查找架构。

【问题讨论】:

  • 如果您的架构及其服务器不经常更改,那么在您的应用程序中处理连接到哪个数据库的决定可能会更有效,方法是在 inpgbouncer (wiki.postgresql.org/wiki/PgBouncer)或 pgpool2。
  • 感谢 bma,pgbouncer 似乎是可行的选择,但是这些服务器将没有复制,我的意思是服务器将保存不同的数据,所以如果租户 1 向 pgbouncer 和租户 2 请求它会查找哪个机器架构是自动的?
  • 我不能肯定地说,但也许 pgbouncer 可以配置为根据 pgbouncer config.ini 文件中的某些逻辑将您的查询定向到正确的数据库。如果没有,您可能必须在应用程序中处理它。

标签: postgresql database-design schema cluster-computing scalability


【解决方案1】:

我会建议两件事之一。

  1. 您可以使用 pgpool 或应用程序级连接池来做出决定。

  2. 如果您需要它是 db 透明的,您可以使用 pl/proxy 过程设置模式来以这种方式处理 db 的分片。这将允许您让您的“前端”数据库服务器协调对存储分片的查询(每个分片位于不同的分区中)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-17
    • 2017-11-03
    • 2016-04-19
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多