天天看點

Quick BI産品核心功能大圖(四)Quick引擎加速:十億資料亞秒級分析

随着數字化程序的深入,資料應用的價值被越來越多的企業所重視。基于資料進行決策分析是應用價值展現的重要場景,不同行業和體量的公司廣泛依賴BI産品制作報表、儀表闆和資料門戶,以此進行決策分析。

在利用BI産品進行資料分析過程中,資料處理“慢”會為業務帶來很多的困擾,可以想象一下:

  1. 給老闆看的報表加載展示非常慢,有的時候還會崩掉,本想做好向上彙報,但卻給老闆帶來了糟糕的體驗~
  2. 分析師或業務同學,做資料探索式分析,拖拽一個名額需要幾分鐘才能看到結果,嚴重影響工作效率,打斷分析思路~

“慢”雖然隻是一種難以精确定義的體感,但想要解決以上問題,就需要BI産品擁有很強的大資料處理架構和能力,可以橫向擴充支援不斷增長的資料量和計算任務。

Quick BI:阿裡雲飛天作業系統上的雲BI

Quick BI産品是在阿裡雲飛天作業系統上打造的雲BI軟體,支援SAAS模式和私有化部署,定位多場景、多端、多行業的消費式BI,本篇為大家詳細介紹産品核心Quick引擎。

Quick BI産品核心功能大圖(四)Quick引擎加速:十億資料亞秒級分析

Quick BI基于阿裡雲橫向可擴充的架構底座,不但擁有可視化分析、中國式報表、自助分析等傳統BI能力,同時擁有企業級安全底座、移動端和三方系統開放內建能力。

Quick BI建構了自己的計算核心Quick引擎,托管在阿裡雲上的SAAS服務實測資料十億級資料在0.5秒以内完成聚合分析,另外由于依托阿裡雲,計算資源支援橫向擴充,通過增加伺服器還可以提供更強大的資料分析計算能力。

Quick引擎:多模式BI計算引擎

Quick引擎作為Quick BI的計算底座,是一個多模式的BI計算引擎,支援資料庫直接連接配接、抽取加速、實時加速、查詢緩存、維值加速等多種計算模式,為不同使用者提供最适合自身場景的高效計算方案。

Quick BI産品核心功能大圖(四)Quick引擎加速:十億資料亞秒級分析

上圖為Quick引擎架構圖,從Quick BI産品使用鍊路上,分為資料源、資料集和資料作品三部分。資料源是底層的資料庫連接配接,資料集用于對資料源裡的表進行模組化(表關聯、字段類型模組化等),把一張或多張表變成一個上層資料作品(儀表闆、電子表格、即席分析)可用的資料對象。

Quick引擎架構在資料源和資料集之間,用來處理上層資料作品發送到資料集最終下放到資料源上的查詢,在技術實作上Quick引擎分為三條鍊路,資料庫直連、資料庫實時加速、資料庫抽取,在這三條鍊路進行了技術層抽象。

從使用者使用視角來看,我們提供如下5種計算模式:

(1)直連模式:計算負載直接跑在連接配接到BI産品的資料庫或數倉上,支援幾十種資料源,所有版本使用者都可使用,非常适用于底層計算資源滿足查詢負載的場景;

(2)抽取加速:把客戶資料庫或數倉的資料抽取到Quick引擎的高性能列式存儲引擎中,支援全量模式和增量模式,分析計算負載直接跑在Quick BI引擎中,充分利用Quick引擎性能的同時,減少客戶數倉的負擔,專業版客戶可用,非常适用于企業沒有獨立數倉或數倉負載過重的情況;

(3)實時加速:基于阿裡雲DLA(Data Lake Analysis)記憶體計算引擎,查詢時實時從客戶資料庫取資料,中間用DLA記憶體引擎加速計算,專業版客戶可用,目前支援阿裡雲Max Compute數倉,非常适合Max Compute數倉實時分析,更多資料庫支援開通中;

(4)查詢緩存:所有版本使用者可用,應用端報表、儀表闆在通路時臨時查詢結果被緩存下來,在配置的緩存有效時間内,接下來其他使用者相同的查詢直接取緩存結果,加快傳回速度同時避免重複計算的資源消耗,非常适合應用端是重複查詢較多的場景,比如可視化展示類;

(5)維值加速:所有版本使用者可用,基于直連模式和維表配置實作,通過配置維值加速使得高頻且耗時的次元字段查詢計算直接在資料庫維表上進行,而不是在原始的明細表上進行,比如即席分析和查詢控件的維值查詢,在這類場景下相比不進行維值加速可快速傳回結果且節省計算資源;

Quick引擎 - 使用指南

在正式開始介紹每種引擎具體用法時,先結合每種引擎特點給出一個場景使用指南,友善使用者在不同場景下選擇最合适的引擎。

Quick BI産品核心功能大圖(四)Quick引擎加速:十億資料亞秒級分析

Quick引擎通過資料集不同配置會采用不同計算模式,依據資料集不同情況,建議如下:

(1)資料集預設采用直連模式,如果查詢性能良好,則可不進行額外配置,如果無法滿足要求,則進行以下判斷

(2)資料集主要被用在儀表闆、報表中,偏固定資料展示類的,沒有被很多查詢控件控制

    1. 實效性要求不是非常高,很适合配緩存,基本可以解決問題了(可能80%以上可以解決)
    2. 實效性要求不是非常高,如果配了緩存還不行,比如某個資料集被做了很多報表,第一次緩存查詢就吃不消,MySQL類非OLAP資料庫建議用抽取加速,ADB類的OLAP資料庫,建議首先優化下資料模組化(比如是不是大表join大表),其次建議采用抽取加速分擔些負載
    3. 實效性要求很高,每次看,都想看最新資料,ODPS資料源可以用DLA實時加速

(3)資料集主要被用在即席分析、電子表格分析這類偏個性分析查詢中,或者有非常多查詢控件的儀表闆報表中,配緩存意義不是很大(有點作用),建議:

    1. 底層資料庫不是OLAP,比如MySQL,運作很慢,首先建議采用抽取加速,其次建議優化資料模組化
    2. 底層資料庫是OLAP,比如ADB,運作很慢,建議首先優化下資料模組化(比如是不是大表join大表),其次建議采用抽取加速分擔些負載
    3. 底層資料庫是ODPS,運作很慢,如果實效性要求高,建議DLA實時加速,實效性要求不高,建議抽取加速

(4)資料集次元字段被頻繁用于查詢控件或即席分析,推薦為該字段配置維值加速

Quick引擎 - 直連模式

直連模式是Quick引擎查詢的預設模式,所有的查詢會發送給底層資料庫或數倉執行,Quick BI直連模式支援幾十種雲和自建資料庫。

在資料集頁面點選“建立資料集”,選擇已配置的資料源,左側面闆會展示該資料源裡的所有表,拖入一張或多張表到面闆中,即可在資料預覽區域進行字段配置,配置完成後儲存資料集,方可進行後續分析。資料集儲存後,後續所建的分析查詢預設直連模式。

Quick BI産品核心功能大圖(四)Quick引擎加速:十億資料亞秒級分析

Quick引擎 - 抽取加速

當直連模式查詢過多或者資料量過大時,會導緻底層資料庫負載過重查詢變慢,上層儀表表展示和分析就會變慢,出現文章開頭所講的困擾,此時可以考慮Quick引擎的抽取加速。

抽取加速是專業版特有功能,目前覆寫MySQL、ADB for MySQL和MaxCompute三種資料源,支援全量抽取和增量抽取資料到Quick引擎的高性能列式存儲分析型資料庫中,抽取後的資料查詢直接在列式分析資料庫中完成而無需發到客戶資料庫上,提升資料查詢性能,同時減少客戶資料庫負載。

點選資料集菜單,選擇“加速配置”,在第一個 “Quick引擎”Tab點選開啟引擎,選擇抽取加速:

  • 加速時間可選“手動觸發”和“定時加速”,定時加速設定時間後定期觸發抽取任務
  • 智能聚合抽取支援“全表加速”、“預計算”、“全表計算+預計算”三種模式,其中全表加速抽取全表資料,預計算基于曆史查詢智能預計算查詢結果,節省抽取空間
  • 勾選按日期加速,可以選擇日期字段,每日根據日期字段增量抽取

配置完成後,點選儲存,抽取任務即會自動觸發,抽取完成後,之後的資料查詢将在抽取引擎資料庫中完成。

Quick BI産品核心功能大圖(四)Quick引擎加速:十億資料亞秒級分析

Quick引擎抽取加速性能測試,10億資料sum、count、avg和median等聚合均在0.5秒内傳回,具備十億級資料亞秒級分析的能力,如下表為性能測試結果。

資料量 sum聚合 count聚合 avg聚合 median聚合
1億 0.043 s 0.044 s 0.040 s 0.061 s
10億 0.3 s 0.21 s 0.25 s 0.35 s

同時由于Quick BI是依托于阿裡雲飛天底座的産品架構,具備橫向擴充的能力,Quick引擎随着機器數量的增加資料處理能力會不斷增強,理論上具有無限擴充的能力。

Quick引擎 - 實時加速

當直連模式出現性能問題,同時對資料的實效性要求較高,天粒度更新無法滿足要求,而需要小時或分鐘粒度資料更新,由于抽取加速是天粒度資料更新而無法采用,此時可以考慮另一種選擇,采用實時加速來進行高實效資料的查詢加速。

與抽取加速一樣,實時加速也是專業版特有功能,目前支援MaxCompute資料源,基于阿裡雲DLA(Data Lake Analysis)記憶體計算引擎,查詢時把資料實時加載到DLA中進行計算,提升查詢性能,可以把離線型數倉MaxCompute通過實時加速變成線上分析型數倉。

在資料集加速配置頁面,開啟Quick引擎,切換到實時加速,儲存即可開啟資料集實時加速模式。

Quick BI産品核心功能大圖(四)Quick引擎加速:十億資料亞秒級分析

Quick引擎 - 查詢緩存

查詢緩存的原理是應用端報表、儀表闆在通路時臨時查詢結果被緩存下來,在配置的緩存有效時間内,接下來其他使用者相同的查詢直接取緩存結果,命中緩存的查詢可以立即傳回結果,沒有命中緩存的查詢會被發到底層資料庫進行查詢,查詢傳回後該查詢也會被緩存下來供接下來使用。

結果緩存是一種應用範圍很廣且非常有效的資料查詢加速方式,它适用于所有資料源,對不同版本使用者都可用,對一定時間記憶體在重複查詢的資料集都可以配置查詢緩存,特别是重複查詢較多的場景,比如儀表闆展示類,可以大幅提升查詢性能。

在加速配置頁面,開啟查詢結果緩存,可配置不同緩存時間,表示緩存生效的有效期,如果資料是非小時粒度實效性,建議選擇12小時。

Quick BI産品核心功能大圖(四)Quick引擎加速:十億資料亞秒級分析

Quick引擎 - 維值加速

在直連查詢中,關于次元值的查詢是比較耗時的,比如商品名稱、客戶名稱、城市名稱等,因為這類查詢在直連模式下需要去底層資料庫做去重聚合操作,要掃描全表資料,是以比較耗時。而在某些場景下,這類查詢操作可能會非常頻繁的出現,比如即席分析的次元值分析和查詢控件的次元值查詢,在這類場景下可以通過配置維值加速提升查詢性能。

在加速配置頁面,開啟維值加速,該資料集是一張訂單明細表,在前端儀表闆頁面經常需要基于客戶名稱和産品名稱查詢成交情況,是以把這兩個字段配置維值加速,分别對應上底層資料庫兩張使用者和商品維表的字段,之後次元值的查詢将直接從這兩張維表中取,而無需去明細表做聚合,進而提升查詢速度。

Quick BI産品核心功能大圖(四)Quick引擎加速:十億資料亞秒級分析

以上是關于Quick BI的計算核心Quick引擎的功能和使用場景的介紹,依托阿裡雲的計算底座,Quick引擎實作了十億級資料亞秒級分析的能力,讓上層分析可視化應用在大資料時代真正飛起來。

關聯閱讀:

Quick BI産品核心功能大圖(一)可視分析:資料價值的直覺展現 Quick BI産品核心功能大圖(二)即席分析:營運也用的起來的資料分析工具 Quick BI産品核心功能大圖(三)電子表格: 新手亦可表格自由

想了解更多Quick BI資訊,請點選阿裡雲産品連結:

https://www.aliyun.com/product/bigdata/bi

資料中台是企業數智化的必經之路,阿裡巴巴認為資料中台是集方法論、工具、組織于一體的,“快”、“準”、“全”、“統”、“通”的智能大資料體系。

目前正通過阿裡雲對外輸出系列解決方案,包括

通用資料中台解決方案

零售資料中台解決方案 金融資料中台解決方案 網際網路資料中台解決方案 政務資料中台解決方案

等細分場景。

其中阿裡雲資料中台産品矩陣是以Dataphin為基座,以Quick系列為業務場景化切入,包括:

官方站點:

資料中台官網

https://dp.alibaba.com

釘釘溝通群和微信公衆号

Quick BI産品核心功能大圖(四)Quick引擎加速:十億資料亞秒級分析