PostgreSQL OLAP 应用程序的性能技巧

Performance tips for PostgreSQL OLAP applications

我有一个 PostgreSQL OLAP 多维数据集,其中包含 5 个约 100 万行的连接表。许多用户可以通过 Web 界面过滤维度,这会在服务器上产生高工作负载。 Web 应用程序是一种分析工具,因此用户可以不断更改维度来分析他们的业务。 您能否提供一些如何提高性能的提示? 例如,使用由 Postgres 缓存的具有 5 个连接表的物化视图是一个好主意,并且用户查询该视图并且不会一次又一次地进行连接。或者在最常用的列上使用索引。 请帮忙! ::-)

您可以预先汇总您的事实 table(s)。例如,如果人们经常查看月汇总,则创建一个按月汇总的新事实 table。

Partition 你的事实 table(s),按年份

确保您有事实和维度的主键,以及维度 table 的键的索引。常用于 ORDER BYWHEREGROUP BY

的索引列

您使用的是 PostgreSQL 的实际 OLAP 服务器前端吗?确保缓存已打开并已优化

使用 RAID 10 SSD,并确保您的机器有足够的内核和 RAM

使用browser caching、代理缓存、网络服务器缓存、ORM缓存