环境: REHL 5, tpch
TPC-H 基准测试是由 TPC-D发展而来的。TPC-H 用 3NF 实现了一个数据仓库, 用于商业智能计算测试。可从 http://www.tpc.org/tpch/ 中下载tpch_2_14_0.zip ,放入Linux 环境目录下。
解压缩unzip tpch_2_14_0.zip, 在生成的文件 ./tpch_2_17_0/dbgen/中, cp makefile.suite makefile , 编辑vi makefile
$ ll
drwxr-xr-x 5 tibero6 dba 4096 Jan 26 09:34 tpch_2_17_0
-rw-r--r-- 1 tibero6 dba 15897 May 28 2015 tpch.sql
-rw-r--r-- 1 tibero6 dba 28151 Dec 24 09:59 TPCH_TABLE.txt --建表语句
-rw-r--r-- 1 tibero6 dba 23690067 Jan 26 08:55 TPCH_Tools.zip
[tibero6@ibmtest dbgen]$ cp makefile.suite makefile
[tibero6@ibmtest dbgen]$ vi makefile
修改一下四处:
################
CC = gcc
# Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata)
# SQLSERVER, SYBASE, ORACLE
# 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
注:这里要设置CC, DATABASE, MACHINE, WORKLOAD这四个变量
然后编译(make)并生成可执行文件(dbgen)
[tibero6@ibmtest dbgen]$ make 或者make -f makefile
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o build.o build.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o driver.o driver.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o bm_utils.o bm_utils.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o rnd.o rnd.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o print.o print.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o load_stub.o load_stub.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o bcd2.o bcd2.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o speed_seed.o speed_seed.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o text.o text.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o permute.o permute.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o rng64.o rng64.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -O -o dbgen build.o driver.o bm_utils.o rnd.o print.o load_stub.o bcd2.o speed_seed.o text.o permute.o rng64.o -lm
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o qgen.o qgen.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -c -o varsub.o varsub.c
gcc -g -DDBNAME=\"dss\" -DLINUX -DORACLE -DTPCH -DRNG_TEST -D_FILE_OFFSET_BITS=64 -O -o qgen build.o bm_utils.o qgen.o rnd.o varsub.o text.o bcd2.o permute.o speed_seed.o rng64.o -lm
[tibero6@ibmtest dbgen]$
[tibero6@ibmtest dbgen]$ ll dbgen
-rwxr-xr-x 1 tibero6 dba 124521 Jan 26 09:38 dbgen
生成1G的数据:
[tibero6@ibmtest dbgen]$./dbgen -vf -s 1
PC-H Population Generator (Version 2.17.0)
Copyright Transaction Processing Performance Council 1994 - 2010
Generating data for suppliers table/
Preloading text ... 100%
done.
查看生成的数据文件: ls -l *tbl
-rw-r--r-- 1 tibero6 dba 24346144 Jan 26 09:40 customer.tbl
-rw-r--r-- 1 tibero6 dba 759863287 Jan 26 09:40 lineitem.tbl
-rw-r--r-- 1 tibero6 dba 2224 Jan 26 09:40 nation.tbl
-rw-r--r-- 1 tibero6 dba 171952161 Jan 26 09:40 orders.tbl
-rw-r--r-- 1 tibero6 dba 118984616 Jan 26 09:40 partsupp.tbl
-rw-r--r-- 1 tibero6 dba 24135125 Jan 26 09:40 part.tbl
-rw-r--r-- 1 tibero6 dba 389 Jan 26 09:40 region.tbl
-rw-r--r-- 1 tibero6 dba 1409184 Jan 26 09:40 supplier.tbl
还有数据的表的定义文件,是该目录下的dss.dll文件