apache kylin总结
去年12月挖的坑,今天找时间填上。update:20190119 一、kylin架构 核心是预计算,在此架构上做了一些优化。计算结果存储在Hbase,对Hive等查询转换为Hbase的Scan,提高速度。 缺点亦明显,先天没有AD-HOC能力 二、kylin高可用部署 Kylin的每个结点都可以部署为Job节点(build cube用)兼查询节点。并且每个节点之间对等。因此只要前面加个Nginx做请求转发即可。 Kylin支持通过增加节点水平扩容。 三、kylin on hbase vs kylin on druid 目前的 Kylin 数据存储使用 HBase,存储 Cube 时将维度值和度量值转换成 HBase 的 KeyValue。因为 HBase 不支持二级索引,只有一个行键 (RowKey) 索引,Kylin 的维度值会按照固定的顺序拼接作为 RowKey 存储,那么排在 RowKey 前面的维度,就会获得比后面的维度更好的过滤性能。 也就是说排在rowkey后面的维度查询,效率极低,因为需要scan Hbase的行数非常大,Druid可以解决这个问题。 其特点: 1)数据实时流入,毫秒级延迟即可查询。与ES有些像? 2)支持倒排索引,具有良好的过滤性能。(Hbase只支持一级索引,导致rowkey后面的维度过滤性能差) 这是其较于 Kylin On