十億級數據,如何實現秒級響應?

從Excel、報表系統到傳統BI,企業數據分析工具進化的同時,背後需要支持的數據承載量也在以更快的速度一路攀升。

 

(各數據分析工具適合承載的數據量)

 

以一家連鎖零售企業爲例,如果門店有2000家,在售SKU有5000個,一天單店單品庫存數據量就達到了1000萬,一週就可能破億。

 

爲了能讓性能跟上企業數據發展的速度,確保用戶在億級、十億級數據集的基礎上還能做絲滑的拖拽式數據分析和動態查詢,同時又不會給IT人員帶來額外的數據管理與運維壓力。觀遠數據在2019開始研究基於海量數據計算查詢的加速組件,並於2020年3月正式推出“極速分析引擎”黑科技功能,真正做到十億級數據秒級響應。

 

 

“極速分析引擎”是嵌入在觀遠一站式智能數據分析平臺中的一套計算查詢加速組件,在集羣模式下最快支持十億級以上數據秒級響應速度。適用於零售行業大數據量、大寬表、高併發的數據分析情況,比如海量庫存數據聚合分析與查詢、訂單分析、商品分析等場景。可以滿足業務人員持續的探索式自助分析、即席查詢、動態分析的需求,保持連貫的分析思路,打造沉浸式分析體驗,深挖數據價值,高效洞悉業務。

 

“極速分析引擎”到底有多快?我們在實驗室環境下做了一個性能測試。測試的機器爲16核128G內存的單節點,未做加速組件的獨立部署(實際上加速組件可單獨部署,加速效果更明顯)。

 

Demo1:極速查詢演示

觀遠數據急速引擎

 

以上案例中,我們模擬了某零售客戶基於訂單商品明細數據的任意時間區段銷量、銷售額、成本的聚合分析。

 

可以看到,左右兩張表都是基於同一張1億行的訂單明細表進行聚合分析。區別在於左邊的表是使用的是Guan-Index數據集,是利用Spark計算引擎來進行計算的。而右邊的表則是使用“高性能查詢表”,利用“極速分析引擎”來做加速查詢的。不難發現,在切換日期區間時,右側表格基本上能夠在2~3秒內返回計算結果,而左側表格則需要10秒才能返回,整體的性能提升達到3~5倍,真正做到億級數據秒級響應。

 

Demo2:一億行數據自由拖拽式分析

觀遠數據急速引擎演示

 

還是基於以上數據,我們再做一下自由拖拽式的數據分析進行測試。從Demo中可以看到,基於1億行訂單明細數據的自由拖拽分析,也可以做到秒級響應,絲滑體驗。

 

如此強大的功能要怎麼使用?

 

當用戶導入千萬級以上Guan-Index數據集,或者通過Smart ETL生成同等體量的數據集後,想要使用“極速分析引擎”來進行查詢加速時,我們可以大致分三步進行操作。

 

1、配置數據集

 

我們可以進入到數據集詳情頁“高級選項”欄,將數據集配置爲“高性能查詢表”。

 

2、設置分區字段

 

用戶需要設置分區字段——分區是爲了數據在存儲時能合理地分片,以減少數據查詢時的數據掃描。一般建議使用日期字段來做分區,分區方式建議設置爲“月”或者“日”。使用日期字段做分區,可以有效地控制分區數量,不至於把分區做得過粗或者過細。如果沒有日期字段,也可以謹慎選擇其他字段進行分析,這時需要控制好分區字段的枚舉數量,一定不要選擇類似訂單ID之類的流水號,或者數值類字段作爲分區字段。

 

 

3、確認執行

 

配置完分區字段後,點擊“確認”即可以開始模式切換。數據集數據量大的時候,數據導入需要花費一定的時間,請耐心等候。內部測試,3億行*26列的數據集導入花費12min左右。數據集更新也會觸發數據重新導入,因此一般建議高性能查詢表更新頻率不超過一天一次。

 

以下就是一個配置了“高性能查詢表”的ETL輸出數據集,我們看到表面看起來它似乎與一般的ETL輸出數據集並無二異。但我們在使用它創建卡片時,卻是利用“極速查詢引擎”來查詢數據,能夠提供飛一般的體驗。

 

 

“極速分析引擎”適用於哪些場景?

 

目前,“高性能查詢表”適用於數據量大於等於1000萬行以上的數據集,可大大加速卡片端數據查詢的效率。並且特別適合海量數據下的OLAP查詢,適合在大寬表上做任意維度的數據聚合、切片(篩選),也可以做明細數據的查詢。這些查詢相比直接使用Spark作爲計算引擎,一般都能提供3~5倍的性能提升,如果硬件資源寬裕,將加速組件獨立部署,將能獲得更爲優越的極速體驗。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章