数据维度相关知识--kylin

kylin理论基础:

空间换时间,使用预计算(相比实时计算),对业务所需的维度组合和度量进行预聚合,提前把可能是查询都预先计算好,当查询到达时直接访问预计算聚合结果,反馈用户查询结果,省去对大数据的扫描和运算,而不是再去计算。

kylin实现原理:

kylin从数据仓库中最常用的Hive中读取源数据,使用MapReduce/spark作为cube构建的引擎,并把预计算的结果保存再Hbase中,对外暴露Rest API/JDBC/ODBC等查询接口。

 kylin的预聚合思想实现数据多维度下钻,将维度分为多层,下层统计可以依赖上层结果,如下图:

数据维度相关知识--kylin

 第一层:最细粒度数据有ABC三个维度

 第二层:根据第一层ABC维度表可聚合出AB AC BC 二维度数据

 第三层:根据第二层二维数据可统计出A B C 数据

当数据有n维度时,最多需要2^n个cube集合

数据维度相关知识--kylin