【问题标题】:postgres streaming replication - slave only indexpostgres 流式复制 - 仅从属索引
【发布时间】:2016-05-17 04:05:08
【问题描述】:

我们已经成功部署了带有流复制(WAL 复制)的 Postgres 9.3。我们目前有 2 个从站,第二个从站是第一个从站的级联从站。两个从站都是热备用的,并且正在使用活动的只读连接。

由于负载的原因,我们希望创建第三个从属设备,其硬件规格略有不同,并且在更多数据仓库用例中将其用作只读数据库的不同应用程序。由于它针对不同的应用程序,我们希望专门针对该应用程序对其进行优化,并通过利用一些额外的索引来提高性能。出于大小和性能的目的,我们宁愿在主服务器或其他 2 个从服务器上没有这些索引。

所以我的主要问题是,我们能否在从属设备上创建不同的索引以进行流式复制,如果不能,是否还有另一种我错过的数据仓库技术?

【问题讨论】:

  • 既然是数据仓库,就一定要实时吗?或者像“每晚从第二个奴隶加载”这样的东西会起作用吗?诸如“从备份和日志中复制从属设备,切断复制,构建仓库索引”(每天重复)。
  • 理想情况下接近实时。我们尝试过加载每晚的备份,但不幸的是,它是一个 100+GB 的数据库,从头开始加载可能需要将近 4 个小时。不过,WAL 复制是天赐之物。

标签: postgresql indexing streaming replication standby


【解决方案1】:

所以我的主要问题是,我们能否在从属设备上创建不同的索引以进行流式复制

不,你不能。流式物理复制的工作水平低于此,复制磁盘块。它并没有真正关注“这是一个索引更新”、“这是对表的插入”等。它没有维护备用索引所需的信息。

如果没有,是否还有其他我错过的数据仓库技术?

逻辑复制解决方案,例如:

可以为所欲为。它们发送行更改,因此辅助服务器可以有额外的索引。

【讨论】:

  • 美女...非常感谢。过去使用过 slony,并不是一个超级粉丝,但我会看看其他 2 个。
猜你喜欢
  • 2020-05-30
  • 1970-01-01
  • 2010-09-16
  • 2020-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多