Apache Kylin的使命
Kylin是要让大数据分析(OLAP)像使用数据库一样简单迅速,用户的查询请求可以在秒级别内返回。
OLAP工具对比
工具 | 技术 |
---|
Impala | MPP |
Presto | MPP |
Drill | MPP |
SparkSQL | MPP |
Druid | Cube预处理 |
Kylin | Cube预处理 |
Mpp 简称大规模并行处理, 一般采用的技术点有多机器并行、内存计算、列式存储。
缺点:响应时间一般在秒-小时级别,具体时间与数据量与机器数量有关,并发性能方面需要重点考虑。
Cube预处理 通过对数据进行预聚合加快响应速度,响应时间一般在毫秒-秒
缺点:预处理容易导致数据膨胀、占用磁盘,典型的以空间换时间
Kylin的原理
kylin的核心思想是预计算,理论基础是:以空间换时间。即多多维分析可能用到的度量进行预计算,将计算好的结果保存成Cube并存储到hbase中,供查询时直接访问。把高复杂度的聚合运算,多表连接等操作转换成对预计算结果的查询。
基本概念:
Cuboid: Kylin中将维度任意组合成为一个Cuboid。
Cube: Kylin中将所有维度组合成为一个Cube,即包含所有的Cuboid。
Kylin 技术架构