Database design 大数据集的Postgres优化检查表

Database design 大数据集的Postgres优化检查表,database-design,scalability,postgresql-9.3,postgresql-9.5,Database Design,Scalability,Postgresql 9.3,Postgresql 9.5,我们正在使用Postgres 9.3(计划升级到9.5)。想知道是否有一些清单可用于优化Postgresql server 我正在寻找以下级别的优化: Postgres数据库配置参数级别 从数据库角度来看的最佳实践(表和查询) 我拥有5000万条记录的客户表和24亿条记录的交易表 索引如下(两个表都没有分区): 客户主数据:CustomerId和EnrolledDate(单索引) 事务处理:CustomerId和InvoiceDate(单索引) 所有预期报告/输出均使用上述两个表 服务器规格如下

我们正在使用Postgres 9.3(计划升级到9.5)。想知道是否有一些清单可用于优化Postgresql server

我正在寻找以下级别的优化:

  • Postgres数据库配置参数级别
  • 从数据库角度来看的最佳实践(表和查询)
  • 我拥有5000万条记录的客户表和24亿条记录的交易表

    索引如下(两个表都没有分区):

    客户主数据:CustomerId和EnrolledDate(单索引)

    事务处理:CustomerId和InvoiceDate(单索引)

    所有预期报告/输出均使用上述两个表

    服务器规格如下所示:

    • OS:Ubunutu 14.04 LTS
    • CPU:16 CPU@2.4Ghz
    • 内存:64 GB
    • 存储:1500 GB
    • 应用程序:PostgreSQL 9.3(计划升级到9.5)

    你能帮我一下吗?

    你永远找不到这样的清单,因为随着数据的增长,性能瓶颈在很大程度上取决于应用程序的特定读写模式

    现在,我使用过的最大的PostgreSQL数据库的大小是10TB,而且增长很快。我们面临的挑战是读/写扩展,而管理这些挑战需要密切关注实际问题,并了解事物如何在较低级别上工作

    如果行数是您最关心的问题,那么您的检查表可以归结为:

  • 足够的缓冲区和ram来存储所有相关索引
  • 运行每一种常见的查询,并查看可能需要添加哪些索引来加快查询速度

  • 请注意,频繁更新索引头可能会产生令人不快的副作用,并且查询计划不会告诉您一切。但这是开始的地方。

    我检查了链接。。。但除此之外,您可能希望我们明确检查任何具体内容。