用于数据分析目的的特定 postgresql 服务器配置

Specific postgresql server configuration for data analysis purposes

如果您使用 postgresql 数据库特别是 用于数据科学部门和数据分析目的,是否有关于使用 postgresql.conf 文件调整服务器性能的任何提示?或者性能调整本身是不可知的,并且自从 'it is all about extracting data'?

以来,你将用它做什么并没有真正的区别

这是一个相当晦涩的问题,我没有找到答案(在无数关于数据科学主题的文章中)。

尽管这是一个非常笼统的问题,但我会尽力给您一两个提示:

您可以先评估您的需求大纲,例如:

  • 我们是在谈论大数据块吗? (缓冲区大小)
  • 从多少客户端执行查询? (允许连接)
  • 你在使用 postgresql 的内部函数吗?
  • 您需要永久备份或复制表或数据库吗?
  • 等等,等等,..

我建议您阅读 resource consumption and the docs on query-planning as well as server configuration 上官方文档中的文章 一般来说。

如果您在阅读文档后无法得出正确的方法,我可以推荐 pg-forum。有经验的用户 'akretschmer' 是一名 postgresql-pro,如果您以详细且有意义的方式提出您的问题,可能会帮助您 ;)

我也遇到过和OP一样的问题,但我找不到任何相关信息。我们的要求只是 2 名数据科学家访问数据、切片、探索等。这是我们当前的设置和配置

  • 数据:AWS Cloudwatch 5 分钟数据的 50 亿行 (~300GB)
  • 硬件:AWS EC2 t2.2xlarge(8 核,32GB RAM,500GB gp2 磁盘)
  • PostgreSQL 版本 10
  • /etc/postgresql/10/main/postgresql.conf
  • 的修改部分
work_mem = 25GB
maintenance_work_mem = 25GB

max_worker_processes = 8
max_parallel_workers = 8
max_parallel_workers_per_gather = 4

如果有人有进一步的建议,我将非常高兴。

编辑:我将此作为问题发布在 DBA stackexchange 上,以征求更多建议。