Quick BI产品核心功能大图(四):Quick引擎加速--十亿数据亚秒级分析
簡介:?隨著數(shù)字化進(jìn)程的深入,數(shù)據(jù)應(yīng)用的價(jià)值被越來越多的企業(yè)所重視?;跀?shù)據(jù)進(jìn)行決策分析是應(yīng)用價(jià)值體現(xiàn)的重要場景,不同行業(yè)和體量的公司廣泛依賴BI產(chǎn)品制作報(bào)表、儀表板和數(shù)據(jù)門戶,以此進(jìn)行決策分析。
在利用BI產(chǎn)品進(jìn)行數(shù)據(jù)分析過程中,數(shù)據(jù)處理“慢”會為業(yè)務(wù)帶來很多的困擾,可以想象一下:
“慢”雖然只是一種難以精確定義的體感,但想要解決以上問題,就需要BI產(chǎn)品擁有很強(qiáng)的大數(shù)據(jù)處理架構(gòu)和能力,可以橫向擴(kuò)展支持不斷增長的數(shù)據(jù)量和計(jì)算任務(wù)。
Quick BI:阿里云飛天操作系統(tǒng)上的云BI
Quick BI產(chǎn)品是在阿里云飛天操作系統(tǒng)上打造的云BI軟件,支持SAAS模式和私有化部署,定位多場景、多端、多行業(yè)的消費(fèi)式BI,本篇為大家詳細(xì)介紹產(chǎn)品內(nèi)核Quick引擎。
Quick BI基于阿里云橫向可擴(kuò)展的架構(gòu)底座,不但擁有可視化分析、中國式報(bào)表、自助分析等傳統(tǒng)BI能力,同時擁有企業(yè)級安全底座、移動端和三方系統(tǒng)開放集成能力。
Quick BI構(gòu)建了自己的計(jì)算內(nèi)核Quick引擎,托管在阿里云上的SAAS服務(wù)實(shí)測數(shù)據(jù)十億級數(shù)據(jù)在0.5秒以內(nèi)完成聚合分析,另外由于依托阿里云,計(jì)算資源支持橫向擴(kuò)展,通過增加服務(wù)器還可以提供更強(qiáng)大的數(shù)據(jù)分析計(jì)算能力。
Quick引擎:多模式BI計(jì)算引擎
Quick引擎作為Quick BI的計(jì)算底座,是一個多模式的BI計(jì)算引擎,支持?jǐn)?shù)據(jù)庫直接連接、抽取加速、實(shí)時加速、查詢緩存、維值加速等多種計(jì)算模式,為不同用戶提供最適合自身場景的高效計(jì)算方案。
上圖為Quick引擎架構(gòu)圖,從Quick BI產(chǎn)品使用鏈路上,分為數(shù)據(jù)源、數(shù)據(jù)集和數(shù)據(jù)作品三部分。數(shù)據(jù)源是底層的數(shù)據(jù)庫連接,數(shù)據(jù)集用于對數(shù)據(jù)源里的表進(jìn)行建模(表關(guān)聯(lián)、字段類型建模等),把一張或多張表變成一個上層數(shù)據(jù)作品(儀表板、電子表格、即席分析)可用的數(shù)據(jù)對象。
Quick引擎架構(gòu)在數(shù)據(jù)源和數(shù)據(jù)集之間,用來處理上層數(shù)據(jù)作品發(fā)送到數(shù)據(jù)集最終下放到數(shù)據(jù)源上的查詢,在技術(shù)實(shí)現(xiàn)上Quick引擎分為三條鏈路,數(shù)據(jù)庫直連、數(shù)據(jù)庫實(shí)時加速、數(shù)據(jù)庫抽取,在這三條鏈路進(jìn)行了技術(shù)層抽象。
從用戶使用視角來看,我們提供如下5種計(jì)算模式:
(1)直連模式:計(jì)算負(fù)載直接跑在連接到BI產(chǎn)品的數(shù)據(jù)庫或數(shù)倉上,支持幾十種數(shù)據(jù)源,所有版本用戶都可使用,非常適用于底層計(jì)算資源滿足查詢負(fù)載的場景;
(2)抽取加速:把客戶數(shù)據(jù)庫或數(shù)倉的數(shù)據(jù)抽取到Quick引擎的高性能列式存儲引擎中,支持全量模式和增量模式,分析計(jì)算負(fù)載直接跑在Quick BI引擎中,充分利用Quick引擎性能的同時,減少客戶數(shù)倉的負(fù)擔(dān),專業(yè)版客戶可用,非常適用于企業(yè)沒有獨(dú)立數(shù)倉或數(shù)倉負(fù)載過重的情況;
(3)實(shí)時加速:基于阿里云DLA(Data Lake Analysis)內(nèi)存計(jì)算引擎,查詢時實(shí)時從客戶數(shù)據(jù)庫取數(shù)據(jù),中間用DLA內(nèi)存引擎加速計(jì)算,專業(yè)版客戶可用,目前支持阿里云Max Compute數(shù)倉,非常適合Max Compute數(shù)倉實(shí)時分析,更多數(shù)據(jù)庫支持開通中;
(4)查詢緩存:所有版本用戶可用,應(yīng)用端報(bào)表、儀表板在訪問時臨時查詢結(jié)果被緩存下來,在配置的緩存有效時間內(nèi),接下來其他用戶相同的查詢直接取緩存結(jié)果,加快返回速度同時避免重復(fù)計(jì)算的資源消耗,非常適合應(yīng)用端是重復(fù)查詢較多的場景,比如可視化展示類;
(5)維值加速:所有版本用戶可用,基于直連模式和維表配置實(shí)現(xiàn),通過配置維值加速使得高頻且耗時的維度字段查詢計(jì)算直接在數(shù)據(jù)庫維表上進(jìn)行,而不是在原始的明細(xì)表上進(jìn)行,比如即席分析和查詢控件的維值查詢,在這類場景下相比不進(jìn)行維值加速可快速返回結(jié)果且節(jié)省計(jì)算資源;
Quick引擎 - 使用指南
在正式開始介紹每種引擎具體用法時,先結(jié)合每種引擎特點(diǎn)給出一個場景使用指南,方便用戶在不同場景下選擇最合適的引擎。
Quick引擎通過數(shù)據(jù)集不同配置會采用不同計(jì)算模式,依據(jù)數(shù)據(jù)集不同情況,建議如下:
(1)數(shù)據(jù)集默認(rèn)采用直連模式,如果查詢性能良好,則可不進(jìn)行額外配置,如果無法滿足要求,則進(jìn)行以下判斷
(2)數(shù)據(jù)集主要被用在儀表板、報(bào)表中,偏固定數(shù)據(jù)展示類的,沒有被很多查詢控件控制
(3)數(shù)據(jù)集主要被用在即席分析、電子表格分析這類偏個性分析查詢中,或者有非常多查詢控件的儀表板報(bào)表中,配緩存意義不是很大(有點(diǎn)作用),建議:
(4)數(shù)據(jù)集維度字段被頻繁用于查詢控件或即席分析,推薦為該字段配置維值加速
Quick引擎 - 直連模式
直連模式是Quick引擎查詢的默認(rèn)模式,所有的查詢會發(fā)送給底層數(shù)據(jù)庫或數(shù)倉執(zhí)行,Quick BI直連模式支持幾十種云和自建數(shù)據(jù)庫。
在數(shù)據(jù)集頁面點(diǎn)擊“新建數(shù)據(jù)集”,選擇已配置的數(shù)據(jù)源,左側(cè)面板會展示該數(shù)據(jù)源里的所有表,拖入一張或多張表到面板中,即可在數(shù)據(jù)預(yù)覽區(qū)域進(jìn)行字段配置,配置完成后保存數(shù)據(jù)集,方可進(jìn)行后續(xù)分析。數(shù)據(jù)集保存后,后續(xù)所建的分析查詢默認(rèn)直連模式。
Quick引擎 - 抽取加速
當(dāng)直連模式查詢過多或者數(shù)據(jù)量過大時,會導(dǎo)致底層數(shù)據(jù)庫負(fù)載過重查詢變慢,上層儀表表展示和分析就會變慢,出現(xiàn)文章開頭所講的困擾,此時可以考慮Quick引擎的抽取加速。
抽取加速是專業(yè)版特有功能,目前覆蓋MySQL、ADB for MySQL和MaxCompute三種數(shù)據(jù)源,支持全量抽取和增量抽取數(shù)據(jù)到Quick引擎的高性能列式存儲分析型數(shù)據(jù)庫中,抽取后的數(shù)據(jù)查詢直接在列式分析數(shù)據(jù)庫中完成而無需發(fā)到客戶數(shù)據(jù)庫上,提升數(shù)據(jù)查詢性能,同時減少客戶數(shù)據(jù)庫負(fù)載。
點(diǎn)擊數(shù)據(jù)集菜單,選擇“加速配置”,在第一個 “Quick引擎”Tab點(diǎn)擊開啟引擎,選擇抽取加速:
- 加速時間可選“手動觸發(fā)”和“定時加速”,定時加速設(shè)置時間后定期觸發(fā)抽取任務(wù)
- 智能聚合抽取支持“全表加速”、“預(yù)計(jì)算”、“全表計(jì)算+預(yù)計(jì)算”三種模式,其中全表加速抽取全表數(shù)據(jù),預(yù)計(jì)算基于歷史查詢智能預(yù)計(jì)算查詢結(jié)果,節(jié)省抽取空間
- 勾選按日期加速,可以選擇日期字段,每日根據(jù)日期字段增量抽取
配置完成后,點(diǎn)擊保存,抽取任務(wù)即會自動觸發(fā),抽取完成后,之后的數(shù)據(jù)查詢將在抽取引擎數(shù)據(jù)庫中完成。
Quick引擎抽取加速性能測試,10億數(shù)據(jù)sum、count、avg和median等聚合均在0.5秒內(nèi)返回,具備十億級數(shù)據(jù)亞秒級分析的能力,如下表為性能測試結(jié)果。
| 數(shù)據(jù)量 | 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是依托于阿里云飛天底座的產(chǎn)品架構(gòu),具備橫向擴(kuò)展的能力,Quick引擎隨著機(jī)器數(shù)量的增加數(shù)據(jù)處理能力會不斷增強(qiáng),理論上具有無限擴(kuò)展的能力。
Quick引擎 - 實(shí)時加速
當(dāng)直連模式出現(xiàn)性能問題,同時對數(shù)據(jù)的實(shí)效性要求較高,天粒度更新無法滿足要求,而需要小時或分鐘粒度數(shù)據(jù)更新,由于抽取加速是天粒度數(shù)據(jù)更新而無法采用,此時可以考慮另一種選擇,采用實(shí)時加速來進(jìn)行高實(shí)效數(shù)據(jù)的查詢加速。
與抽取加速一樣,實(shí)時加速也是專業(yè)版特有功能,目前支持MaxCompute數(shù)據(jù)源,基于阿里云DLA(Data Lake Analysis)內(nèi)存計(jì)算引擎,查詢時把數(shù)據(jù)實(shí)時加載到DLA中進(jìn)行計(jì)算,提升查詢性能,可以把離線型數(shù)倉MaxCompute通過實(shí)時加速變成在線分析型數(shù)倉。
在數(shù)據(jù)集加速配置頁面,開啟Quick引擎,切換到實(shí)時加速,保存即可開啟數(shù)據(jù)集實(shí)時加速模式。
Quick引擎 - 查詢緩存
查詢緩存的原理是應(yīng)用端報(bào)表、儀表板在訪問時臨時查詢結(jié)果被緩存下來,在配置的緩存有效時間內(nèi),接下來其他用戶相同的查詢直接取緩存結(jié)果,命中緩存的查詢可以立即返回結(jié)果,沒有命中緩存的查詢會被發(fā)到底層數(shù)據(jù)庫進(jìn)行查詢,查詢返回后該查詢也會被緩存下來供接下來使用。
結(jié)果緩存是一種應(yīng)用范圍很廣且非常有效的數(shù)據(jù)查詢加速方式,它適用于所有數(shù)據(jù)源,對不同版本用戶都可用,對一定時間內(nèi)存在重復(fù)查詢的數(shù)據(jù)集都可以配置查詢緩存,特別是重復(fù)查詢較多的場景,比如儀表板展示類,可以大幅提升查詢性能。
在加速配置頁面,開啟查詢結(jié)果緩存,可配置不同緩存時間,表示緩存生效的有效期,如果數(shù)據(jù)是非小時粒度實(shí)效性,建議選擇12小時。
Quick引擎 - 維值加速
在直連查詢中,關(guān)于維度值的查詢是比較耗時的,比如商品名稱、客戶名稱、城市名稱等,因?yàn)檫@類查詢在直連模式下需要去底層數(shù)據(jù)庫做去重聚合操作,要掃描全表數(shù)據(jù),所以比較耗時。而在某些場景下,這類查詢操作可能會非常頻繁的出現(xiàn),比如即席分析的維度值分析和查詢控件的維度值查詢,在這類場景下可以通過配置維值加速提升查詢性能。
在加速配置頁面,開啟維值加速,該數(shù)據(jù)集是一張訂單明細(xì)表,在前端儀表板頁面經(jīng)常需要基于客戶名稱和產(chǎn)品名稱查詢成交情況,因此把這兩個字段配置維值加速,分別對應(yīng)上底層數(shù)據(jù)庫兩張用戶和商品維表的字段,之后維度值的查詢將直接從這兩張維表中取,而無需去明細(xì)表做聚合,從而提升查詢速度。
以上是關(guān)于Quick BI的計(jì)算內(nèi)核Quick引擎的功能和使用場景的介紹,依托阿里云的計(jì)算底座,Quick引擎實(shí)現(xiàn)了十億級數(shù)據(jù)亞秒級分析的能力,讓上層分析可視化應(yīng)用在大數(shù)據(jù)時代真正飛起來。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?
總結(jié)
以上是生活随笔為你收集整理的Quick BI产品核心功能大图(四):Quick引擎加速--十亿数据亚秒级分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云李克:边缘云技术发展与实践
- 下一篇: 如何快速搭建云原生企业级数据湖架构及实践