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