朋友,還在為多個(gè)數(shù)據(jù)庫(kù)而煩惱嗎?
朋友,還在為系統(tǒng)的龐大而思緒如麻嗎?
朋友,還在為老舊架構(gòu)修修補(bǔ)補(bǔ)嗎?
也許你沒(méi)有聽(tīng)說(shuō)過(guò)數(shù)據(jù)倉(cāng)庫(kù),也許你已經(jīng)失去了上一個(gè)風(fēng)口,那么做數(shù)據(jù)的你,絕對(duì)不能失去數(shù)據(jù)中臺(tái)這個(gè)風(fēng)口!
文案:啥啥啥?數(shù)據(jù)中臺(tái)是個(gè)什么鬼?
不知道沒(méi)關(guān)系,今天我們就來(lái)扒一扒,這個(gè)風(fēng)口上的數(shù)據(jù)中臺(tái)是個(gè)什么東西~
數(shù)據(jù)倉(cāng)庫(kù)(DataWarehouse),是為了企業(yè)所有級(jí)別的決策制定計(jì)劃過(guò)程,提供所有類(lèi)型數(shù)據(jù)類(lèi)型的戰(zhàn)略集合。一般情況而言,數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)實(shí)時(shí)性不強(qiáng),他往往來(lái)源于許多實(shí)時(shí)數(shù)據(jù)庫(kù),在實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)的基礎(chǔ)上進(jìn)行數(shù)據(jù)建模,面向主題,屏蔽數(shù)據(jù)細(xì)節(jié),以要看什么,就怎么建倉(cāng)作為數(shù)據(jù)倉(cāng)庫(kù)建模和建倉(cāng)的基礎(chǔ)思路。
與數(shù)據(jù)庫(kù)要求的實(shí)時(shí)性不同,業(yè)務(wù)往往分析的時(shí)候需要連續(xù)性和時(shí)間,這就意味著數(shù)據(jù)倉(cāng)庫(kù)不需要很強(qiáng)的實(shí)時(shí)性,但是會(huì)對(duì)同一維度下的一大批數(shù)據(jù)進(jìn)行統(tǒng)一的分析和計(jì)算。
很多人分不清數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)的區(qū)別,這里就用一個(gè)表格來(lái)解釋數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)之間的不同點(diǎn)。
所以簡(jiǎn)單來(lái)說(shuō),數(shù)據(jù)倉(cāng)庫(kù)還是以分析為主,實(shí)時(shí)性偏低但分析程度高,而數(shù)據(jù)庫(kù)還是以實(shí)時(shí)響應(yīng)為主,重點(diǎn)是記錄所有的操作信息。
數(shù)據(jù)中臺(tái)最先由阿里提出,將數(shù)據(jù)倉(cāng)庫(kù)中面向指標(biāo)的設(shè)計(jì)思路進(jìn)行二次升級(jí),提出面向業(yè)務(wù)的一站式數(shù)據(jù)服務(wù)平臺(tái),這個(gè)數(shù)據(jù)服務(wù)平臺(tái)就是數(shù)據(jù)中臺(tái)。這意味著,數(shù)據(jù)中臺(tái)不是一個(gè)單純的體系架構(gòu),他是面向業(yè)務(wù)的,沒(méi)有業(yè)務(wù)就沒(méi)有數(shù)據(jù)中臺(tái)的概念。
同時(shí)數(shù)據(jù)中臺(tái)也不是單單的一個(gè)平臺(tái),在他的背后,是對(duì)海量數(shù)據(jù)的采集、計(jì)算、存儲(chǔ)和加工。也就是說(shuō),可以把數(shù)據(jù)中臺(tái)想想成一個(gè)廚房,原材料就是各個(gè)地方的數(shù)據(jù)源,數(shù)據(jù)中臺(tái)要做的是,調(diào)研最上面的不同系統(tǒng)的業(yè)務(wù)需求(相當(dāng)于廚房看看這個(gè)餐館來(lái)些什么人),通過(guò)不同的業(yè)務(wù)分析,建立不同的業(yè)務(wù)場(chǎng)景(確定菜單),然后對(duì)不同的數(shù)據(jù)進(jìn)行加工(洗菜做飯),然后等待上層系統(tǒng)的調(diào)用(等待小二上菜),由于數(shù)據(jù)源可能來(lái)自于不同的地方,數(shù)據(jù)格式,數(shù)據(jù)存儲(chǔ)方式等等都可能不同,因此數(shù)據(jù)中臺(tái)還需要統(tǒng)一標(biāo)準(zhǔn)和口徑,在數(shù)據(jù)抽取的過(guò)程中進(jìn)行格式的轉(zhuǎn)換,保障所有的數(shù)據(jù)標(biāo)準(zhǔn)化和統(tǒng)一化,也方便后續(xù)的數(shù)據(jù)計(jì)算,數(shù)據(jù)查詢(xún)接口的統(tǒng)一標(biāo)準(zhǔn)化。
從一開(kāi)始我們就提到,數(shù)據(jù)中臺(tái)是一個(gè)以業(yè)務(wù)為核心導(dǎo)向,海量數(shù)據(jù)進(jìn)行采集、計(jì)算、存儲(chǔ)、加工為一體的服務(wù)平臺(tái),因此建立數(shù)據(jù)中臺(tái)主要分為以下幾個(gè)步驟。
1.數(shù)據(jù)采集
和數(shù)據(jù)倉(cāng)庫(kù)一樣,數(shù)據(jù)中臺(tái)的核心還是數(shù)據(jù),所謂巧婦難為無(wú)米之炊,沒(méi)有數(shù)據(jù)的數(shù)據(jù)中臺(tái)是不成立的。因此搭建數(shù)據(jù)中臺(tái)的第一步是對(duì)數(shù)據(jù)進(jìn)行收集,這方面的收集需要以數(shù)據(jù)多樣性作為數(shù)據(jù)知道思想,盡可能的把與業(yè)務(wù)相關(guān)的所有數(shù)據(jù)進(jìn)行數(shù)據(jù)的收集,做到多業(yè)務(wù)、多終端、多形態(tài)的“三多”收集。
2.業(yè)務(wù)架構(gòu)分析搭建
有了數(shù)據(jù),接下來(lái)需要研究的就是,這些數(shù)據(jù)可以干什么。數(shù)據(jù)中臺(tái)往往需要從最上層的業(yè)務(wù)系統(tǒng)著手,而一個(gè)數(shù)據(jù)中臺(tái)一般服務(wù)多個(gè)業(yè)務(wù)系統(tǒng),各個(gè)業(yè)務(wù)系統(tǒng)所要的目的都不一樣,因此對(duì)于數(shù)據(jù)模型建立,不能單純的定制化,而是要分類(lèi)、分層,將數(shù)據(jù)分層統(tǒng)一基礎(chǔ)層、公共中間層和多元應(yīng)用層,盡可能的復(fù)用數(shù)據(jù),并且通過(guò)數(shù)據(jù)指標(biāo)結(jié)構(gòu)化的方式統(tǒng)一輸出口徑。
3.數(shù)據(jù)預(yù)處理加工和存儲(chǔ)
架構(gòu)分析清楚,整體的數(shù)據(jù)來(lái)源也已經(jīng)確定了,那么就是按照搭建的架構(gòu)進(jìn)行一層層的筑瓦搭磚。由于數(shù)據(jù)源是各個(gè)不同的來(lái)源,因此再搭建統(tǒng)一基礎(chǔ)層的時(shí)候,需要將基礎(chǔ)數(shù)據(jù)進(jìn)行格式化的統(tǒng)一,在建立數(shù)據(jù)的同步任務(wù)時(shí),要結(jié)合業(yè)務(wù),在基本的數(shù)據(jù)預(yù)處理的基礎(chǔ)上,增加自定義規(guī)則和修復(fù),并且通過(guò)監(jiān)控任務(wù)的方式對(duì)任務(wù)進(jìn)行實(shí)時(shí)監(jiān)控,一旦數(shù)據(jù)出錯(cuò)率超過(guò)預(yù)警值,將停止任務(wù)并發(fā)出警報(bào)。這個(gè)過(guò)程是在數(shù)據(jù)還沒(méi)有導(dǎo)進(jìn)來(lái)的時(shí)候就應(yīng)該有設(shè)計(jì),在后續(xù)運(yùn)維的過(guò)程中,也要實(shí)時(shí)check,保障數(shù)據(jù)同步的一致性。
4.數(shù)據(jù)價(jià)值萃取
在經(jīng)過(guò)上一層的基礎(chǔ)數(shù)據(jù)查詢(xún)之后,數(shù)據(jù)已經(jīng)以規(guī)整的方式進(jìn)入數(shù)據(jù)中臺(tái),并且構(gòu)建了統(tǒng)一基礎(chǔ)層。但原始數(shù)據(jù)如果直接暴露接口對(duì)外查詢(xún),一方面會(huì)導(dǎo)致查詢(xún)sql編寫(xiě)過(guò)于復(fù)雜,加大數(shù)據(jù)的計(jì)算的復(fù)雜程度,提高計(jì)算成本和運(yùn)維成本;另一方面,大量的數(shù)據(jù)連接計(jì)算會(huì)導(dǎo)致數(shù)據(jù)計(jì)算引擎的不堪重負(fù),同時(shí)拖慢運(yùn)行效率,這些作為數(shù)據(jù)人員來(lái)說(shuō)都是不可忍受的。因此,數(shù)據(jù)中臺(tái)要求進(jìn)行公共中間層的搭建,用現(xiàn)有的數(shù)據(jù),分析上層業(yè)務(wù)指標(biāo),通過(guò)不同的維度進(jìn)行數(shù)據(jù)的聚合。這一步非常重要,由于數(shù)據(jù)中臺(tái)要求表盡可能的不重復(fù),以及表一旦創(chuàng)建就不能進(jìn)行表結(jié)構(gòu)的修改,這就要求進(jìn)行數(shù)據(jù)建模的時(shí)候,出了要滿足上游業(yè)務(wù)系統(tǒng)的現(xiàn)有要求,還要與上游系統(tǒng)反復(fù)溝通,對(duì)預(yù)想的指標(biāo)進(jìn)行分類(lèi),將相關(guān)性大的指標(biāo)進(jìn)行數(shù)據(jù)字段了預(yù)留,防止大量的重復(fù)建表導(dǎo)致的數(shù)據(jù)冗余。
5.數(shù)據(jù)統(tǒng)一主題式服務(wù)
數(shù)據(jù)公共層搭建好之后,需要進(jìn)行數(shù)據(jù)應(yīng)用層的搭建,這個(gè)搭建不再贅述。將數(shù)據(jù)搭建完成后,就是對(duì)數(shù)據(jù)的輸出進(jìn)行考慮。作為一個(gè)數(shù)據(jù)中臺(tái),需要分析上游系統(tǒng)的業(yè)務(wù)分析方式,在此基礎(chǔ)上進(jìn)行數(shù)據(jù)出口的統(tǒng)一化,例如,上游系統(tǒng)以BI系統(tǒng)為主,那么搭建數(shù)據(jù)服務(wù)查詢(xún)引擎,方便SQL調(diào)用會(huì)好一些;如果以?xún)?nèi)部數(shù)據(jù)分析為主,那么需要搭建查詢(xún)接口,以API調(diào)用的方式進(jìn)行查詢(xún)會(huì)更有效率??偟膩?lái)說(shuō),數(shù)據(jù)中臺(tái)可以支持多種數(shù)據(jù)輸出方式,但是無(wú)論是哪種,都是為了面向業(yè)務(wù)統(tǒng)一數(shù)據(jù)出口與數(shù)據(jù)查詢(xún)邏輯,屏蔽數(shù)據(jù)源和多物理表。
從上述5步曲,數(shù)據(jù)中臺(tái)的搭建就基本完成,實(shí)現(xiàn)了從數(shù)據(jù)流入到數(shù)據(jù)產(chǎn)出的所有過(guò)程。再次強(qiáng)調(diào)的是,數(shù)據(jù)中臺(tái)一定是面向業(yè)務(wù)的,任何一個(gè)數(shù)據(jù)中臺(tái)都需要有業(yè)務(wù)場(chǎng)景和業(yè)務(wù)需求,在這樣的基礎(chǔ)上才會(huì)有穩(wěn)定的輸出。
通過(guò)這篇文章,是不是對(duì)數(shù)據(jù)中臺(tái)有了一個(gè)新的了解和認(rèn)識(shí)呢?每天一個(gè)新風(fēng)口,數(shù)據(jù)人,沖鴨!
聯(lián)系客服