天天看點

搞懂QuickBI的OLAP引擎技術原理,人人都是資料分析師BI産品介紹QuickBI客戶真實使用場景OLAP引擎的流程分解未來探索方向

阿裡巴巴技術專家梓澈從多方面帶您搞懂QuickBI的OLAP引擎技術原理,首先介紹了BI的國内外現狀,然後對QuickBI的定位、使用流程以及客戶案例進行詳細分析。又對OLAP引擎進行了詳細的講解,最後對未來發展方向與展望進行了深刻的總結。

數十款阿裡雲産品限時折扣中,

趕快點選這裡 ,領券開始雲上實踐吧! 直播視訊回顧 PPT下載下傳請點選 以下是精彩視訊内容整理:

BI産品介紹

提到BI與OLAP這兩個概念,對于很多做資料庫的技術人員來說并不陌生,目前國内外都有很多流行的BI産品,比如國外有Tableau、Microsoft Power BI、QlikView,國内有永洪BI、帆軟BI、海緻BDP等等,這些都是在業界有着良好口碑的BI産品,而阿裡雲的QuickBI在資料分析和資料可視化領域同樣也是一款很好的BI産品。

QuickBI

搞懂QuickBI的OLAP引擎技術原理,人人都是資料分析師BI産品介紹QuickBI客戶真實使用場景OLAP引擎的流程分解未來探索方向

上圖是QuickBI産品的首頁,可以看到首頁中有關于QuickBI産品的介紹,比如産品特性、基本使用流程、不同版本之間的功能特性以及使用QuickBI的實戰場景和垂直的應用場景等等。除此以外還提供了幫助文檔和視訊使用教程來幫助使用者快速學習使用QuickBI産品。

QuickBI的定位

BI随着時代的發展逐漸出現了新型BI和傳統型BI的劃分,從目前的發展程度來看,傳統型BI正在慢慢地衰退,新型BI正處于高速發展的時期。由于傳統型BI存在一些問題,這些問題也成為了它發展的瓶頸:

  • 傳統型BI百分之九十以上的工作都需要專業的IT人員來完成,包括建立底層資料倉庫、資料模型以及開發資料報表等,整個流程過于繁瑣複雜,成本較高。
  • 傳統型BI專注于傳統資料庫的分析,不具備海量資料分析的能力。
  • 傳統型BI在資料可視化方面偏弱,業務人員在做資料分析檢視的時候無法針對資料結果進行二次處理,進而導緻可視化方面提供的服務偏少。

相比較而言,新型BI有效的解決了上述問題,QuickBI的定位是通過提供海量資料即席分析、電子報表制作及拖拽式的可視化分析能力,讓懂業務的人自助實作資料分析,重塑資料生産的全鍊路,最終實作人人都是資料分析師。可以從以下幾點具體分析這句話的涵義:

  • 第一,産品提供了豐富的數頻接入,既包括了傳統的關系型資料庫也包括了各種大資料計算引擎服務,并為海量的資料分析提供了加速引擎,可以向使用者提供秒級的查詢速度。
  • 第二,提供了強大的資料可視化分析能力,比如可以制作類Excel電子表格,在電子表格裡提供了大約三百多種常用函數,除此還提供了多種可視化儀表闆,能滿足使用者的各種可視化需求。
  • 第三,新型的BI強調的是業務主導和智能自助,IT人員隻需要做底層資料準備工作,其餘工作全部由業務人員自助完成。

QuickBI使用流程

搞懂QuickBI的OLAP引擎技術原理,人人都是資料分析師BI産品介紹QuickBI客戶真實使用場景OLAP引擎的流程分解未來探索方向

使用QuickBI進行資料分析大緻分為四步:

  1. 添加資料源: BI支援多種資料源接入,主要有三種,分别是雲資料源、使用者自建的資料庫以及使用者本地檔案通過touch空間上傳到平台中後提供資料分析服務。
  2. 建立資料集:與資料源建立連接配接以後可以對表格進行加工,将對表的加工過程固化儲存下來避免重複操作。
  3. 報表制作:整個報表制作分為兩個子產品,分别是類Excel編輯表格與具有分布可視化圖表的儀表闆,不論是電子表格還是儀表闆都可以提供強大的資料分析服務。
  4. 報表應用:在完成電子表格或儀表闆後就可以把這些電子表格或儀表闆建構成資料門戶,在資料門戶中可以無縫內建使用者想要展示的報表,所有的報表也可以用于第三方的嵌入內建,與使用者自身的平台無縫內建,除此之外還提供了多種報表功能。

QuickBI功能示例

搞懂QuickBI的OLAP引擎技術原理,人人都是資料分析師BI産品介紹QuickBI客戶真實使用場景OLAP引擎的流程分解未來探索方向

上圖是QuickBI提供的類電子表格,整個電子表格提供的表格分析能力和Excel比較類似,提供了三百多種常用函數,這些函數保持了與Excel幾乎相同的使用方式,進而使熟練Excel的人員把經驗無縫銜接過來,友善使用者的使用。

搞懂QuickBI的OLAP引擎技術原理,人人都是資料分析師BI産品介紹QuickBI客戶真實使用場景OLAP引擎的流程分解未來探索方向

此圖為儀表闆的截圖,可以看到有20餘種資料圖表類型,在整個儀表闆中可以做許多強大的資料分析的圖,提供比較豐富的可視化圖表,并且圖表之間可以實作圖表的關聯、圖表的跳轉以及圖表賺取分析等。

QuickBI客戶真實使用場景

秦絲科技

秦絲科技在業務營運中比較關注使用者的留存率和活躍率等名額,對接QuickBI之後,由技術人員完成底層資料的采集、加工和清洗處理,并将資料導出到資料分析庫,接下來由業務人員自助完成報表的開發工作,滿足了定制化報表與臨時分析兩種不同的場景。

青桔科技-貨車兄弟

與秦絲科技類似,但是不同的是青桔科技需要将制作的報表與公司自身的管理系統進行內建,解決了員工使用不同系統工作的問題。QuickBI則提供第三平台嵌入內建的功能,比較好的解決了青桔科技的需求。

OLAP引擎的流程分解

搞懂QuickBI的OLAP引擎技術原理,人人都是資料分析師BI産品介紹QuickBI客戶真實使用場景OLAP引擎的流程分解未來探索方向

一個完整的資料模組化和資料分析過程可以分成四大塊,首先需要探取資料源的中繼資料,利用中繼資料進行資料模組化,生成符合規則的資料集,其次需要利用資料集結合可視化圖表進行資料分析的工作,建立出查詢模型。然後将查詢模型進行解析,生成可以比對目前的資料源的sql語句後,發送到資料源進行資料查詢,将查詢的結果處理完成後傳輸到報表上進行可視化展現。

OLAP引擎技術架構圖

搞懂QuickBI的OLAP引擎技術原理,人人都是資料分析師BI産品介紹QuickBI客戶真實使用場景OLAP引擎的流程分解未來探索方向

整個技術架構圖可以分為幾大塊:首先是基礎模型,主要包括中繼資料模型、資料集模型以及查詢模型。中繼資料模型是對元數基本的封裝,包含了各種中繼資料使用價值的屬性,如表/視圖、字段、主鍵/外鍵、索引、分區字段、函數和存儲過程,這些屬性可以協作使用者快速完成資料集模組化工作。

資料集模型是對資料源抽象描述的模型,将實體字段映射成抽象的次元,将實體表或視圖的映成關聯關系,并且可以使用分組、計算字段等進階功能實作複雜的條件表達式和計算表達式。而使用者在進行資料分析過程中可以屏蔽各種實體細節,進而簡化了使用者的使用成本。

查詢模型是對資料分析抽象描述的模型,它可以把最終的查詢條件抽象成為一個查詢模型。由于查詢模型是抽象的,基本無法被資料源識别,是以在進行資料查詢時會将查詢模型轉換為資料源可識别的查詢語句。查詢流程具體包括接口層、路由層和查詢引擎層,接口層提供了資料查詢表達式(DQX)與資料權限表達式(DAX)兩種表達式。路由層主要用于并發控制、路由政策以及資料的封裝和異常校驗等。

整個QuickBI提供了普通查詢引擎與加速引擎兩種,這兩種引擎功能比較類似,都是将查詢模型轉化為資料源可識别的查詢語句,并在運作中針對各種進階計算的規則對查詢結果進行進一步處理。它們最大的差別是底層執行架構存在差異,普通查詢可以通過自營的分布式執行架構與底層資料源進行對接,而加速查詢則引入了MPP計算架構,與大資料系統進行對接,依靠MPP架構本身的性能實作海量資料的內建響應。

OLAP引擎資料源

搞懂QuickBI的OLAP引擎技術原理,人人都是資料分析師BI産品介紹QuickBI客戶真實使用場景OLAP引擎的流程分解未來探索方向

資料源可以簡單分為幾類:包括SQL類資料源,可将其進一步劃分為關系資料庫與分析型資料庫,其次還有NoSQL類資料庫、大資料離線計算系統以及API類資料源,最後一種是檔案類資料源。

OLAP引擎資料模組化

搞懂QuickBI的OLAP引擎技術原理,人人都是資料分析師BI産品介紹QuickBI客戶真實使用場景OLAP引擎的流程分解未來探索方向

從上圖可以看到使用者資料庫提供了資料源的接入,通過MetadataCrawter抽取出使用者資料庫中的中繼資料,然後建構出需要的中繼資料模型,在中繼資料模型裡提供了幾種不同的屬性。通過CubeAutoBuilder将中繼資料模型自動轉化為資料集模型,資料集模型描述了整個資料集涉及到的次元、度量、層次、成員以及關聯模型。在資料模型中使用者除了可以使用中繼資料模型智能建構的資料集以外,還可以自行進行模組化操作。通過建構關聯模型可以實作單表模型、新型模型或者雪花模型。整個資料庫模型最後以xml格式進行存儲,可以通過CubeXmlGenerator把資料模型轉化為xml存儲格式,相反也可以通過CubeXmlGenerator把xml格式轉化為資料集。

OLAP引擎資料查詢和路由

搞懂QuickBI的OLAP引擎技術原理,人人都是資料分析師BI産品介紹QuickBI客戶真實使用場景OLAP引擎的流程分解未來探索方向

前面提到整個接入層包括DQX與DAX,資料查詢的第一個過程是接收DQX與DAX,并對這兩種表達式進行重組、整形和優化,最終整合成有一個統一的查詢模型。智能路由按照使用者級别分成多個隊列,每個隊列都有一定的數量限制,如果使用者的産品引擎達到上限,那麼就需要在隊列中進行等待,否則就可以把它放到RunningPool中。然後通過RoutingPolicy判斷一個産品到底屬于哪一個查詢引擎,這裡提供了兩種不同的查詢引擎,包括普通查詢引擎與極速查詢引擎,不同的查詢引擎走不同的計算架構,最終把計算的查詢結果轉換為RewRsult資料格式。

查詢模型進入查詢引擎後會對查詢模型進行轉化,把查詢模型轉化為抽象文法樹,然後再将文法樹轉化為試退為各種資料源的SQL語句,将SQL語句放入緩沖管理子產品進行判斷,如果執行結果存在于緩沖管理子產品,直接在緩沖管理子產品讀出結果。如果不存在,就将資料源的SQL語句轉化為查詢任務,再将查詢任務分到分布式架構裡面。分布式架構主要負責與底層資料源的對接,把相應的SQL語句放入資料源内執行并擷取查詢結果再返還給查詢引擎,進而生成一個查詢結果集,查詢結果集會進行資料轉換,最後會根據查詢結果集進行記憶體淨化處理。

加速引擎與查詢引擎大多類似,唯一的差別在于底層架構的執行,查詢引擎是QPI自主研發的一個分布執行架構,而加速引擎則引入了MPP引擎架構,通過MPP架構可以實作針對大資料的秒級查詢響應。

未來探索方向

未來的探索方向大緻可以分為四個方面:

  • 資料分析:擴充更多資料源,豐富更多的可視化圖表和布局模式,給使用者更好的體驗;其次要有監控預警功能、提升OLAP多元分析功能以及大資料處理能力和效率。
  • 資料管理:加強中繼資料的管理,同時提供資料輕量級ETL并實作資料線上線下的打通。
  • 內建融合:有兩種與使用者第三方平台的內建方式分别是報表的嵌入內建與OPEN API,通過這兩種方式可以實作QPI産品與使用者的自由的系統和平台達到無縫的內建融合。
  • 智能:在資料分析智能方面,結合資料挖掘和機器學習内置各種場景化的算法模型;在産品智能方面,結合自然語言、語音識别等技術提升産品易用性。

大家如果有任何需求與咨詢可以點選連結送出:

https://market.tianchi.aliyun.com/outsource/offer/publish.htm?type=PROJECT