Kylin 概述及工作原理

1. 概述-Kylin是什么

        Apache Kylin(Extreme OLAP Engine for Big Data)是一个开源的分布式 分析引擎,为Hadoop等大型分布式数据平台之上的超大规模数据集通过标准 SQL查询及多维分析(OLAP)功能,提供亚秒级的交互式分析能力。

2. 概述-Kylin的由来

        Apache Kylin,中文名麒麟,是Hadoop动物园的重要成员。Apache Kylin是一个开源的分布式分析引擎,最初由eBay开发贡献至开源社区。它提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持大规模数据,能够处理TB乃至PB级别的分析任务,能够在亚秒级查询巨大的Hive表,并支持高并发。

3.概述-为什么需要Kylin

       在大数据的背景下,Hadoop的出现解决了数据存储问题,但如何对海量数据进行OLAP查询,却一直令人十分头疼。企业中大数据查询大致分为两种:即席查询和定制查询。 

       (1)即席查询

        Hive、SparkSQL等OLAP引擎,虽然在很大程度上降低了数据分析的难度,但它们都只适用于即席查询的场景。它们的优点是查询灵活,但是随着数据量和计算复杂度的增长,响应时间不能得到保证。

        (2)定制查询

        多数情况下是对用户的操作做出实时反应,Hive等查询引擎很难满足实时查询,一般只能对数据仓库中的数据进行提前计算,然后将结果存入Mysql等关系型数据库,最后提供给用户进行查询。

        在上述背景下,Apache Kylin应运而生。不同于"大规模并行处理"Hive等架构,Apache Kylin采用" 预计算"的模式,用户只需要提前定义好查询维度,Kylin将帮助我们进行计算,并将结果存储到HBase 中,为海量数据的查询和分析提供亚秒级返回,是一种典型的"空间换时间"的解决方案。

Apache Kylin的出现不仅很好地解决了海量数据快速查询的问题,也避免了手动开发和维护提前计算程 序带来的一系列麻烦。


4.核心概念-数据仓库

Data Warehouse,简称DW,中文名数据仓库,是商业智能(BI)中的核心部分。主要是将不同数据源的数据整合到一起,通过多维分析等方式为企业提供决策支持和报表生成。

数据仓库与数据库主要区别:用途不同

 数据库面向事务,而数据仓库面向分析。

 数据库一般存储在线的业务数据,需要对上层业务的改变做出实时反应,涉及到增删查改等操作,

所以需要遵循三大范式,需要ACID。而数据仓库中存储的则主要是历史数据,主要目的是为企业

决策提供支持,所以可能存在大量数据冗余,但利于多个维度查询,为决策者提供更多观察视角。

在传统BI领域中,数据仓库的数据同样存储在Oracle、MySQL等数据库中,而在大数据领域中最常用的

数据仓库就是Apache Hive,Hive也是Apache Kylin默认的数据源。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容