指標(biāo)中臺(tái)核心能力建設(shè)實(shí)踐
一、現(xiàn)代數(shù)據(jù)分析的趨勢(shì)及現(xiàn)狀
首先和大家分享下數(shù)據(jù)分析的趨勢(shì)及現(xiàn)狀。
1、數(shù)據(jù)分析及商業(yè)智能發(fā)展史
這里的商業(yè)智能指的是更廣泛意義上的商業(yè)智能,不僅是大家所理解的可視化,也包含數(shù)據(jù)洞察和輔助決策。
商業(yè)智能(BI)這一概念始于1958年。在上世紀(jì)70年代到90年代間,BI經(jīng)歷了1.0和2.0階段的發(fā)展。在2000年前后,形成了完整的理論及工具體系,出現(xiàn)了統(tǒng)一和寡頭式的發(fā)展。到2010年以后,隨著QlikView和Tableau的興起,數(shù)據(jù)分析出現(xiàn)了巨大的變革,首先是由IT端逐漸轉(zhuǎn)向由業(yè)務(wù)端等終端去完成;另外,由周報(bào)、月報(bào)、季報(bào)等報(bào)表分析逐漸轉(zhuǎn)向歸因分析等精細(xì)化運(yùn)營(yíng)分析。在這個(gè)過(guò)程中,數(shù)據(jù)分析人員需要具備統(tǒng)計(jì)、業(yè)務(wù)、數(shù)據(jù)等跨領(lǐng)域的知識(shí)儲(chǔ)備,這樣才能夠迅速地根據(jù)數(shù)據(jù)分析結(jié)果解決業(yè)務(wù)問(wèn)題,并推動(dòng)數(shù)據(jù)為業(yè)務(wù)賦能。
2、數(shù)據(jù)分析主要趨勢(shì)
數(shù)據(jù)分析的未來(lái),從數(shù)據(jù)需求層面和整體趨勢(shì)層面分別有以下主要趨勢(shì):
(1)數(shù)據(jù)需求層面
①精確性
現(xiàn)有的數(shù)據(jù)分析不管是使用Tableau還是PowerBI等分析工具,都是通過(guò)數(shù)倉(cāng)中的數(shù)據(jù)去創(chuàng)建分析模型,通過(guò)分析模型去處理數(shù)據(jù)分析,最終數(shù)據(jù)計(jì)算和指標(biāo)定義是在這些分析工具中完成的。
由于企業(yè)中存在不同的業(yè)務(wù)體系及數(shù)據(jù)團(tuán)隊(duì),當(dāng)同時(shí)存在多個(gè)數(shù)據(jù)分析工具時(shí),數(shù)據(jù)的可信度就會(huì)存在差異。比如銷售量、銷售額和利潤(rùn)率等指標(biāo)在財(cái)務(wù)報(bào)表和銷售分析中就可能出現(xiàn)不一致的情況,此時(shí)數(shù)據(jù)分析的結(jié)果是存疑的,精確性需要提高。
②敏捷性
隨著業(yè)務(wù)的靈活發(fā)展,一些原有的經(jīng)營(yíng)指標(biāo),其生命周期由3-5年變得越來(lái)越短。特別是隨著新的業(yè)務(wù)渠道和模式的出現(xiàn),會(huì)引起一些原有的指標(biāo)統(tǒng)計(jì)口徑發(fā)生變更,分析維度會(huì)隨著變更,原來(lái)的常規(guī)報(bào)表分析可能只需要5到10個(gè)維度,現(xiàn)在的報(bào)表可能需要10到100個(gè)維度去快速使用。
③實(shí)時(shí)性
目前的報(bào)表分析實(shí)效要求已經(jīng)是天級(jí),用T+1的數(shù)據(jù)生成報(bào)表,之前會(huì)有周報(bào)、月報(bào)的級(jí)別。目前業(yè)務(wù)人員開(kāi)始提出T+0.X或者T+0的數(shù)據(jù)報(bào)表,以實(shí)現(xiàn)更好更及時(shí)的接觸業(yè)務(wù)情況,促進(jìn)業(yè)務(wù)發(fā)展。
敏捷性和實(shí)時(shí)性的結(jié)合將使得數(shù)據(jù)體系的復(fù)雜性越來(lái)越高,使得數(shù)據(jù)表越來(lái)越多。不同的業(yè)務(wù)場(chǎng)景會(huì)用到不同的數(shù)據(jù)中間件,一些金融性企業(yè)在Hadoop平臺(tái)上甚至?xí)玫?0個(gè)以上的中間件。 這種情況下,下游人員和應(yīng)用將很難使用這些工具和數(shù)據(jù)。
(2)整體趨勢(shì)層面
①全民數(shù)據(jù)分析
在ChatGPT等人工智能工具出現(xiàn)之后,全民數(shù)據(jù)分析將從概念被推進(jìn)到落地,按Gartner預(yù)測(cè)在未來(lái)的2-5年所有人都將需要具備數(shù)據(jù)分析能力。
數(shù)據(jù)分析的整體邏輯將可能是通過(guò)對(duì)話的方式完成指標(biāo)和數(shù)據(jù)的查詢。數(shù)據(jù)分析人員將不僅僅是原有的數(shù)據(jù)分析師和IT人員,也將是一線業(yè)務(wù)人員,比如銷售人員和客服人員,都將能夠直接去完成數(shù)據(jù)分析。
②主動(dòng)數(shù)據(jù)驅(qū)動(dòng)
目前的數(shù)據(jù)驅(qū)動(dòng)方式是進(jìn)行數(shù)據(jù)展示,使用大屏、報(bào)表、數(shù)據(jù)面板等方式。一些數(shù)據(jù)分析能力較強(qiáng)的企業(yè)已經(jīng)開(kāi)始逐漸改變,由人找數(shù)變成數(shù)找人。
- 人找數(shù):當(dāng)業(yè)務(wù)人員有數(shù)據(jù)需求時(shí),去數(shù)據(jù)平臺(tái)上提申請(qǐng),去描述需要什么樣的指標(biāo),什么樣的維度以及什么樣的報(bào)表。
- 數(shù)找人:當(dāng)一個(gè)業(yè)務(wù)事件發(fā)生時(shí),主動(dòng)向業(yè)務(wù)人員去推送相應(yīng)的數(shù)據(jù)。比如每隔一個(gè)小時(shí)推送給銷售人員在該時(shí)段內(nèi)其關(guān)心的數(shù)據(jù)。
③AI增強(qiáng)分析
隨著人工智能工具的變革性發(fā)展,主流的數(shù)據(jù)分析方式將發(fā)生改變,從現(xiàn)有的托拉拽的方式,轉(zhuǎn)變?yōu)閱?wèn)答的方式。數(shù)據(jù)分析工具甚至能夠直接給出相應(yīng)的業(yè)務(wù)建議。滴普科技目前也在進(jìn)行一些相關(guān)產(chǎn)品的實(shí)驗(yàn)。
3、數(shù)據(jù)分析的現(xiàn)狀
(1)數(shù)據(jù)分析的問(wèn)題
從現(xiàn)狀來(lái)看,數(shù)據(jù)分析主要有三個(gè)問(wèn)題:
①找數(shù)難
目前數(shù)據(jù)量級(jí)越來(lái)越大,有可能達(dá)到PT級(jí)甚至是更大的數(shù)據(jù)量。數(shù)據(jù)結(jié)構(gòu)越來(lái)越復(fù)雜,涉及到幾千上萬(wàn)的表,分布在不同類型的數(shù)據(jù)倉(cāng)庫(kù),比如Hive、Clickhouse、Doris等。
如何去快速拿到數(shù)據(jù)?如何驗(yàn)證存疑的數(shù)據(jù)?在具體的分析過(guò)程中,即使做了很好的數(shù)據(jù)治理,快速的找到準(zhǔn)確的數(shù)據(jù)仍是非常困難的。對(duì)于一個(gè)成熟的企業(yè)來(lái)講,可能需要2個(gè)小時(shí)去找到正確的數(shù)據(jù)。
②價(jià)值低
一些企業(yè)在建整個(gè)數(shù)據(jù)倉(cāng)庫(kù)或者數(shù)據(jù)湖的過(guò)程中,大量數(shù)據(jù)已經(jīng)被存放到ODS數(shù)據(jù)貼源層。真正被使用到的數(shù)據(jù)卻不到10%,特別是一些半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),在國(guó)內(nèi)這種情況更加突出。
③準(zhǔn)確性低
因?yàn)槭褂玫臄?shù)據(jù)量相對(duì)較低,準(zhǔn)確性低的情況在國(guó)內(nèi)還不明顯。但是在國(guó)外已經(jīng)是主要問(wèn)題。前文已提到,同一個(gè)指標(biāo)在不同報(bào)表中就可能出現(xiàn)數(shù)據(jù)不一致的情況, 需要花費(fèi)大量的時(shí)間去驗(yàn)證數(shù)據(jù),導(dǎo)致數(shù)據(jù)分析的工作內(nèi)容變成了數(shù)據(jù)驗(yàn)證。
(2)人員的矛盾
基于上述問(wèn)題,數(shù)據(jù)分析師和業(yè)務(wù)人員在溝通中會(huì)出現(xiàn)一些矛盾:
①受理周期長(zhǎng)VS需求變化頻繁
業(yè)務(wù)人員:你不能需求提出后1-2周才處理;
數(shù)據(jù)分析師:你不能今天確定指標(biāo)內(nèi)容,下個(gè)月就發(fā)生變化;
②數(shù)據(jù)實(shí)效性低VS資源緊張
業(yè)務(wù)人員:我需要T+0或者T+0.X,不是T+3也不是T+1;
數(shù)據(jù)分析師:我資源有限無(wú)法承擔(dān)過(guò)量工作內(nèi)容;
③數(shù)據(jù)使用難VS直接用
業(yè)務(wù)人員:我需要可以直接使用的數(shù)據(jù),而不是直接使用的SQL腳本。
二、通過(guò)指標(biāo)實(shí)現(xiàn)敏捷高效數(shù)據(jù)分析
1、目前大數(shù)據(jù)平臺(tái)如何完成數(shù)據(jù)分析
(1)目前數(shù)據(jù)分析方式
接下來(lái)大概介紹下,在數(shù)據(jù)分析過(guò)程中如何完成各項(xiàng)處理。一個(gè)新的指標(biāo)定義的模式有兩種:
①直接定義
跳過(guò)數(shù)據(jù)倉(cāng)庫(kù)使用原始表或者使用清洗后的DWD層數(shù)據(jù)表(明細(xì)事實(shí)表)直接在BI完成指標(biāo)的定義。
②通過(guò)匯總表定義
在數(shù)據(jù)倉(cāng)庫(kù)上根據(jù)指標(biāo)需要的一些維度提前完成輕度匯總,然后根據(jù)匯總表在BI進(jìn)行分析和定義。
這種模式數(shù)據(jù)精確性高,更可靠;缺點(diǎn)是匯總表與維度的耦合性高,維度發(fā)生變化后,匯總表需要進(jìn)行重構(gòu),從而影響到下游使用該表的應(yīng)用。分析師更愿意新增一張匯總表,這時(shí)舊的匯總表將持續(xù)占用工作空間。
(2)目前數(shù)據(jù)使用矛盾
此時(shí)數(shù)據(jù)的膨脹和業(yè)務(wù)的靈活性也形成了一個(gè)矛盾:數(shù)據(jù)量更多,數(shù)據(jù)結(jié)構(gòu)更復(fù)雜,數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)更龐雜;而業(yè)務(wù)變化更敏捷。這也是前述數(shù)據(jù)使用和數(shù)據(jù)開(kāi)發(fā)的矛盾產(chǎn)生的原因。
①數(shù)據(jù)使用
數(shù)據(jù)消費(fèi)門檻高。同樣的一個(gè)指標(biāo)只要一個(gè)數(shù)據(jù)結(jié)果,而不是分散在多處的,需要自行join處理。
②數(shù)據(jù)開(kāi)發(fā)
有些數(shù)據(jù)指標(biāo)僅僅存在于分析過(guò)程中的SQL里,未及時(shí)沉積。當(dāng)其中一個(gè)數(shù)據(jù)指標(biāo)發(fā)生變化時(shí),可能需要修改無(wú)數(shù)張實(shí)際對(duì)外的ADS層數(shù)據(jù)表。于是,各平臺(tái)中、各BI中、各下游應(yīng)用中會(huì)出現(xiàn)大量的歧義數(shù)據(jù)。
2、建立統(tǒng)一語(yǔ)義層
(1)數(shù)據(jù)開(kāi)發(fā)視角
如何解決這些矛盾,目前的共識(shí)是建立統(tǒng)一語(yǔ)義層。
統(tǒng)一語(yǔ)義層通過(guò)虛擬視圖(虛擬倉(cāng)庫(kù))解決了邏輯層和物理層Mapping,并統(tǒng)一面對(duì)下游用戶完成統(tǒng)一指標(biāo)定義。此時(shí)上游自動(dòng)完成數(shù)據(jù)匹配,下游用戶無(wú)需關(guān)心數(shù)據(jù)來(lái)源。
(2)數(shù)據(jù)使用視角
建立統(tǒng)一語(yǔ)義層后,數(shù)據(jù)已經(jīng)完成整體隔離。業(yè)務(wù)將不再通過(guò)數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù),可以直接從指標(biāo)中獲取相應(yīng)的數(shù)據(jù)。
如上圖案例所示,數(shù)據(jù)分析師完成指標(biāo)目錄創(chuàng)建后,業(yè)務(wù)人員可以直接使用他們熟悉的術(shù)語(yǔ)進(jìn)行指標(biāo)探索,比如入貨額、退貨量、客戶增長(zhǎng)率等。業(yè)務(wù)人員明確指標(biāo)以及相關(guān)維度、時(shí)間范圍、數(shù)據(jù)粒度后,自動(dòng)完成指標(biāo)分析。
統(tǒng)一語(yǔ)義層接入方案中,數(shù)據(jù)輸出時(shí)基本于傳統(tǒng)BI一致,區(qū)別是已無(wú)需再關(guān)心指標(biāo)來(lái)源和定義方式。
3、最終目標(biāo):敏捷高效
最終的目標(biāo)是在指標(biāo)目錄中選擇指標(biāo)后,能夠快速完成指標(biāo)探索。用戶無(wú)需關(guān)心數(shù)據(jù)來(lái)源,不管是來(lái)自多少數(shù)據(jù)表還是來(lái)自多少數(shù)據(jù)源;可以更多的去關(guān)心業(yè)務(wù),真正的對(duì)業(yè)務(wù)賦能。
統(tǒng)一語(yǔ)義層也被稱為指標(biāo)中心或者指標(biāo)平臺(tái),其核心意義就是讓業(yè)務(wù)人員忽略源頭關(guān)注結(jié)果,實(shí)現(xiàn)低門檻高效率。
三、指標(biāo)中臺(tái)核心能力及技術(shù)實(shí)踐
對(duì)于統(tǒng)一語(yǔ)義層統(tǒng)一接入方案,滴普科技也總結(jié)了一些經(jīng)驗(yàn),形成了一些產(chǎn)品。
1、指標(biāo)平臺(tái)架構(gòu)
指標(biāo)平臺(tái)整體結(jié)構(gòu)分為兩層:一層是指標(biāo)中心,一個(gè)是數(shù)據(jù)門戶。分別面向兩類人群:數(shù)據(jù)開(kāi)發(fā)人員和數(shù)據(jù)使用人員。
(1)指標(biāo)中心
面向數(shù)據(jù)開(kāi)發(fā)人員。數(shù)據(jù)分析師通過(guò)統(tǒng)一語(yǔ)義模型建立模型定義指標(biāo),發(fā)布到數(shù)據(jù)門戶。
根據(jù)實(shí)際需求,可以進(jìn)行定義指標(biāo)加速,配置相關(guān)監(jiān)控。
(2)數(shù)據(jù)門戶
面向數(shù)據(jù)使用人員。業(yè)務(wù)人員能夠快速的查詢指標(biāo),快速的業(yè)務(wù)探索,創(chuàng)建相應(yīng)的標(biāo)簽、大屏和報(bào)表,分享到釘釘、飛書等下游應(yīng)用或者連接到FineBI或者FindReport等下游工具。
下游不同的應(yīng)用和工具通過(guò)統(tǒng)一的數(shù)據(jù)門戶訪問(wèn)數(shù)據(jù),同樣的指標(biāo)獲取同樣的數(shù)據(jù),保障了數(shù)據(jù)準(zhǔn)確性。
2、基于指標(biāo)的數(shù)據(jù)分析協(xié)作流程
基于指標(biāo)的數(shù)據(jù)分析協(xié)作流程可以梳理為兩步:
(1)數(shù)據(jù)開(kāi)發(fā)人員工作
根據(jù)取數(shù)需求,完成模型和指標(biāo)的新增或者修改,發(fā)布到數(shù)據(jù)門戶。
(2)數(shù)據(jù)使用人員工作
在數(shù)據(jù)平臺(tái),完成數(shù)據(jù)指標(biāo)到發(fā)現(xiàn)與探索,以及大屏和報(bào)表的創(chuàng)作,并連接到外部應(yīng)用。
基于指標(biāo)的數(shù)據(jù)分析協(xié)作流程實(shí)現(xiàn)了數(shù)據(jù)資源的隔離。不管是ClickHouse、Hive還是PostgreSQL、Kafka中存儲(chǔ)的數(shù)據(jù)資源,都能夠被有效隔離。用戶只需要關(guān)注指標(biāo)。
3、實(shí)現(xiàn)數(shù)據(jù)資源隔離
具體如何實(shí)現(xiàn)數(shù)據(jù)資源隔離,下面繼續(xù)進(jìn)行分享:
(1)智能查詢路由
首先是核心邏輯,需要實(shí)現(xiàn)智能查詢路由。智能查詢路由能夠根據(jù)指標(biāo)智能路由到不同等數(shù)據(jù)層級(jí)。目前提供了3個(gè)層級(jí)的數(shù)據(jù)查詢:
①即席查詢
當(dāng)指標(biāo)數(shù)據(jù)沒(méi)有進(jìn)行任何的加速和緩存的時(shí)候,會(huì)生成原有數(shù)倉(cāng)的查詢SQL。
②主題加速
如果配置了相應(yīng)的主題加速,會(huì)在主題加速層完成亞秒級(jí)配置,目前是4-6次。
③查詢緩存
針對(duì)的場(chǎng)景多是數(shù)據(jù)應(yīng)用的首頁(yè)或者常規(guī)的排名查詢,能夠通過(guò)查詢緩存層實(shí)現(xiàn)毫秒級(jí),目前能達(dá)到10-30ms。智能查詢路由給指標(biāo)平臺(tái)帶來(lái)最大的改變是,下游用戶無(wú)需再選擇查詢層級(jí)和數(shù)據(jù)表,只需要制定指標(biāo)和查詢條件。智能查詢路由進(jìn)行自動(dòng)路由,實(shí)現(xiàn)了數(shù)據(jù)消費(fèi)時(shí)速度和敏捷性的平衡。
(2)統(tǒng)一查詢?nèi)肟?/h4>
不同下游應(yīng)用包括BI商業(yè)智能、SDK應(yīng)用、API應(yīng)用等,通過(guò)不同的interface連接到統(tǒng)一查詢?nèi)肟?。然后再通過(guò)統(tǒng)一的查詢語(yǔ)言進(jìn)行指標(biāo)查詢。
4、實(shí)現(xiàn)統(tǒng)一查詢語(yǔ)言
首先,下游Client的不同查詢語(yǔ)言都被轉(zhuǎn)換為MetricsQL(指標(biāo)查詢語(yǔ)言)標(biāo)準(zhǔn)的查詢語(yǔ)言。然后,QueryEngine(查詢構(gòu)建引擎)根據(jù)已經(jīng)完成的模型和指標(biāo)進(jìn)行數(shù)據(jù)源的SQL構(gòu)建。如果配置了指標(biāo)加速,QueryEngine就會(huì)完成加速層的SQL構(gòu)建。另外,統(tǒng)一的查詢?nèi)肟谝仓С诌M(jìn)行數(shù)據(jù)權(quán)限管理。
QueryEngine通過(guò)指標(biāo)的定義自動(dòng)生成不同平臺(tái)相應(yīng)的查詢SQL腳本,并支持智能路由查詢相應(yīng)的數(shù)據(jù)層。
5、實(shí)時(shí)指標(biāo)方案
目標(biāo)是實(shí)現(xiàn)T+0實(shí)時(shí)指標(biāo)方案。業(yè)務(wù)數(shù)據(jù)通過(guò)CDC等方式進(jìn)入實(shí)時(shí)數(shù)倉(cāng),通過(guò)指標(biāo)語(yǔ)義模型完成語(yǔ)義查詢,最終形成實(shí)時(shí)指標(biāo)洞察和實(shí)時(shí)指標(biāo)服務(wù),給到下游應(yīng)用。
一、結(jié)語(yǔ)
整個(gè)分析過(guò)程中,統(tǒng)一查詢?nèi)肟诒U狭司_性,智能查詢路由保障了敏捷性,實(shí)時(shí)指標(biāo)方案保障了實(shí)時(shí)性。
最終目標(biāo)是滿足全民數(shù)據(jù)分析的需求,讓任何人都能以想要的方式去快速訪問(wèn)數(shù)據(jù)。在這個(gè)過(guò)程中,他無(wú)需具有大數(shù)據(jù)的基礎(chǔ)知識(shí)儲(chǔ)備就能完成數(shù)據(jù)的整體分析。即使上游數(shù)據(jù)是很復(fù)雜一個(gè)Hadoop體系,他也能完成這樣的分析。
五、Q&A
Q:在構(gòu)建統(tǒng)一語(yǔ)義層的時(shí),會(huì)存在兩層邏輯:一層是命中加速層,一層是非命中加速層。對(duì)應(yīng)的物理存儲(chǔ)引擎上可能會(huì)有一定的差異,這種差異是如何處理的?
A:上游數(shù)據(jù)源基本上都會(huì)存在差異。首先是查詢語(yǔ)言已經(jīng)被轉(zhuǎn)換為MetricsQL標(biāo)準(zhǔn)的查詢語(yǔ)言,QueryEngine去完成語(yǔ)法樹(shù)的重新構(gòu)建;然后去適配不同的數(shù)據(jù)源,去完成每個(gè)數(shù)據(jù)源語(yǔ)法樹(shù)的適配。在這個(gè)過(guò)程中,實(shí)現(xiàn)插件式的適配能力,目前已經(jīng)適配了5種數(shù)據(jù)源,仍在持續(xù)更新中。