1:项目背景
在日常的工作中,业务同学随时需要对比多种纬度的数据,快速的做出决策。(分析页面的漏斗、实时流量、曝光点击/转化) 所以我们需要沉淀一套实时的组件,降低数据使用门槛,提升决策效率,在一定方向上驱动业务增长。
2:Real Time Olap
联机分析处理Olap是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。其中F是快速性(Fast),指系统能在数秒内对用户的多数分析要求做出反应;A是可分析性(Analysis),指用户无需编程就可以定义新的专门计算,将其作为分析的一部 分,并以用户所希望的方式给出报告;M是多维性(Multi—dimensional),指提供对数据分析的多维视图和分析;I是信息性(Information),指能及时获得信息,并且管理大容量信息。
OLAP 分类,详细如下:
OLAP分类 | 相关介绍 | 相关技术组件 |
MOLAP | 将分析用的数据物理上存储为多维数组的形式,形成CUBE结构。维度的属性值映射成多维数组的下标或者下标范围,事实以多维数组的值存储在数组单元中,优势是查询快速,缺点是数据量不容易控制,可能会出现维度爆炸的问题。 | Druid、Kylin、 Doris |
ROLAP | 以关系模型的方式存储用作多为分析用的数据,优点在于存储体积小,查询方式灵活,然而缺点也显而易见,每次查询都需要对数据进行聚合计算,为了改善短板,ROLAP使用了列存、并行查询、查询优化、位图索引等技术。 | Clickhouse、Presto、Impala、Spark SQL、Flink SQL、GreenPlum、Elasticsearch |
HOLAP | 混合OLAP,是MOLAP和ROLAP的一种融合。当查询聚合性数据的时候,使用MOLAP技术;当查询明细数据时,使用ROLAP技术。在给定使用场景的前提下,以达到查询性能的最优化。 | 相关的介绍比较少 |
3:why clickhouse
组件 | 组件介绍 | 组件优点 | 组件缺点 |
Kylin | 完全的预计算引擎,通过枚举所有维度的组合。建立各种Cube,提前聚合。以HBase为基础的OLAP引擎 , Hive 或 Kafka提供数据 , 一般做天级,小时级OLAP。 | 支持数据规模超大(依赖HBase) 易用性强,支持标准SQL 性能很高,查询速度很快。 最新版本已剔除hbase,可以关注社区版本。 |