現在的數字化經濟時代,企業(yè)經營方式在改變,當業(yè)務環(huán)境變化較大時,對指標平臺的構建和指標數據的實時性要求比較高,今天將從企業(yè)使用指標平臺的痛點出發(fā),分享基于StarRocks構建實時指標平臺的建設路徑,以及典型銀行的實踐案例。
01、企業(yè)經營方式的變化
當前互聯網人口紅利見頂,競爭加劇,成本不斷上漲,企業(yè)發(fā)展腳步也開始放緩。如何有效地制定企業(yè)的發(fā)展方針,確保企業(yè)繼續(xù)增長,是一個巨大挑戰(zhàn)。如果企業(yè)效率更高,應對市場變化的動作更快,就更容易脫穎而出。這種高效決策的前提條件是需要有強大的數據支撐。依靠數據做決策才可以幫助企業(yè)突破發(fā)展停滯的局面,形成企業(yè)的核心競爭力。因此,數字化對于企業(yè)來說是戰(zhàn)略級的能力。
過去的人口資本紅利,帶來的是一種愿望式、粗放式的決策方式。很多傳統(tǒng)企業(yè)的決策方式更多依賴于個人自身的經驗。比如“我認為市場會怎么樣?”“我認為受眾會喜歡什么樣的產品?”基于自身的主觀經驗對行業(yè)的理解做出的決策,大部分更像是一種賭博行為。因為人的思考或者人的決策不一定是準確的,一旦對市場的判斷失誤,很有可能把整個企業(yè)拖入泥潭。以前的企業(yè)運營和經營是分開的。執(zhí)行運營動作后,得到的數據再向上反饋存在很長的時間延遲,而且所有數據來源對上層人員來說是不透明的,不清楚數據的來源。在當前數字化時代,運營為企業(yè)經營決策提供數據支持,以數據作為企業(yè)決策的理論依據,可以實現決策的標準化,確保決策有跡可循。真正擺脫了“沒有決策,數字化是空洞的;脫離了數字化,決策是盲目的”。數字化輔助決策是大勢所趨。指標平臺通過數據驅動的方式支持企業(yè)在各個業(yè)務環(huán)節(jié)中的優(yōu)化和創(chuàng)新,可以幫助企業(yè)快速構建整個數據驅動運營和決策的能力,提升決策的科學性和效率,從而提升企業(yè)應對市場變化的響應速度。這是企業(yè)實現數字化運營的關鍵工具和基礎設施。
指標平臺的代際演進可以分為三個階段:
首先是以傳統(tǒng)的關系型數據庫為主,通過生成固定報表進行業(yè)務的靜態(tài)分析。隨著業(yè)務的擴展和數據量的增長,企業(yè)對指標的靈活性和數據規(guī)模提出了更高要求。傳統(tǒng)的關系型數據庫難以滿足業(yè)務需求,企業(yè)開始進入OLAP分析階段。隨著業(yè)務需求的變化,企業(yè)需要進行多維分析或預計算,這時會引入一些數據化產品。然而,隨著引入產品的增加,整個分析層架構會變得越來越復雜,數據存儲在多個產品中,很容易導致數據口徑不一致的問題,甚至形成數據孤島。上述問題引出了統(tǒng)一數據源的需求,以實現整個數據口徑的一致性,因此數據湖的概念應運而生。因此,第三個階段是智能化+數據湖倉階段,將智能數據湖倉作為指標平臺的數據基礎。大多數指標平臺實際上處于第二個階段。在這個階段,存在哪些痛點呢?
第一個問題是指標追溯困難。許多指標的計算,尤其是多層次或派生指標的計算,計算鏈路過長且復雜。一旦出現問題,很難確定出現問題的具體環(huán)節(jié),導致溯源成本極高。
第二個問題是指標口徑不一致。不同部門或團隊之間數據孤立,當數據存儲在多個產品中時,無法確定使用的是哪個產品的數據,最終導致數據口徑不一致。
第三個問題是用戶體驗差。如果底層數據基礎設施性能不佳,將直接影響上層指標計算和分析的速度,使使用體驗變慢。第四個問題是高運維成本。一個指標平臺可能需要維護多個數據產品,同時運維成本較高,且整個指標的開發(fā)周期長,建設成本也高。第五個問題是分析效率低下以及數據治理問題。了解了指標平臺的典型痛點,就能明白優(yōu)秀的指標平臺應具備哪些能力。我們認為好的指標平臺應該具備以下8個核心能力:
02、以底層數據能力為核心的指標平臺建設方案
優(yōu)秀的指標平臺離不開底層數據庫建設,鏡舟科技基于開源產品StarRocks的核心能力構建指標平臺解決方案,為上層數據消費、應用打好數據基礎。
首先,向量化、CBO優(yōu)化器、Pipeline、Runtime Filter等核心能力為用戶帶來了極致的查詢體驗。通過這些技術,用戶可以享受到自動化運行,無需承擔過多學習成本,直接開箱即用,將整個數據庫性能發(fā)揮到90%以上,而用戶幾乎感受不到這些背后的技術細節(jié)。
其次,StarRocks具有豐富的監(jiān)控指標,結合Grafana + Prometheus能夠快速構建可視化監(jiān)控平臺。在此基礎上,StarRocks企業(yè)版產品“鏡舟分析型數據庫”提供了可視化的運維管理平臺,使用者進行監(jiān)控管理和運維變得更加便捷。即使是新手員工,在經過短短一個小時的熟悉后,就能夠操作數據庫產品,進行界面化集群部署、節(jié)點的上下線、集群擴縮容、慢查詢分析等操作。
此外,Spill-Down技術可以提升大規(guī)模數據量復雜查詢的穩(wěn)定性,突破內存空間的限制。通過Spill-Down,系統(tǒng)能夠更有效地處理大量數據和復雜查詢,確保查詢的穩(wěn)定性和性能。另外,Multi-Warehouse功能可以實現多租戶的資源管理。在不同業(yè)務方使用指標平臺時,可能存在作業(yè)量大、并發(fā)度高的情況,這可能導致資源搶占現象,對底層數據庫的資源隔離提出更高要求。如果資源隔離效果不佳,可能會影響整個查詢的穩(wěn)定性。有些作業(yè)可能并不重要,卻占用了大量資源,而一些高優(yōu)先級的作業(yè)(比如領導駕駛艙等)卻無法獲得足夠的資源。
Multi-Warehouse功能能夠完美解決這類問題,有效管理多個租戶之間的資源分配,提高系統(tǒng)的資源利用效率。最后,存算分離和湖倉分析等技術能夠解決存儲和分析之間的問題,降低運維成本。通過存算分離,系統(tǒng)可以更好地管理存儲和計算資源,提高系統(tǒng)的靈活性和性能。湖倉分析則可以有效整合和分析數據湖中的數據,為企業(yè)提供更深入的數據洞察和決策支持,同時降低運維成本。
基于StarRocks構建指標平臺的建設方案分為4個環(huán)節(jié):
1. 需求分析階段和指標定義階段:
- 調研現有業(yè)務情況,明確指標平臺的目標和范圍。
2. 數據建模和數據準備:
- 在StarRocks中利用不同的數據類型構建相應的數據表。通過物化視圖收集、清洗數據,建立數據倉庫,為后續(xù)數據分析應用提供更好的數據支持。
3. 權限管理和數據分析:
- 對敏感數據進行權限管理,確保數據安全。進行數據分析和可視化,為用戶提供直觀的數據展示和分析結果。
4. 業(yè)務場景實時監(jiān)控和持續(xù)優(yōu)化:
- 實時監(jiān)控業(yè)務場景,及時發(fā)現問題并進行處理。對指標平臺進行持續(xù)優(yōu)化,根據用戶反饋不斷迭代更新,完善平臺功能。
這個建設方案將有助于構建一個基于StarRocks的高效指標平臺,為企業(yè)提供強大的數據分析和決策支持。
在這個指標平臺方案中,將StarRocks作為底層的存儲和計算引擎,構建了數據處理層,包括數據準備、數據模型建立,利用指標平臺的計算引擎進行指標開發(fā)工作,并最終進行指標管理,為上層業(yè)務應用層提供數據支持。該指標平臺方案的優(yōu)勢包括:1.實時業(yè)務感知和快速反應:能夠及時讓業(yè)務感知用戶行為,并快速做出反應。2.數據準確性和運維效率:數據準確度更高,架構簡潔,便于快速運維,降低整個數據使用成本。3.數據治理和一體化能力:方便進行數據治理,具有湖倉一體化能力,以StarRocks作為底層存儲和計算引擎,確保數據源統(tǒng)一,數據架構統(tǒng)一,為數據治理提供良好的數據環(huán)境。4.兼容性和低成本:StarRocks兼容MySQL語義,降低了使用門檻和業(yè)務遷移成本,快速實現數據底座搭建和指標平臺建設。
03、某股份制商業(yè)銀行指標平臺案例分享
鏡舟科技作為StarRocks的核心商業(yè)化團隊,基于StarRocks打造企業(yè)級產品鏡舟湖倉分析引擎,并在企業(yè)業(yè)務中落地實踐,取得成效。某股份制商業(yè)銀行自建的指標平臺為業(yè)務部門提供了指標管理和指標應用的能力,用戶可以在平臺上進行指標的錄入、發(fā)布、派生、分享、可視化應用以及深度分析等操作。
通過指標平臺的建設,該銀行收獲如下:降低數據開發(fā)和使用成本:
在指標平臺出現之前,指標的管理、研發(fā)和應用是分離的,這個平臺改變了數據研發(fā)人員的開發(fā)模式以及業(yè)務用戶使用數據的模式,大大降低了數據開發(fā)和使用的成本。提升數據應用效率:平臺讓管理、研發(fā)和應用整合在一起,讓原本分離的管研用轉向了管研用一體,提高了數據的應用效率。
有架構在應對業(yè)務增長和指標復雜度上存在瓶頸,需要進行底層架構的升級以提升性能、降低成本以及提高運維效率:1. Cube構建速度慢,性能消耗大,導致一些指標計算需要花費長達1小時的時間。2. 大量指標無法命中,導致下壓到Presto的并發(fā)壓力大,而Presto的并發(fā)性能和大規(guī)模數據查詢性能較差。3. 查詢數據時需要進行關聯操作,但Kylin的多維join支持不佳,性能不足,且需要額外的開發(fā)成本。4. 運維成本高,維護多種組件的難度較大。
鏡舟科技針對該銀行的需求痛點,設計了指標平臺的升級建設方案:
在指標平臺的應用場景中,可以針對指標進行分層。在物理層,數據工程師可以基于業(yè)務和數據建模的理解,對事實表、維度表以及對象構建整個物理層的ER關系,定義表之間的關系,為上層業(yè)務提供數據的基礎模型支持。在邏輯層面,指標平臺可以基于數據工程師定義的模型,將整個對象拉成一張寬表。例如,將客戶對象生成一張全行超寬表,簡化業(yè)務分析工作,對對象的維度目錄和指標目錄進行了簡化。業(yè)務人員無需理解底層復雜的ER關系,只需通過拖拽操作進行維度和指標的關聯。這樣,在邏輯層面上,指標平臺為用戶提供了極大的便利性,他們無需關注底層技術原理,只需關心業(yè)務邏輯。在應用層面,根據用戶定義的場景和查詢行為,構建指標物化的DWS層,以加速用戶查詢性能。未來可以根據用戶的查詢行為優(yōu)化整個DWS的物化邏輯。DataAPI可以提供毫秒級查詢,報表可以提供秒級查詢,自助分析可以提供幾十秒級的查詢。這樣的設計使得用戶可以根據不同需求選擇不同的查詢方式,從而提高查詢效率和用戶體驗。
在舊架構的升級過程中,該銀行通過鏡舟湖倉分析引擎替換了之前Kylin和Presto構建底層架構,新的架構變得更加簡潔、高效率。
在設計過程中,該銀行希望實現指標一處定義多處使用的目標。數據指標的一次定義包括指標口徑和指標應用,用戶可以基于指標場景或應用場景來使用指標平臺,通過物化調度實現指標平臺應用服務的 SLA 指標需求。整個設計分為三個場景:
- 第一個場景是業(yè)務方希望通過自助分析的結果制作更多高層關注的看板和卡片。通過自助分析的查詢進行物化,將物化結果放入鏡舟湖倉分析引擎的native表中。
- 第二個場景是當內部數據量增大時,聚合查詢無法滿足需求。此時可以通過鏡舟湖倉分析引擎的物化視圖進行進一步加速。
- 第三個場景針對高并發(fā)情況,可以將物化視圖和內表查詢結果緩存到更高并發(fā)的存儲和緩存中,以應對高并發(fā)請求。
通過鏡舟湖倉分析引擎的物化邏輯進行高效查詢,智能調度提升整個大數據平臺SQL查詢性能,降低資源使用成本。該銀行的收益可以分為以下幾點:
- 提供更多場景的指標支持,例如,AB測試平臺中需要的指標可以實時生成,提高實驗效果。實現流批一體化,降低研發(fā)成本和資源使用成本。為其他業(yè)務提供賦能,例如,通過Bitmap能力實現秒級UA和PV計算,在用戶行為分析中實現客群圈選并進一步關聯數據,為精準投放帶來更大價值,提升決策靈活性。
在上述的方案中,主要是用了哪幾個核心的功能?
第一個是物化視圖的能力:1. 定義原子指標并通過full join拼接,形成寬表。2. 可通過物化視圖對常用的A B指標進行裁剪,自定義刷新策略。3. 在合并原子指標時,鏡舟產品的性能相對于Kylin有較大提升。
第二個是湖倉分析的能力:1. 可快速實現跨引擎數據聯邦分析,避免大量開發(fā)成本。2. 統(tǒng)一技術架構和數據源,統(tǒng)一業(yè)務方數據使用方式和數據口徑。3. 降低運維成本、開發(fā)成本,避免遷移成本。