王樹明 吳時(shí)清 吳蓓蓓
(1.中國煙草總公司湖北省煙草專賣局信息中心 湖北省武漢市 430030 2.武漢楚煙信息技術(shù)有限公司 湖北省武漢市 430030)
大數(shù)據(jù)時(shí)代,數(shù)據(jù)治理是所有公司面臨的巨大挑戰(zhàn)。沒有數(shù)據(jù),企業(yè)缺乏用于做決策的數(shù)據(jù)的支持,可是有了越來越多的數(shù)據(jù),必然增加了管理數(shù)據(jù)的成本。將數(shù)據(jù)有效的組織起來,并讓其產(chǎn)生價(jià)值,成為一個(gè)亟待解決的問題[1]。數(shù)據(jù)治理的核心問題就是數(shù)據(jù)加工規(guī)范,所有的治理工作都是圍繞這個(gè)核心進(jìn)行的,正因如此,建立起適應(yīng)企業(yè)需求的數(shù)據(jù)加工規(guī)范對于企業(yè)變得越來越重要。
隨著湖北省煙草數(shù)據(jù)信息化工作的快速推進(jìn),數(shù)據(jù)中心在數(shù)據(jù)采集、加工、共享等方面的管理工作日顯滯后,導(dǎo)致以下問題長期存在:
(1)數(shù)據(jù)質(zhì)量不高,“臟數(shù)據(jù)”、錯(cuò)數(shù)據(jù)不斷產(chǎn)生,既包括源端業(yè)務(wù)系統(tǒng)的基礎(chǔ)數(shù)據(jù),也包括入庫后因加工過程不規(guī)范而產(chǎn)生的分析型數(shù)據(jù)。
(2)數(shù)據(jù)接口混亂,由于數(shù)據(jù)獲取與開發(fā)不規(guī)范、數(shù)據(jù)接口管理措施缺失等原因,數(shù)據(jù)接口泛濫,“數(shù)入多庫、據(jù)出多門”的現(xiàn)象比比皆是[2]。
為支撐湖北煙草數(shù)字化轉(zhuǎn)型,支撐日益普遍的創(chuàng)新應(yīng)用和數(shù)據(jù)運(yùn)營的服務(wù)需求,湖北省局(公司)重新梳理了整個(gè)系統(tǒng)的數(shù)據(jù)分布,如圖1所示。數(shù)據(jù)從源端業(yè)務(wù)系統(tǒng)進(jìn)入數(shù)據(jù)中心后,經(jīng)歷了BKR體系的清洗轉(zhuǎn)換、匯聚加工、分級存儲,最后向不同的主題提供數(shù)據(jù)服務(wù)。BKR體系是數(shù)據(jù)中心實(shí)現(xiàn)數(shù)據(jù)治理的核心理念。
圖1:湖北煙草數(shù)據(jù)總體分布框架
描述數(shù)據(jù)匯聚加工的模型有多種,結(jié)合湖北煙草數(shù)據(jù)加工、管理的現(xiàn)狀,立足于統(tǒng)一、規(guī)范的管理目標(biāo),設(shè)計(jì)并采用了BKR體系,建立了湖北煙草數(shù)據(jù)中心數(shù)據(jù)加工規(guī)范,其中包括庫內(nèi)數(shù)據(jù)表分層規(guī)范、數(shù)據(jù)表命名規(guī)范、數(shù)據(jù)表共享規(guī)范、血緣分析規(guī)范等。
數(shù)據(jù)中心內(nèi)的表分三個(gè)層級,并嚴(yán)格遵守?cái)?shù)據(jù)分層存儲、層級間加工轉(zhuǎn)換的規(guī)則。這三個(gè)層級分別為是B 層、K 層、R 層。
B 層(Base):基礎(chǔ)業(yè)務(wù)數(shù)據(jù)層,主要存放基礎(chǔ)業(yè)務(wù)數(shù)據(jù)(即B 表)。它是數(shù)據(jù)中心的數(shù)據(jù)基礎(chǔ)和數(shù)據(jù)緩沖。B 層數(shù)據(jù)一般保留“范式化”結(jié)構(gòu),也被稱為“貼源”層。
K 層(KPI,Key Performance Indicators):匯聚加工層,B 層的數(shù)據(jù)通過轉(zhuǎn)換和整合,得到加工過程數(shù)據(jù)(即K 表)。K 層數(shù)據(jù)有三種來源:
(1)B 層數(shù)據(jù)整合或者聚合得到,這是K 層數(shù)據(jù)最基本的來源;
(2)B 層和K 層數(shù)據(jù)進(jìn)行二次或者多次整合得到;
(3)多個(gè)K 層數(shù)據(jù)進(jìn)行再次整合得到。
R 層(Reports):報(bào)備指標(biāo)層,是可直接對外提供服務(wù)的數(shù)據(jù),可直接支撐各類數(shù)據(jù)應(yīng)用。其數(shù)據(jù)來源于B 層或者K 層數(shù)據(jù)的整合或聚合,其主要服務(wù)對象是數(shù)據(jù)分析、統(tǒng)計(jì)報(bào)表、駕駛艙等應(yīng)用。
每個(gè)服務(wù)主題均對應(yīng)一個(gè)或多個(gè)B 表或K 表,但是B 表、K表粒度細(xì)、數(shù)據(jù)量龐大,不利于在線查詢分析。所以在此基礎(chǔ)上定義數(shù)據(jù)的維度、粒度屬性,建立數(shù)據(jù)匯集路徑,形成維度降低的R表,以提高查詢分析的效率,并滿足最大程度的復(fù)用性要求。另外,R 層數(shù)據(jù)不可由R 層自身數(shù)據(jù)表整合而來。庫內(nèi)數(shù)據(jù)表的分層/轉(zhuǎn)換規(guī)范如圖2所示。
圖2:庫內(nèi)數(shù)據(jù)表分層/轉(zhuǎn)換規(guī)范
3.2.1 B 表
B 表來源于源端業(yè)務(wù)系統(tǒng),即基礎(chǔ)業(yè)務(wù)層的原始粒度數(shù)據(jù),因此B 表命名必須反映源端業(yè)務(wù)屬性。B 表命名規(guī)則是:
實(shí)體編碼 = T_B_業(yè)務(wù)域編碼_實(shí)體代碼
如:零售戶客戶訂單(T_B_FN_CUSTOMER_ORDER)。
3.2.2 K 表
B 表經(jīng)加工后形成共享程度高,可支撐核心指標(biāo)與業(yè)務(wù)報(bào)表的中間表,即K表,因此K表命名必須反映指標(biāo)主題和字段/維度屬性。K 表命名規(guī)則是:
實(shí)體編碼 = T_K_主題代碼_維度組合
如:T_K_銷售_日_單位_卷煙(T_K_SELL_DAY_CORP_CIG)。
3.2.3 R 表
將數(shù)據(jù)按業(yè)務(wù)單元、服務(wù)主題進(jìn)行加工整合,最終形成指標(biāo)并對外提供數(shù)據(jù)服務(wù)的數(shù)據(jù)表為R 表,因此R 表命名必須反映報(bào)表主題和應(yīng)用概述。R 表命名規(guī)則:
實(shí)體編碼 = T_R_報(bào)表主題_分析應(yīng)用簡寫
如:T_R_ 領(lǐng)導(dǎo)首頁_ 卷煙市場動(dòng)態(tài)分析(T_R_LD_CIG_MARKET_DYNAMIC_ANALYSE)。
有了命名規(guī)范以后,可以定期利用逆向工程導(dǎo)出數(shù)據(jù)中心的sql 腳本,并進(jìn)行文法分析,以自動(dòng)的篩選出不符合BKR 分層規(guī)范的模式和表格。
從溯源的視角來審視湖北煙草數(shù)據(jù)加工模型,即為每張表添加從“主鍵”到“外鍵”或從“分散”到“匯總”的邏輯索引,用索引的“入度”和“出度”衡量每張數(shù)據(jù)表的生成代價(jià)和共享程度。其中,“入度”表示數(shù)據(jù)表的加工復(fù)雜程度,理論上講,“入度”值大,表示該數(shù)據(jù)表的加工過程所依賴的數(shù)據(jù)表多,加工消耗資源大,即生成代價(jià)大;反之,“入度”值小,表示生成代價(jià)小。“出度”表示數(shù)據(jù)表的共享程度,“出度”值大,表示該數(shù)據(jù)表的共享程度高;“出度”值小,表示該數(shù)據(jù)表的共享程度低。數(shù)據(jù)表匯聚加工應(yīng)滿足“入度”足夠簡單,“出度”足夠?qū)?,體現(xiàn)數(shù)據(jù)加工過程高內(nèi)聚、松耦合、高復(fù)用的優(yōu)化原則。
單純以“入度”和“出度”來判斷每張表的共享程度,只能反應(yīng)局部特性,湖北煙草加工模型從BKR體系的整體視角提出了互為對偶的兩個(gè)全局指標(biāo)——“共享度”和“依賴度”。通過改進(jìn)的PageRank 算法可以評估每張表的這兩個(gè)指標(biāo),并為不斷迭代的數(shù)據(jù)模型提供重要的參考依據(jù)。
厘清BKR 三層數(shù)據(jù)間的血緣關(guān)系[3],展現(xiàn)數(shù)據(jù)從源端業(yè)務(wù)系統(tǒng)到當(dāng)前位置的完整路徑。當(dāng)鏈條中某一數(shù)據(jù)表發(fā)生變化時(shí),向上評估其變化的影響范圍,包括但不限于相關(guān)的K 表及表內(nèi)數(shù)據(jù)、R表及表內(nèi)數(shù)據(jù)、數(shù)據(jù)服務(wù)內(nèi)容等;向下追溯其變化的來源,包括但不限于B 表及表內(nèi)數(shù)據(jù)、源端業(yè)務(wù)系統(tǒng)等。
BKR 三層體系是數(shù)據(jù)中心的核心模塊,為了能夠穩(wěn)定可靠的運(yùn)營和維護(hù)這個(gè)體系,還需要建立一套完善的接口規(guī)范,并對接口進(jìn)行統(tǒng)一管理。原則上各業(yè)務(wù)系統(tǒng)只與數(shù)據(jù)中心進(jìn)行數(shù)據(jù)交換,業(yè)務(wù)系統(tǒng)間不直接進(jìn)行數(shù)據(jù)交換。數(shù)據(jù)接口有三種類型:
(1)數(shù)據(jù)入庫接口,即數(shù)據(jù)從業(yè)務(wù)系統(tǒng)流入數(shù)據(jù)中心的數(shù)據(jù)接口;
(2)數(shù)據(jù)出庫接口,即數(shù)據(jù)從數(shù)據(jù)中心流出到業(yè)務(wù)系統(tǒng)的數(shù)據(jù)接口;
(3)庫間接口,即數(shù)據(jù)在數(shù)據(jù)中心各庫間流轉(zhuǎn)的數(shù)據(jù)接口。
接口設(shè)計(jì)應(yīng)滿足以下要求:
(1)充分理由:任何接口存在應(yīng)有充分的理由,盡可能避免出現(xiàn)無意義接口。
(2)職責(zé)明確:一個(gè)接口只負(fù)責(zé)一類數(shù)據(jù)傳輸,盡可能避免同一接口傳輸內(nèi)容過于復(fù)雜。
(3)高內(nèi)聚低耦合:一個(gè)接口包含一類完整數(shù)據(jù),不同接口之間的業(yè)務(wù)、數(shù)據(jù)關(guān)聯(lián)應(yīng)盡可能小。
(4)分析角度明確:設(shè)計(jì)接口分析的角度要統(tǒng)一明確,應(yīng)按照業(yè)務(wù)域、業(yè)務(wù)環(huán)節(jié)角度分析設(shè)計(jì)。
(5)數(shù)據(jù)量控制:一個(gè)接口不宜返回過多數(shù)據(jù)量,為減少數(shù)據(jù)處理及傳輸壓力,應(yīng)對接口進(jìn)行合理劃分。
數(shù)據(jù)中心通過建立標(biāo)準(zhǔn)的接口模型,規(guī)范數(shù)據(jù)從業(yè)務(wù)系統(tǒng)到數(shù)據(jù)中心的采集轉(zhuǎn)換過程。接口模型包含業(yè)務(wù)域?qū)嶓w、業(yè)務(wù)系統(tǒng)實(shí)體、接口目錄實(shí)體、接口單實(shí)體和接口文件實(shí)體,如圖3所示。
圖3:數(shù)據(jù)接口模型
接口單元編碼規(guī)則是由10 位字符表示,如圖4所示。
圖4:采集接口單元編碼規(guī)則
數(shù)據(jù)中心常用的接口實(shí)現(xiàn)方式有四類。
4.3.1 庫表復(fù)制
是使用ETL(Extract-Transform-Load,數(shù)據(jù)抽取、轉(zhuǎn)換和加載)工具,基于SQL 數(shù)據(jù)庫復(fù)制批量數(shù)據(jù)的技術(shù),是源端業(yè)務(wù)系統(tǒng)數(shù)據(jù)進(jìn)入數(shù)據(jù)中心的主要方式。庫表復(fù)制適用于大多數(shù)情況下批量數(shù)據(jù)非實(shí)時(shí)、準(zhǔn)實(shí)時(shí)的數(shù)據(jù)傳輸與轉(zhuǎn)換。
4.3.2 HTTP 接口
是一種基于HTTP 服務(wù)的API,是系統(tǒng)之間交互的一種約定。HTTP 接口適用于跨系統(tǒng)的實(shí)時(shí)數(shù)據(jù)交互。通過HTTP 接口方式進(jìn)行數(shù)據(jù)對接,要明確接口基本信息、請求參數(shù)和返回?cái)?shù)據(jù)等內(nèi)容。
4.3.3 文件方式
是輸入和輸出以文件或文本方式進(jìn)行的數(shù)據(jù)接口實(shí)現(xiàn)方式,適用于對時(shí)效性要求較低,超大批量數(shù)據(jù)導(dǎo)入、導(dǎo)出。通過文件方式進(jìn)行數(shù)據(jù)對接,需明確文件名和文件格式。
4.3.4 其它方式
用于未來更多類型數(shù)據(jù)(如非結(jié)構(gòu)化數(shù)據(jù))與數(shù)據(jù)中心交互擴(kuò)展。
數(shù)據(jù)運(yùn)維團(tuán)隊(duì)是數(shù)據(jù)架構(gòu)和業(yè)務(wù)數(shù)據(jù)的維護(hù)和管理者,負(fù)責(zé)按照數(shù)據(jù)主管部門要求,開展數(shù)據(jù)接口的統(tǒng)一管理、運(yùn)行監(jiān)控、策略維護(hù)等工作,響應(yīng)數(shù)據(jù)接口新增、變更及刪除(作廢)需求,進(jìn)行數(shù)據(jù)需求分析、接口影響分析,并牽頭制定接口維護(hù)方案,執(zhí)行維護(hù)操作,發(fā)布并更新接口資源目錄。
湖北煙草數(shù)據(jù)治理的工作核心是在數(shù)據(jù)中心建立完善的BKR體系,并圍繞該體系建立起一系列標(biāo)準(zhǔn)和規(guī)范。該體系已經(jīng)在湖北省公司的煙葉系統(tǒng)中逐步展開,并取得了初步成效。今后將繼續(xù)完善和細(xì)化該體系,并進(jìn)一步推廣到煙草的營銷、物流、專賣、審計(jì)等其它業(yè)務(wù)領(lǐng)域。