托马斯·冯德拉:性能考古学:OLAP

托马斯·冯德拉:性能考古学:OLAP

💡 原文英文,约2100词,阅读约需8分钟。
📝

内容提要

本文分析了Postgres在分析工作负载上的性能提升,使用TPC-H基准测试进行比较。尽管硬件较小,自8.0版本以来,数据加载和查询性能显著提高。未来可能需要重大架构变更,特别是结合列存储和专用引擎以实现更大改进。

🎯

关键要点

  • 本文分析了Postgres在分析工作负载上的性能提升,使用TPC-H基准测试进行比较。
  • 自8.0版本以来,数据加载和查询性能显著提高,尤其是在8.2、9.5和9.6版本中。
  • 使用较小的硬件进行基准测试,以确保比较的公平性,尽管分析查询通常更复杂。
  • TPC-H被认为是分析基准的黄金标准,包含22个中等复杂度的查询。
  • 数据加载的主要改进发生在COPY和CREATE INDEX阶段,9.5/9.6版本在CREATE INDEX方面有显著提升。
  • 在未缓存的情况下,查询性能在8.0到8.2之间有显著改善,之后逐渐提升。
  • 在缓存的情况下,查询执行速度更快,但整体形状与未缓存的情况相似。
  • 分析结果中发现了一些性能回退的情况,通常是由于意图改变导致的,而非错误。
  • Postgres 11之后,性能变化不大,未来可能主要是小幅度的增量改进。
  • 未来的重大改进可能需要架构上的重大变更,尤其是结合列存储和专用引擎。

延伸问答

Postgres在分析工作负载上的性能提升主要体现在什么方面?

Postgres在数据加载和查询性能上有显著提升,特别是在8.2、9.5和9.6版本中,主要改进发生在COPY和CREATE INDEX阶段。

TPC-H基准测试的特点是什么?

TPC-H被认为是分析基准的黄金标准,包含22个中等复杂度的查询,适合用于性能比较。

在未缓存的情况下,Postgres的查询性能如何变化?

在未缓存的情况下,Postgres的查询性能在8.0到8.2之间有显著改善,之后逐渐提升。

未来Postgres的性能改进可能需要哪些架构变更?

未来的重大改进可能需要结合列存储和专用引擎等架构上的重大变更。

Postgres在数据加载方面的主要改进是什么?

数据加载的主要改进发生在COPY和CREATE INDEX阶段,尤其是在9.5/9.6版本中CREATE INDEX有显著提升。

Postgres的查询性能在缓存情况下有什么特点?

在缓存情况下,查询执行速度更快,但整体性能形状与未缓存情况相似,显示出对I/O的敏感性。

➡️

继续阅读