暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

利用PolarDB-PG HTAP加速TPC-H(一)

PolarDB农夫山泉 2023-09-19
160

PolarDB PostgreSQL版(以下简称 PolarDB-PG)是一款阿里云自主研发的企业级数据库产品,采用计算存储分离架构,兼容 PostgreSQL 与 Oracle。PolarDB-PG 的存储与计算能力均可横向扩展,具有高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB-PG 具有大规模并行计算能力,可以应对 OLTP 与 OLAP 混合负载;还具有时空、向量、搜索、图谱等多模创新特性,可以满足企业对数据处理日新月异的新需求。
本节介绍利用PolarDB PostgreSQL版的HTAP能力加速TPC-H的执行的最佳实践案例。本案例将基于单机本地存储来运行。

前期准备

部署PolarDB for PostgreSQL

在运行前,默认已经通过参考搭建基于单机本地存储的实例部署好本地多节点HTAP实例,总计1个主节点(运行于5432端口)和2个只读节点(运行于5433/5434端口)。可以通过下面的命令来验证:

ps xf
复制

会看到如下的三个进程,1个主节点(运行于5432端口),2个只读节点(运行于5433/5434端口):

image.png

生成TPC-H测试数据集

TPC-H是专门测试数据库分析型场景性能的数据集,一共有22条分析型场景下的SQL。用TPC-H可以有效测试PolarDB for PostgreSQL的HTAP的能力。我们将通过tpch-dbgen工具来生成任意大小的数据集。

# 下载tpch-dbgen git clone https://github.com/qiuyuhang/tpch-dbgen.git # 编译代码 cd tpch-dbgen make
复制

执行如下命令,生成模拟数据:

建议先按照该命令,从10 GB大小的数据开始生成。体验完本案例后还可尝试100 GB的数据,即将该命令行中的10替换为100。注意不要超过本机外存容量。

# 生成10 GB数据 ./dbgen -s 10
复制

tpch-dbgen中包含的文件的说明:

  • 后缀为 .tbl 表示生成的表数据
  • queries/ 中存放的是 TPC-H 的 22 条 SQL
  • 含有 explain.sql 文件只打印计划,并不实际执行
  • answers/ 中存储了 TPC-H 中 22 条 SQL 的执行结果
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论