性能测试以TPC-DS 1TB数据为测试数据,使用标准的DSDGEN工具构造样本数据。

说明 本文的TPC-DS的实现基于TPC-DS的基准测试,并不能与已发布的TPC-DS基准测试结果相比较,本文中的测试并不符合TPC-DS基准测试的所有要求。
  1. TPC官网下载TPC-DS标准的数据生成工具DSDGEN,编译后生成二进制可执行文件dsdgen。

  2. 创建存放数据文件的目录。
    mkdir data1tb
  3. 构建测试数据。
    ./dsdgen -sc 1000 -dir data1tb -TERMINATE N
    参数说明如下:
    参数 说明 示例
    -sc 测试数据量的大小。 10表示10GB,1000表示1000GB(1TB)
    -dir 生成的数据文件写入的目录。 data1tb
    -TERMINATE 每行最后是否加字段分隔符。 N或者Y
    • N:每行最后不加字段分隔符。
    • Y:每行最后添加字段分隔符。比如分隔符|。
    -PARALLEL 一共分成几个chunk。

    一条语句只能生成一个chunk。因此设置了几个,就要执行几次。

    5
    -CHILD 当前命令生成第几个chunk。 1
    例如,要构建1TB的测试数据,5个chunk来运行。
    mkdir data1tb_5
    
    ./dsdgen -sc 1000 -dir data1tb_5 -TERMINATE N -PARALLEL 5 -CHILD 1
    ./dsdgen -sc 1000 -dir data1tb_5 -TERMINATE N -PARALLEL 5 -CHILD 2
    ./dsdgen -sc 1000 -dir data1tb_5 -TERMINATE N -PARALLEL 5 -CHILD 3
    ./dsdgen -sc 1000 -dir data1tb_5 -TERMINATE N -PARALLEL 5 -CHILD 4
    ./dsdgen -sc 1000 -dir data1tb_5 -TERMINATE N -PARALLEL 5 -CHILD 5
    dsdgen命令生成的测试数据文件是文本格式,字段分隔符默认是管道符 |,一行一条数据记录。
    call_center.dat
    catalog_page.dat
    catalog_returns.dat
    catalog_sales.dat
    customer_address.dat
    customer.dat
    customer_demographics.dat
    date_dim.dat
    dbgen_version.dat
    household_demographics.dat
    income_band.dat
    inventory.dat
    item.dat
    promotion.dat
    reason.dat
    ship_mode.dat
    store.dat
    store_returns.dat
    store_sales.dat
    time_dim.dat
    warehouse.dat
    web_page.dat
    web_returns.dat
    web_sales.dat
    web_site.dat

更多DSDGEN的使用方法,请参见tpc-ds