1. 概述-Kylin是什么
? ? ? ? Apache Kylin(Extreme OLAP Engine for Big Data)是一個開源的分布式 分析引擎学辱,為Hadoop等大型分布式數(shù)據(jù)平臺之上的超大規(guī)模數(shù)據(jù)集通過標準 SQL查詢及多維分析(OLAP)功能遂蛀,提供亞秒級的交互式分析能力围小。
2. 概述-Kylin的由來
? ? ? ? Apache Kylin翰守,中文名麒麟习贫,是Hadoop動物園的重要成員空骚。Apache Kylin是一個開源的分布式分析引擎偷遗,最初由eBay開發(fā)貢獻至開源社區(qū)粱年。它提供Hadoop之上的SQL查詢接口及多維分析(OLAP)能力以支持大規(guī)模數(shù)據(jù),能夠處理TB乃至PB級別的分析任務(wù)豹芯,能夠在亞秒級查詢巨大的Hive表苗桂,并支持高并發(fā)。
3.概述-為什么需要Kylin
? ? ? ?在大數(shù)據(jù)的背景下告组,Hadoop的出現(xiàn)解決了數(shù)據(jù)存儲問題,但如何對海量數(shù)據(jù)進行OLAP查詢癌佩,卻一直令人十分頭疼木缝。企業(yè)中大數(shù)據(jù)查詢大致分為兩種:即席查詢和定制查詢。?
? ? ? ?(1)即席查詢
? ? ? ? Hive围辙、SparkSQL等OLAP引擎我碟,雖然在很大程度上降低了數(shù)據(jù)分析的難度,但它們都只適用于即席查詢的場景姚建。它們的優(yōu)點是查詢靈活矫俺,但是隨著數(shù)據(jù)量和計算復(fù)雜度的增長,響應(yīng)時間不能得到保證。
? ? ? ? (2)定制查詢
? ? ? ? 多數(shù)情況下是對用戶的操作做出實時反應(yīng)厘托,Hive等查詢引擎很難滿足實時查詢友雳,一般只能對數(shù)據(jù)倉庫中的數(shù)據(jù)進行提前計算,然后將結(jié)果存入Mysql等關(guān)系型數(shù)據(jù)庫铅匹,最后提供給用戶進行查詢押赊。
? ? ? ? 在上述背景下,Apache Kylin應(yīng)運而生包斑。不同于"大規(guī)模并行處理"Hive等架構(gòu)流礁,Apache Kylin采用" 預(yù)計算"的模式,用戶只需要提前定義好查詢維度罗丰,Kylin將幫助我們進行計算神帅,并將結(jié)果存儲到HBase 中,為海量數(shù)據(jù)的查詢和分析提供亞秒級返回萌抵,是一種典型的"空間換時間"的解決方案找御。
Apache Kylin的出現(xiàn)不僅很好地解決了海量數(shù)據(jù)快速查詢的問題,也避免了手動開發(fā)和維護提前計算程 序帶來的一系列麻煩谜嫉。
4.核心概念-數(shù)據(jù)倉庫
Data Warehouse萎坷,簡稱DW,中文名數(shù)據(jù)倉庫沐兰,是商業(yè)智能(BI)中的核心部分哆档。主要是將不同數(shù)據(jù)源的數(shù)據(jù)整合到一起,通過多維分析等方式為企業(yè)提供決策支持和報表生成住闯。
數(shù)據(jù)倉庫與數(shù)據(jù)庫主要區(qū)別:用途不同
? 數(shù)據(jù)庫面向事務(wù)瓜浸,而數(shù)據(jù)倉庫面向分析。
? 數(shù)據(jù)庫一般存儲在線的業(yè)務(wù)數(shù)據(jù)比原,需要對上層業(yè)務(wù)的改變做出實時反應(yīng)插佛,涉及到增刪查改等操作,
所以需要遵循三大范式量窘,需要ACID雇寇。而數(shù)據(jù)倉庫中存儲的則主要是歷史數(shù)據(jù),主要目的是為企業(yè)
決策提供支持蚌铜,所以可能存在大量數(shù)據(jù)冗余锨侯,但利于多個維度查詢,為決策者提供更多觀察視角冬殃。
在傳統(tǒng)BI領(lǐng)域中囚痴,數(shù)據(jù)倉庫的數(shù)據(jù)同樣存儲在Oracle、MySQL等數(shù)據(jù)庫中审葬,而在大數(shù)據(jù)領(lǐng)域中最常用的
數(shù)據(jù)倉庫就是Apache Hive深滚,Hive也是Apache Kylin默認的數(shù)據(jù)源奕谭。