常用开源OLAP性能比较

一、易观测试结果
1 多表关联查询

常用开源OLAP性能比较_第1张图片

[外链图片转存失败(img-GxHAAZIh-1569244897010)(https://uploader.shimo.im/f/YSOdNtLcfg44o3mn.png!thumbnail)]
2 单表查询
常用开源OLAP性能比较_第2张图片

常用开源OLAP性能比较_第3张图片

二、自己测试结果(单表查询)
2.1 数据情况:

  1. 数据名:student.txt
  2. 数据格式:CSV格式
  3. 数据属性:id(string) ,name(string) ,sex(string),grade(int),cls(int),age(int) 共6列数据
  4. 数据总行数:210000000
  5. 数据大小:5.73G

2.2 测试表详情

  1. h_stu_txt --> hive txt 格式表
  2. h_stu_parquet --> hive parquet 格式表
  3. h_stu_parquet_snap --> hive parquet 格式 用 snap 压缩格式表
  4. h_stu_parquet_gz --> hive parquet 格式 用 gzip 压缩格式表
  5. h_stu_par_snap --> hive parquet 格式并用 sanp 压缩的分区表,以 age 属性进行分区。
  6. c_stu --> clickhouse 表
  7. c_stu_par --> clickhouse 分区表,以age属性进行分区。
  8. mysql_stu --> mysql 表

2.3 插入数据

  1. h_stu_txt --> 直接load,时间不计。加载后数据大小不变,仍是5.73G
  2. h_stu_parquet --> select h_stu_txt 然后插入,hive中用时 64.58s ,插入后数据大小 4.74G
  3. h_stu_parquet_snap --> select h_stu_txt 然后插入,hive中用时 47.795s,插入后数据大小 2.35G
  4. h_stu_parquet_gz --> select h_stu_txt 然后插入,hive中用时 53.807s,插入后数据大小 1.43G
  5. h_stu_par_snap --> select h_stu_txt 然后插入,hive中用时 659.606s,插入后数据大小 2.35G
  6. c_stu --> cat 文件然后插入,用时<4min ,插入后数据大小3.2G
  7. c_stu_par --> cat 文件然后插入,用时<4min , 插入后数据大小2.9G
  8. mysql_stu --> 插入数据时间为 20min

2.4 测试语句

-- sql1
select count(*) from t;
-- sql2
select * from t where age=12 and name='adggeg';
-- sql3
select name,sex from t where age=40 and grade=61;
-- sql4
select grade,count(*) from t group by grade;
-- sql5
select grade,cls,count(*) from t where age=15 group by grade,cls;
-- sql6
select grade,count(*) as num from t group by grade order by num;
-- sql7
select grade,cls,count(*) as num from t where age=16 and grade=24 group by grade,cls order by num;

2.5 测试结果
常用开源OLAP性能比较_第4张图片

2.6 测试总结

  1. 性能方面: clickhouse > sparksql > hive on spark > mysql 和 hive on mr 。

  2. txt 格式两次测试结果差距较大 ,不稳定,其他格式两次测试查询差距不大。

  3. 分区后性能明显提升。

  4. 对于hive on spark 和 spark sql 来说,parquet 格式性能明显大于txt格式,在数据量极大情况下,parquet_gz性能最好,数据量较大的情况下,parquet_snap性能最好,数据量大的情况下,parquet格式性能最好。

  5. 单表查询 clickhouse 性能最好,完爆其他。

  6. mysql 和 hive on mr 性能最差,且差的有些厉害。

    ClickHouse虽然说还不太完善,且局限性比较大,但是性能毋庸置疑,所以特定场景下 ClickHouse是最好的选择。

你可能感兴趣的:(大数据)