SSB 星型模式基准测试是 OLAP 数据库性能测试的常用场景,通过本篇教程,您可以了解到如何在 MatrixOne 中实现 SSB 测试 。
测试环境
- 机器配置
机器数量部署方式CPU内存磁盘1单节点636G100G - MO版本
0.5.1版本
- 获取源码
git clone https://github.com/vadimtk/ssb-dbgen.git如果因为网络问题导致clone失败,建议使用gitee将上述链接项目导入到自己的仓库,然后使用gitee的链接clone
- 编译
cd ssb-dbgenmake
-s 1
时 dbgen
命令会生产近600万行数据(670MB),当使用-s 10
时会生产近6000万行数据,会耗费大量时间 。./dbgen -s 1 -T c./dbgen -s 1 -T l./dbgen -s 1 -T p./dbgen -s 1 -T s./dbgen -s 1 -T d生成完成后,会有以下数据文件,这里只生成了多表的数据 。
[root@motest ssb]# ll -h |grep tbl-r-sr-S--T. 1 root root 3.2M Oct 1 09:30 customer.tbl-rw-r--r--. 1 root root 270K Oct 1 09:31 date.tbl-rw-r--r--. 1 root root 641M Oct 1 09:31 lineorder.tbl-rw-r--r--. 1 root root 20M Oct 1 09:31 part.tbl-rw-r--r--. 1 root root 187K Oct 1 09:31 supplier.tblSSB的大宽表数据集请下载:
wget https://community-shared-data-1308875761.cos.ap-beijing.myqcloud.com/lineorder_flat.tar.bz2解压数据集:
tar -jxvf lineorder_flat.tar.bz2MatrixOne 准备工作
- 安装 、 启动MatrixOne
详情请参考MatrixOne部署一文
- 建表
create database if not exists ssb;use ssb;drop table if exists lineorder;drop table if exists part;drop table if exists supplier;drop table if exists customer;drop table if exists dates;drop table if exists lineorder_flat;create table lineorder ( lo_orderkey bigint, lo_linenumber int, lo_custkey int, lo_partkey int, lo_suppkey int, lo_orderdate date, lo_orderpriority char (15), lo_shippriority tinyint, lo_quantity double, lo_extendedprice double, lo_ordtotalprice double, lo_discount double, lo_revenue double, lo_supplycost double, lo_tax double, lo_commitdate date, lo_shipmode char (10)) ;create table part ( p_partkey int, p_name varchar (22), p_mfgr char (6), p_category char (7), p_brand char (9), p_color varchar (11), p_type varchar (25), p_size int, p_container char (10)) ;create table supplier ( s_suppkey int, s_name char (25), s_address varchar (25), s_city char (10), s_nation char (15), s_region char (12), s_phone char (15)) ;create table customer ( c_custkey int, c_name varchar (25), c_address varchar (25), c_city char (10), c_nation char (15), c_region char (12), c_phone char (15), c_mktsegment char (10)) ;create table dates ( d_datekey date, d_date char (18), d_dayofweek char (9), d_month char (9), d_yearmonthnum int, d_yearmonth char (7), d_daynuminweek varchar(12), d_daynuminmonth int, d_daynuminyear int, d_monthnuminyear int, d_weeknuminyear int, d_sellingseason varchar (12), d_lastdayinweekfl varchar (1), d_lastdayinmonthfl varchar (1), d_holidayfl varchar (1), d_weekdayfl varchar (1)) ;CREATE TABLE lineorder_flat( LO_ORDERKEY bigint key, LO_LINENUMBER int, LO_CUSTKEY int, LO_PARTKEY int, LO_SUPPKEY int, LO_ORDERDATE date, LO_ORDERPRIORITY char(15), LO_SHIPPRIORITY tinyint, LO_QUANTITY double, LO_EXTENDEDPRICE double, LO_ORDTOTALPRICE double, LO_DISCOUNT double, LO_REVENUE int unsigned, LO_SUPPLYCOST int unsigned, LO_TAX double, LO_COMMITDATE date, LO_SHIPMODE char(10), C_NAME varchar(25), C_ADDRESS varchar(25), C_CITY char(10), C_NATION char(15), C_REGION char(12), C_PHONE char(15), C_MKTSEGMENT char(10), S_NAME char(25), S_ADDRESS varchar(25), S_CITY char(10), S_NATION char(15), S_REGION char(12), S_PHONE char(15), P_NAME varchar(22), P_MFGR char(6), P_CATEGORY char(7), P_BRAND char(9), P_COLOR varchar(11), P_TYPE varchar(25), P_SIZE int, P_CONTAINER char(10));经验总结扩展阅读
- 怎么从行驶证上看出车辆是否过户
- 国际象棋怎么玩,新手入门(国际象棋新手入门必看)
- 研究生从报考到考试的流程
- 煮鸡蛋正确的方法
- 春运时间什么时候开始到结束 春运是从什么时间开始到结束
- 切除子宫和闭经一样吗
- 从零开始学Graph Database:什么是图
- SQL基础语句入门
- 咸鱼之王龙鱼义从怎么搭配
- 哪些星座女婚后从不乱花钱