數(shù)字化轉(zhuǎn)型中,企業(yè)如何做系統(tǒng)設(shè)計(jì)
隨著人工智能、大數(shù)據(jù)、云計(jì)算、區(qū)塊鏈等新一代信息化、數(shù)字化技術(shù)的高速發(fā)展,現(xiàn)階段社會的方方面面都已經(jīng)有了巨大的改變,各行各業(yè)的企業(yè)也都開始了新一輪的科技革命和產(chǎn)業(yè)革命,可以說是互聯(lián)網(wǎng)時代之后,又一個能夠從各方面影響世界發(fā)展的新的時代。
系統(tǒng)設(shè)計(jì)包含總體設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)及平臺設(shè)計(jì)。
1、總體設(shè)計(jì)(數(shù)據(jù)架構(gòu)、平臺架構(gòu)和研發(fā)規(guī)范)第一階段的規(guī)劃工作完成后,進(jìn)入總體的架構(gòu)設(shè)計(jì)階段。由阿里巴巴提出的 OneData 的核心思想是統(tǒng)一數(shù)據(jù)主體、統(tǒng)一數(shù)據(jù)建模、統(tǒng)一數(shù)據(jù)服務(wù)以及一系列的數(shù)據(jù)管理體系。在設(shè)計(jì)階段,可以參考這幾個方面進(jìn)行考慮與架構(gòu)。
(1)數(shù)據(jù)架構(gòu)數(shù)據(jù)中臺的數(shù)據(jù)架構(gòu)設(shè)計(jì)是基于需求調(diào)研階段的業(yè)務(wù)需求、數(shù)據(jù)情況,完成數(shù)據(jù)中臺概要設(shè)計(jì)工作。數(shù)據(jù)架構(gòu)設(shè)計(jì)主要包含 OneModel 、OneID 和 OneService 。
OneData數(shù)據(jù)中臺就是要在整個企業(yè)中形成一個公共數(shù)據(jù)層,實(shí)現(xiàn)數(shù)據(jù)的復(fù)用,所以強(qiáng)調(diào)數(shù)據(jù)只加工一次,不會因?yàn)椴煌膽?yīng)用場景造成數(shù)據(jù)重復(fù)加工。如何實(shí)現(xiàn):數(shù)據(jù)劃分主題進(jìn)行管理:表的命名,字段的命名等規(guī)范統(tǒng)一,做到見名知義數(shù)據(jù)格式和字段命名和定義規(guī)范化:具體參考離線數(shù)倉項(xiàng)目講解的表和字段命名規(guī)范:數(shù)倉分層-業(yè)務(wù)主題域-業(yè)務(wù)過程-基礎(chǔ)信息-分區(qū)規(guī)則指標(biāo)一致:提供全局?jǐn)?shù)據(jù)字典確保意義一致。數(shù)據(jù)模型復(fù)用:推薦采用分層的設(shè)計(jì)方式,通常包括:ODS,DWD,DWS,ADS / DM,DIM。
?

數(shù)據(jù)完善:數(shù)據(jù)中臺盡可能的覆蓋到所有業(yè)務(wù)過程,用戶和系統(tǒng)的一切行為都被記錄下來永久保存OneData 體系的目標(biāo)是構(gòu)建統(tǒng)一的數(shù)據(jù)規(guī)范標(biāo)準(zhǔn),讓數(shù)據(jù)成為一種資產(chǎn),而不是成本。OneModel 可分為以下四部分。
業(yè)務(wù)板塊:根據(jù)業(yè)務(wù)的特點(diǎn)和需求將相對獨(dú)立的業(yè)務(wù)劃分成不同的業(yè)務(wù)板塊,不同業(yè)務(wù)板塊之間的指標(biāo)或業(yè)務(wù)重疊度較低。數(shù)據(jù)域是指面向業(yè)務(wù)分析,將業(yè)務(wù)過程或者維度進(jìn)行抽象的集合。
數(shù)據(jù)域劃分上,需要從三個方面進(jìn)行考慮。
1)全局性:站在企業(yè)高度上,保障良好的擴(kuò)展性和穩(wěn)定性。
2)數(shù)量適中:根據(jù)業(yè)務(wù)情況,劃分的粒度要粗細(xì)合適,通常在 5~15 個。
3)可理解:站在業(yè)務(wù)的角度上,確保劃分便于理解,不產(chǎn)生歧義。在劃分?jǐn)?shù)據(jù)域時,既要涵蓋當(dāng)前所有業(yè)務(wù)的需求,也要考慮有新業(yè)務(wù)的彈性擴(kuò)展。
總線矩陣:在進(jìn)行了充分的業(yè)務(wù)調(diào)研和需求調(diào)研后,就要構(gòu)建總線矩陣了。總線矩陣由業(yè)務(wù)處理過程和維度組成一個二維表格。在行為不同的業(yè)務(wù)處理過程與維度的交叉點(diǎn)上打上標(biāo)記,表示該業(yè)務(wù)處理過程與該維度相關(guān)。
數(shù)據(jù)分層:數(shù)據(jù)模型以維度建模理論為基礎(chǔ),建設(shè)數(shù)據(jù)中臺的公共數(shù)據(jù)層。一般將數(shù)據(jù)模型劃分為操作數(shù)據(jù)層(ODS)、通用數(shù)據(jù)模型層(CDM)和應(yīng)用數(shù)據(jù)層(ADS)。
?

2、OneID 功能包含以下四部分。
OneID 配置:主要根據(jù)具體的業(yè)務(wù)需求,完成數(shù)據(jù)源表、ID 映射表、歧義規(guī)則表的設(shè)置工作。
OneID 數(shù)據(jù)處理:主要通過數(shù)據(jù)源表和 ID 映射表等配置表單完成原始數(shù)據(jù)的數(shù)據(jù)拉取和清洗等操作,生成基礎(chǔ)數(shù)據(jù)。
OneID 規(guī)則計(jì)算:主要利用圖計(jì)算框架完成關(guān)鍵連接點(diǎn)的搜索和歧義數(shù)據(jù)的圖連通工作,并根據(jù)配置的規(guī)則對圖數(shù)據(jù)進(jìn)行切割,從而唯一確定一個實(shí)體的身份信息,生成 OneID。
OneID 數(shù)據(jù)存儲和展示:主要完成 OneID 圖數(shù)據(jù)存儲和展示,以及最后生成的 OneID 清單數(shù)據(jù)存儲等。
OneService 統(tǒng)一數(shù)據(jù)服務(wù)OneService 包括以下功能模塊:服務(wù)單元設(shè)計(jì)、API 設(shè)計(jì)、API 審核和 API 運(yùn)營。服務(wù)單元設(shè)計(jì)是指將單個或多個物理表配置成一個視圖?;谂渲煤玫姆?wù)單元,通過簡單可視化界面或 SQL 腳本,設(shè)計(jì) API 的請求參數(shù)和返回參數(shù)。API 設(shè)計(jì)好后,將其發(fā)布至服務(wù)市場供使用者調(diào)用。API 在被使用前,需要經(jīng)過申請審批。被使用的 API 需要運(yùn)維及監(jiān)控,包括平均響應(yīng)時長、調(diào)用次數(shù)、錯誤率等指標(biāo)的監(jiān)控,還可以配置 API 的告警及限流措施等。
(2)平臺架構(gòu)結(jié)合前期調(diào)研的業(yè)務(wù)需求和數(shù)據(jù)現(xiàn)狀,從宏觀層面規(guī)劃出數(shù)據(jù)中臺的各個模塊、各個功能部件所用到的技術(shù)總體架構(gòu)圖。
?

采集架構(gòu):數(shù)據(jù)采集打通各種數(shù)據(jù)來源,為數(shù)據(jù)中臺提供待分析和處理的數(shù)據(jù),主要分為實(shí)時和離線數(shù)據(jù)采集。
存儲架構(gòu):整個存儲架構(gòu)包含原始數(shù)據(jù)源存儲技術(shù)、數(shù)據(jù)源接入技術(shù)、數(shù)據(jù)中臺數(shù)據(jù)存儲與計(jì)算技術(shù)、數(shù)據(jù)服務(wù)及數(shù)據(jù)應(yīng)用技術(shù)。
數(shù)據(jù)流:從業(yè)務(wù)數(shù)據(jù)進(jìn)入數(shù)據(jù)采集通道,到進(jìn)入數(shù)據(jù)中臺在各個加工任務(wù)中流轉(zhuǎn),再到數(shù)據(jù)對外服務(wù)的這個過程,需要進(jìn)行哪些存儲、哪些技術(shù)處理等,這些步驟需要在設(shè)計(jì)時就以數(shù)據(jù)流向用流程圖的形式畫出。
網(wǎng)絡(luò)架構(gòu):數(shù)據(jù)中臺涉及與多方的源系統(tǒng)進(jìn)行數(shù)據(jù)交互,而網(wǎng)絡(luò)設(shè)計(jì)對于后續(xù)數(shù)據(jù)同步、接口調(diào)用等有較大影響。
部署架構(gòu):這部分設(shè)計(jì)主要涉及數(shù)據(jù)中臺的研發(fā)平臺與應(yīng)用軟件。需包含整體的部署方案。
安全架構(gòu):主要包含研發(fā)平臺的用戶角色權(quán)限控制方案、開發(fā)與生產(chǎn)環(huán)境隔離方案、數(shù)據(jù)安全方案。
(3)數(shù)據(jù)模型設(shè)計(jì)規(guī)范與標(biāo)準(zhǔn)良好的數(shù)據(jù)模型可方便、有效地組織數(shù)據(jù)中臺中存儲的企業(yè)數(shù)據(jù)資產(chǎn),所以數(shù)據(jù)模型的設(shè)計(jì)工作有必要遵循一定的規(guī)范和約束。2. 數(shù)據(jù)設(shè)計(jì) (數(shù)據(jù)集成、模型設(shè)計(jì)和服務(wù)詳設(shè))數(shù)據(jù)設(shè)計(jì)包括數(shù)據(jù)集成、模型設(shè)計(jì)和服務(wù)詳設(shè),
數(shù)據(jù)集成數(shù)據(jù)集成需要解決不同源系統(tǒng)數(shù)據(jù)異構(gòu)性問題。結(jié)構(gòu)化數(shù)據(jù)一般以二維形式存儲在關(guān)系型數(shù)據(jù)庫中,對于這種數(shù)據(jù)類型,數(shù)據(jù)集成有 3 種方式。直連同步:通過規(guī)范的 API(如 JDBC)直接連接業(yè)務(wù)庫。但是業(yè)務(wù)庫直連的方式對源系統(tǒng)的性能影響較大,當(dāng)執(zhí)行大批量數(shù)據(jù)同步時會降低甚至拖垮業(yè)務(wù)系統(tǒng)的性能,此種抽取方式性能較差,不太建議使用。
數(shù)據(jù)文件同步:通過約定好的文件編碼、大小、格式等,直接從源系統(tǒng)生成數(shù)據(jù)的文件,由專門的文件服務(wù)器加載到數(shù)據(jù)中臺。但由于要保證數(shù)據(jù)文件的完整性,通常除數(shù)據(jù)文件外,還需要上傳校驗(yàn)文件,供下游系統(tǒng)做數(shù)據(jù)校驗(yàn)。
數(shù)據(jù)庫日志解析同步:這種方式實(shí)現(xiàn)了實(shí)時與準(zhǔn)實(shí)時同步,延遲可以控制在毫秒級別,并且對業(yè)務(wù)系統(tǒng)的性能影響比較小,目前應(yīng)用較為廣泛。除了數(shù)據(jù)讀取的方式,還可按數(shù)據(jù)量來分解數(shù)據(jù)集成策略。

?小數(shù)據(jù)量同步:數(shù)據(jù)記錄小于 10 萬條的源表建議每日全量更新,寫入全量分區(qū)表。全量分區(qū)表可按天創(chuàng)建。可根據(jù)業(yè)務(wù)需要設(shè)置數(shù)據(jù)的生命周期,并定時清理。
大數(shù)據(jù)量同步:數(shù)據(jù)記錄大于 10 萬條的源表通過時間戳抽取增量數(shù)據(jù)到增量分區(qū)表。增量分區(qū)表可設(shè)置長周期,根據(jù)需要設(shè)置冷、溫、熱數(shù)據(jù)區(qū)。非結(jié)構(gòu)化數(shù)據(jù)一般沒有固定的結(jié)構(gòu),各種文檔、圖片、視頻、音頻等都屬于非結(jié)構(gòu)化數(shù)據(jù)。對于這類數(shù)據(jù),數(shù)據(jù)集成策略通常是直接整體存儲,而且一般存儲為二進(jìn)制的數(shù)據(jù)格式。除了結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),還有半結(jié)構(gòu)化數(shù)據(jù),常見的數(shù)據(jù)格式有 JSON 和 XML。對于半結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)集成策略同樣可以是直接整體存儲。但隨著數(shù)據(jù)技術(shù)的發(fā)展,NoSQL 數(shù)據(jù)庫已經(jīng)可以很好地支持半結(jié)構(gòu)化數(shù)據(jù)的存儲。
免責(zé)聲明:本公眾號所發(fā)布的文章為本公眾號原創(chuàng),或者是在網(wǎng)絡(luò)搜索到的優(yōu)秀文章進(jìn)行的編輯整理,文章版權(quán)歸原作者所有,僅供讀者朋友們學(xué)習(xí)、參考。對于分享的非原創(chuàng)文章,有些因?yàn)闊o法找到真正來源,如果標(biāo)錯來源或者對于文章中所使用的圖片、鏈接等所包含但不限于軟件、資料等,如有侵權(quán),請直接聯(lián)系后臺,說明具體的文章,后臺會盡快刪除。給您帶來的不便,深表歉意。