大量的模式会影响PostgreSQL的性能吗?

plupiseo  于 2023-03-08  发布在  PostgreSQL
关注(0)|答案(1)|浏览(250)

这是一个关于模式数量如何影响DB集群性能的问题。
假设我运行一个PostgreSQL集群,在该集群中:我有1个数据库,每个数据库都有数千个模式(我为每个应用租户创建一个模式),每个模式都包含相同的8个表(例如,用户、订单...发票)

我知道这根本不是一个典型的多租户应用程序设计--这样,我使用模式作为租户隔离;另一种方法(可能是常规方法)是在单个模式中只有8个表,并将承租者ID设计到表键中。
我的问题是这种设计是否会使我的数据库服务器性能变差(例如,可能会使我的内存、CPU消耗......)以及为什么。如果答案是肯定的,那么是否有任何信封背面的公式可以让我预测我的内存消耗?

编辑:看起来@Neil McGuigan在2015年从业绩Angular 给出了以下声明

  • “在一个数据库中使用多个模式的最常见用例是构建一个软件即服务应用程序,其中每个客户都有自己的模式。虽然这种技术看起来很有吸引力,但我们强烈建议不要使用它,因为它已经导致了许多操作问题。例如,即使是中等数量的模式(〉50)也会严重影响Heroku的数据库快照工具的性能。” www.example.com -尼尔·麦圭根 *
    **问:**2023年,那个说法还有效吗?
rmbxnbpk

rmbxnbpk1#

最大的问题是一些元数据查询可能会变慢,但是对于几千个表来说可能还是可以的,可能需要更多的autovacuum_max_workers
考虑使用使用row level security的数据模型来实现多租户。

相关问题