Deepgreen的TPC-H测试步骤(简略版)

简介:

本文仅简略介绍Deepgreen数据库在TPC-H测试中需要注意的几个步骤,为朋友们以后做测试防雷,详细步骤参见德哥帖子

1.上传文件并解压缩:


ChrisdeMacBook-Pro:tpch chris$ scp master.zip tpc-h-tool.zip dgadmin@192.168.100.107:/home/dgadmin
dgadmin@192.168.100.107's password:
master.zip                                                                                                                                       100%   21KB   3.6MB/s   00:00
tpc-h-tool.zip

unzip xxx

2.设置Makefile参数:


[dgadmin@linux1 ~]$ cd tpch_2_17_0/
[dgadmin@linux1 tpch_2_17_0]$ ls
dbgen  dev-tools  ref_data
[dgadmin@linux1 tpch_2_17_0]$ cd dbgen/
[dgadmin@linux1 dbgen]$ cp makefile.suite Makefile
[dgadmin@linux1 dbgen]$ vim Makefile

主要修改CC、Database、Machine、Workload四行:

################
## CHANGE NAME OF ANSI COMPILER HERE
################
CC      = gcc
# Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata)
#                                  SQLSERVER, SYBASE, ORACLE, VECTORWISE
# Current values for MACHINE are:  ATT, DOS, HP, IBM, ICL, MVS,
#                                  SGI, SUN, U2200, VMS, LINUX, WIN32
# Current values for WORKLOAD are:  TPCH
DATABASE= ORACLE
MACHINE = LINUX
WORKLOAD = TPCH

3.编译:make


4.生成测试数据:


[dgadmin@linux1 dbgen]$ ./dbgen -s 1 -f
TPC-H Population Generator (Version 2.17.0)
Copyright Transaction Processing Performance Council 1994 - 2010

5.将测试数据转换为postgresql识别的格式,删除末尾的分隔符|


[dgadmin@linux1 dbgen]$ for i in `ls *.tbl`; do sed 's/|$//' $i > ${i/tbl/csv}; done

6.把包含csv文件的目录,软链接到/tmp/dss-data。tpch-pg脚本中一会要用到这个目录


[dgadmin@linux1 dbgen]$ pwd
/home/dgadmin/tpch_2_17_0/dbgen
[dgadmin@linux1 dbgen]$ ln -s /home/dgadmin/tpch_2_17_0/dbgen /tmp/dss-data

7.切换到脚本文件master目录下:


[dgadmin@linux1 ~]$ cd pg_tpch-master/
[dgadmin@linux1 pg_tpch-master]$ ls
drop-caches.sh  dss  LICENSE  process.php  README.md  tpch.sh
[dgadmin@linux1 pg_tpch-master]$ cd dss/
[dgadmin@linux1 dss]$ ls
templates  tpch-alter.sql  tpch-create.sql  tpch-index.sql  tpch-load.sql  tpch-pkeys.sql

8.修改tpch-load.sql文件,适应dg语法:


##########COPY命令格式有问题,为了获得更好的效果,使用列存储,修改如下举例##########
) with (APPENDONLY=true,BLOCKSIZE=2097152,ORIENTATION=COLUMN,COMPRESSTYPE=lz4,CHECKSUM=true,OIDS=false);
备注:greenplum的压缩类型为:QuickLZ

单独用一个小文件测试数据是否可用:


psql -d tech
COPY region FROM '/tmp/dss-data/region.csv' WITH csv DELIMITER '|’;

9.把master下的所有文件复制到tpch的dbgen目录下:


[dgadmin@linux1 ~]$ cp -r pg_tpch-master/* tpch_2_17_0/dbgen/
10.在dbgen文件夹下的dss目录下创建文件夹:
[dgadmin@linux1 dbgen]$ mkdir dss/queries

10.生成测试sql:


[dgadmin@linux1 dbgen]$ 
for q in `seq 1 22`
 do
     DSS_QUERY=dss/templates ./qgen $q >> dss/queries/$q.sql
     sed 's/^select/explain select/' dss/queries/$q.sql > dss/queries/$q.explain.sql
     cat dss/queries/$q.sql >> dss/queries/$q.explain.sql;
 done

11.连接并创建测试数据库tpch


[dgadmin@linux1 dbgen]$ psql -d postgres -p 15432
psql (8.2.15)
Type "help" for help.

postgres=# create database tpch owner=dgadmin;
CREATE DATABASE

12.设置几个数据库参数:


##########设置几个参数##########
gpconfig -c enable_nestloop -v off
gpconfig -c work_mem -v 256MB
gpstop -u


13.执行测试:


nohup ./tpch.sh ./results tpch dgadmin &


备注:如果报错误或者bench.log报timeout,调整tpch.sh文件中的时间为半小时或者更长即可。


目录
相关文章
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
546 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
数据采集 机器学习/深度学习 大数据
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
这篇文章详细介绍了C3D架构在行为检测领域的应用,包括训练和测试步骤,使用UCF101数据集进行演示。
443 1
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
|
NoSQL 安全 测试技术
接口测试用例设计的关键步骤与技巧解析
该文介绍了接口测试的设计和实施,包括测试流程、质量目标和用例设计方法。接口测试在需求分析后进行,关注功能、性能、安全等六项质量目标。流程包括网络监听(如TcpDump, WireShark)和代理工具(Charles, BurpSuite, mitmproxy, Fiddler, AnyProxy)。设计用例时,需考虑基本功能流程、输入域测试(如边界值、特殊字符、参数类型、组合参数、幂等性)、线程安全(并发和分布式测试)以及故障注入。接口测试用例要素包括模块、标题、优先级、前置条件、请求方法等。文章强调了保证接口的幂等性和系统健壮性的测试重要性。
|
安全 测试技术 网络架构
【专栏】编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。
【4月更文挑战第28天】本文介绍了编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。通过实际案例分析,展示了如何成功完成割接,确保业务连续性和稳定性。遵循这些步骤,可提高割接成功率,为公司的网络性能和安全提供保障。
1562 0
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
282 6
|
PyTorch 算法框架/工具 计算机视觉
目标检测实战(二):YoloV4-Tiny训练、测试、评估完整步骤
本文介绍了使用YOLOv4-Tiny进行目标检测的完整流程,包括模型介绍、代码下载、数据集处理、网络训练、预测和评估。
815 2
目标检测实战(二):YoloV4-Tiny训练、测试、评估完整步骤
|
敏捷开发 安全 测试技术
掌握单元测试:确保代码质量的关键步骤
单元测试是确保代码质量、提升可维护性和可靠性的重要手段。本文介绍了单元测试的基本概念、重要性及最佳实践,包括测试驱动开发(TDD)、保持测试独立性、使用断言库和模拟依赖等,旨在帮助开发者掌握单元测试技巧,提高开发效率。
|
缓存 数据挖掘 测试技术
目标检测实战(三):YOLO-Nano训练、测试、验证详细步骤
本文介绍了YOLO-Nano在目标检测中的训练、测试及验证步骤。YOLO-Nano是一个轻量级目标检测模型,使用ShuffleNet-v2作为主干网络,结合FPN+PAN特征金字塔和NanoDet的检测头。文章详细说明了训练前的准备、源代码下载、数据集准备、参数调整、模型测试、FPS测试、VOC-map测试、模型训练、模型测试和验证等步骤,旨在帮助开发者高效实现目标检测任务。
750 0
目标检测实战(三):YOLO-Nano训练、测试、验证详细步骤
|
计算机视觉 异构计算
目标检测实战(四):YOLOV4-Tiny 源码训练、测试、验证详细步骤
这篇文章详细介绍了使用YOLOv4-Tiny进行目标检测的实战步骤,包括下载源码和权重文件、配置编译环境、进行简单测试、训练VOC数据集、生成训练文件、准备训练、开始训练以及多GPU训练的步骤。文章还提供了相应的代码示例,帮助读者理解和实践YOLOv4-Tiny模型的训练和测试过程。
1256 0
|
SQL 弹性计算 测试技术
实时数仓Hologres TPC-H及点查性能开箱测试
Hologres现在仍然是TPCH-30000榜单的全球第一,领先第二名高达23%,最新发布的2.2版本相比之前的1.x的版本性能大约提升100%。
下一篇
oss云网关配置