前言
今天突然想了想这事,后面正好也在群里有了讨论。所以这篇文章大体是做个总结。
夜间漫谈
目前来看,从数据本身进行各种转换和查询,大致分成三个类型:
- 明细查询
- 聚合统计
- 关键字检索
明细查询大体是横向行的查询,聚合统计依托于列的纵向查询。关键字检索则是有别于1,2的一种数据获取分析方式,作为人类三大信息来源之一的文字,关键字检索是一个非常重要的从海量数据获取自己想要的数据的方式。就目前我的感觉,人们通过关键字获取到数据集之后可以在走1,2进一步对数据做处理。
目前ElasticSearch可以覆盖三类了,但是聚合统计还很弱,而且不支持SQL。CarbonData覆盖前两类,Parquet则只有第二类。
而就目前的使用热度而言,理论上该是 ES> CarbonData > Parquet。 实际情况是,ElasticSearch当之无愧是王者,其次是Parquet/ORC。CarbonData 则是新起之秀。
从对时间响应的要求而言,又可以分成两种:
- 传统的BI报表以预计算为主,偏离线,对时间响应要求并不高。
- 交互式查询则更适合数据的探索,如果够快,也可以作为BI报表的后端。
交互式查询,我之前写过一篇内容,大体是说如何秒级,甚至是毫秒级对海量数据进行查询是我们一直追求的一个梦想。