主流OLAP分析引擎概览「2」

当前OLAP引擎主要有Kylin、Impala、Kudu、Presto、Druid、Clickhouse、Doris、TiDB、Hawq、Hive、SparkSQL、SnappyData、Elasticsearch、Greenplum等。

当前OLAP引擎主要有Kylin、Impala、Kudu、Presto、Druid、Clickhouse、Doris、TiDB、Hawq、Hive、SparkSQL、SnappyData、Elasticsearch、Greenplum等。

上一篇文章:主流OLAP分析引擎概览

本文继续介绍主流的OLAP引擎。

主流OLAP分析引擎概览「2」

Apache Kylin 是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay公司开发并贡献到Apche开源社区成为顶级项目的。它能在亚秒内查询巨大的Hive表。

Kylin 是OLAP引擎中的MOLAP处理方式,其实它的核心是Cube和Cuboid,Cube是一种预计算技术,基本思路是预先对数据作多维索引,查询时只扫描索引指向的数据聚合结果而不访问原始数据,同时避免了数据的聚合操作从而实现查询提速。

主流OLAP分析引擎概览「2」

Apache Kudu是由Cloudera开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力。Kudu支持水平扩展,使用Raft协议进行一致性保证,并且与Cloudera Impala和Apache Spark等当前流行的大数据查询和分析工具结合紧密。

我们知道,基于HDFS的存储技术,比如Parquet,具有高吞吐量连续读取数据的能力;而HBase和Cassandra等技术适用于低延迟的随机读写场景,那么有没有一种技术可以同时具备这两种优点呢?Kudu提供了一种“happy medium”的选择。

Kudu不但提供了行级的插入、更新、删除API,同时也提供了接近Parquet性能的批量扫描操作。使用同一份存储,既可以进行随机读写,也可以满足数据分析的要求。

Kudu的架构

与HDFS和HBase相似,Kudu使用单个的Master节点,用来管理集群的元数据,并且使用任意数量的Tablet Server节点用来存储实际数据。可以部署多个Master节点来提高容错性。

主流OLAP分析引擎概览「2」

主流OLAP分析引擎概览「2」

Apache Druid。由美国广告技术公司MetaMarkets公司2012年开源,孵化于Apache。

Druid 是一个分布式的、支持实时多维 OLAP 分析的数据处理系统。它既支持高速的数据实时摄入处理,也支持实时且灵活的多维数据分析查询。因此 Druid 最常用的场景就是大数据背景下、灵活快速的多维 OLAP 分析。 另外,Druid 还有一个关键的特点:它支持根据时间戳对数据进行预聚合摄入和聚合分析,因此也有用户经常在有时序数据处理分析的场景中用到它。

Druid 数据模型比较简单,它将数据进行预聚合,只不过预聚合的方式与 Kylin 不同,kylin 是 Cube 化,Druid 的预聚合方式是将所有维度进行 Group-by。

Kylin、Druid 只适合聚合场景,ClickHouse、Doris 适合明细和聚合场景。

主流OLAP分析引擎概览「2」

衡量OLAP特定业务场景的两个重要的指标:

查询速度:Search Latency(常用Search Latency Pct99来衡量)

查询并发能力:QPS

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/71915.html

(0)

相关推荐