數字產業化、產業數字化...如今數字化不再是一種競爭優勢,僅僅是一張新時代的“入場券”。企業通過打造數字化中臺將共性需求進行抽象,並打造為平臺化、組件化的系統能力,以接口、組件等形式共享給各業務單元使用。企業可以針對特定問題,快速靈活地調用資源構建解決方案,為業務的創新和迭代賦能。數字中臺是企業數字能力共享平臺,是平臺的平臺,是創建數據智能的重要基石
大數據平臺
數據作為一個生態級的平臺企業最直接的沉澱,亦是最基本的再生產資料。阿里作為大數據戰略的核心踐行者,致力於“大數據,賦能商業,創造價值”,構建了從底層的數據採集、數據處理,到挖掘算法、數據應用服務以及數據產品的全鏈路、標準化的大數據體系,以探索全域數據的價值
DT時代,大數據井噴式爆發,加大了數據模型、數據研發、數據質量和運維保障工作的難度;日益豐富的業態,也帶來各種各樣、紛繁複雜的數據需求
建設高效的數據模型和體系,使數據易用,避免重複建設和數據不一致,保證數據的規範性;提供高效易用的數據開發工具;做好數據質量保證;有效管理和控制日益增長的存儲和計算消耗;保證數據服務的穩定和性能;設計有效的數據產品高效賦能於外部客戶和內部員工......這些都給大數據系統建設提出了更復雜的要求,下圖是阿里巴巴大數據系統體系架構圖,從圖中可以清晰地看到數據體系主要分為數據採集、數據計算、數據服務和數據應用四個層次
數據技術篇
數據採集分為日誌採集和數據庫數據同步兩部分
- 日誌採集 日誌採集方案包括兩大體系Aplus.JS(Web端基於瀏覽器)和UserTrack是App端(無線客戶端)。瀏覽器頁面日誌採集包括頁面瀏覽日誌採集(PV、UV),頁面交互日誌採集獲取用戶行為日誌
數據同步 即不同系統之間的數據流轉,有多種不同的用於場景(主數據庫與備數據庫之間的備份、主系統與子系統之間的數據更新、同類型不同集群數據庫之間的數據同步等)。對與大數據系統來說包含數據從業務系統同步進入數據倉庫和數據從數據倉庫同步進入數據服務或數據應用兩個方面。同步可分為三種方式:直連同步、數據文件同步和數據庫日誌解析同步。數據倉庫的特性之一是集成,將不同的數據來源、不同形式的數據整合在一起,所以從不同業務系統將各類數據源同步到數據倉庫是一切的開始。阿里數據倉庫的數據同步特點是數據來源的多樣和數據量龐大,要根據數據源類型和數據應用的時效性要求而採取不同的策略,策略包括:批量數據同步、實時數據同
離線數據開發 數據計算層包括兩大體系:數據存儲及計算平臺(離線計算平臺MaxCompute和實時計算平臺StreamCompute)、數據整合及管道管理體系(OneData)。阿里離線數據倉庫的存儲和計算都是在阿里雲大數據計算服務MaxCompute上完成的
MaxCompute由四部分組成,分別是
1.客戶端 客戶端有Web、SDK、CLT及IDE等幾種形式
2.接入層 提供HTTP服務、Cache、負載均衡,實現用戶認證和服務層面的訪問控制
3.邏輯層(控制層) 是MaxCompute的核心部分,實現用戶空間和對象的管理、命令的解析與執行邏輯、數據對象的範根控制與授權等功能。有Worker、Scheduler和Excutor三個角色
4.存儲與計算層 計算層就是飛天內核(Apsara Core),運行在和控制層相互獨立的計算集群上,包括Pangu(分佈式文件系統)、Fuxi(資源調度系統)、Nuwa/ZK(Namespace服務)、Shennong(監控模塊)等
MaxCompute的特點:計算性能高且更加普惠、集群規模大且穩定性高、功能組件非常強大、安全性高
- 實時技術 相對於離線批處理技術,流式實時技術作為一個非常重要的技術補充,按照數據延遲情況,時效性一般分為三種離線、準實時、實時。流式數據處理技術使之業務系統每產生一條數據,就會立即被採集實時發送到流失任務中進行處理,不需要定時調度任務來處理數據。流式數據處理一般具有以下特徵:時效性高、常駐任務、性能要求高、應用侷限性
流式計算技術中,需要各個子系統之間相互依賴形成一條數據處理鏈路,才能產出結果最終對外提供實時數據服務。主要分為以下幾部分
1.數據採集 數據的源頭,所採集的數據都來自於業務服務器,從所採集的數據種類來看,主要可以劃分為數據庫變更日誌和引擎訪問日誌,這些數據被採集到數據中間件中,供下游實時訂閱使用
2.數據處理 實時計算任務部署在流式計算系統上,通過數據中間件獲取到實時源數據後進行實時加工處理。阿里雲提供的StreamCompute系統,作為業界首創的全鏈路計算開發平臺,涵蓋了從數據採集到數據生產各個環節
實時任務的幾個典型問題:去重指標(精確去重、模糊去重)——布隆過濾器、基數估計;數據傾斜——去重指標分桶、非去重指標分桶;事務處理——超時時間、事務信息、備份機制
3.數據存儲 實時任務在運行過程中,會計算很多維度和指標,這些數據需要放在一個存儲系統中作為恢復或者關聯使用。其中會涉及三種類型的數據:中間計算結果、最終結果數據、維表數據
4.數據服務 實時數據落地到存儲系統後,使用方就可以通過同意的數據服務獲取到實時數據。例如接下來要介紹的OneService,其好處是:不需要直連數據庫,數據源等信息在數據服務層維護,當存儲系統遷移時,對下游是透明的;調用方只需要使用服務層暴露的接口,不需要關係底層數邏輯實現;屏蔽存儲系統間的差異,統一的調用日誌輸出,便於分析和監控下游使用情況
流式數據模型 數據模型涉及是貫通數據處理過程的,實時數據模型是離線數據模型的一個子集,在實時數據處理過程中,多參考離線數據模型實現。下面從三個方面說明
數據分層
- ODS 屬於操作數據層,直接從業務系統採集過來的最原始數據,包含所有業務的變更過程,數據粒度最細。在這一層實時和離線在源頭上是一致的,用同一份數據加工出來的指標口徑基本是統一的
- DWD 在ODS層基礎上,根據業務過程建模出來的實時事實明細層,對訪問日誌這種沒有上下文關係且不需要等待過程的數據記錄,會迴流到離線系統供下游使用,最大程度地保證實時和離線數據在ODS層和DWD層是一致的
- DWS 訂閱明細層的數據後,會在實時任務中計算各個維度的彙總指標。如果維度是各個垂直業務線通用的,則會放在實時通用匯總層,作為通用的數據模型使用
- ADS 個性化維度彙總層,對於不是特別通用的統計維度數據(垂直創新業務中)會放在這裡
- DIM 實時維表層的數據基本上都是從離線維表層導出來的,抽取到在線系統中供實時應用調用
多流關聯 流式計算中數據到達是一個增量過程,並且數據到達的時間是不確定的和無序的,因此在數據處理過程中會涉及中間狀態的保存和恢復機制等細節問題
維表使用 在實時計算中,關聯維表一般會使用當前的實時數據(T)去關聯T-2的維表數據,相當於在T的數據到達之前需要把維表數據準備好,並且一般是一份靜態的數據。在實時計算中這樣做是基於以下幾點考慮:數據無法及時準備好、無法準確獲取全量的最新數據、數據的無序性——全量加載、增量加載
- 數據服務 基於性能、擴展性和穩定性等方面的要求,不斷升級數據服務架構,依次經歷了DWSOA、OpenAPI、SmartDQ和OneService的四個階段
OneService階段開始真正走向平臺化,提供數據服務的核心引擎、開發配置平臺以及門戶網站。數據生產者將數據入庫之後,服務提供者可以根據標準規範快速創建服務、發佈服務、監控服務、下限服務,服務調用者可以在門戶網站中快速檢索服務,申請權限和調用服務
- 數據挖掘 數據挖掘技術與數據倉庫及計算技術的發展是相輔相成的,得益於阿里雲MaxCompute雲計算平臺的發展,海量、高速、多變化、多終端的結構與非結構化數據得以存儲並高效地計算,面向海量會員和商品的全局畫像、基於自然人的全域ID-Mapping、廣告精準投放、千人千面的個性化搜索與推薦技術、商業競爭情報的自動化挖掘系統...已經深入阿里業務的各個環節。基於大數據的企業級數據挖掘需要包含兩個要素:面向機器學習算法的並行計算框架與算法平臺、面向企業級數據挖掘的算法資產管理體系
數據挖掘算法平臺 阿里算法平臺選用MPI作為基礎計算框架,其核心機器學習算法的開發都是基於阿里雲MacCompute的MPI實現的
數據模型篇
- 大數據領域建模綜述 數據模型就是數據組織和存儲方法,它強調從業務、數據存取和使用角度合理存儲數據。大數據體系需要數據模型方法來幫助更好地組織和存儲數據,以便在性能、成本、效率和質量之間取得最佳平衡
典型的數據倉庫建模方法論
1.ER模型 數據倉庫中的3NF與OLTP系統中的3NF的區別在於,它是站在企業角度面向主題的抽象,而不是某個具體業務流程的實體對象關係的抽象。具有以下介個特點:需要全面瞭解企業業務和數據;事實週期非常長;對建模人員的能力要求非常高。採用ER模型建設數據倉庫模型的出發點是整合數據,將各個系統中的數據以整個企業角度按主題進行相似性組合和合並,並進行一致性處理,為數據分析決策服務,但是並不能直接用於分析決策。建模步驟分為三個階段:高層模型、中層模型、物理模型
2.維度模型 從分析決策的需求出發構建模型,為分析需求服務,因此它重點關注用戶如何更快速地完成需求分析。其設計分為以下幾個步驟:選擇需要進行分析決策的業務過程、選擇粒度、識別維度、選擇事實
3.Data Vault模型 ER模型的衍生,其設計出發點也是為了數據整合,但不能直接用於數據分析決策,它強調建立一個可審計的基礎數據層,同時它基於主題概念將企業數據進行結構化組織,並引入更進一步的範式處理來優化模型,以應對源系統變更的擴展性。由Hub、Link、Statelite幾個部分組成
4.Anchor模型 其初衷是設計一個高度可擴展的模型,核心思想是所有的擴展只是添加而不是修改,因此將模型規範到6NF,基本變成了k-v結構化模型。由Anchors、Attributes、Ties、Knots組成
- 數據整合及管理體系 阿里集團大數據建設方法論的核心是:從業務架構設計到模型設計,從數據研發到數據服務,做到數據可管理、可追溯、可規避重複建設,構建統一、規範、可共享的全域數據體系。目前數據公共層團隊已把這套方法論沉澱為產品,幫助PD、數據模型師和ETL工程師建設阿里的大數據
定位及價值 建設統一的、規範化的數據接入層(ODS)和數據中間層(DWD和DWS),通過數據服務和數據產品,完成服務於阿里的大數據系統建設,及數據公共層建設。提供標準化的、共享的、數據服務能力,降低數據互通成本,釋放計算、存儲、人力等資源——降本增效
業務板塊 根據業務屬性劃分出幾個相對獨立的業務板塊,業務板塊之間的指標或業務重疊性較小
規範定義 結合行業的數據倉庫建設經驗和自身特點,設計出的一套數據規範命名體系,規範定義將會被用在模型設計中。以維度建模作為理論基礎,構建總線矩陣,劃分和定義數據域、業務過程、維度、度量/原子指標、修飾類型、修飾詞、時間週期、派生指標
指標體系 涵蓋其組成體系:原子指標、派生指標、修飾類型、修飾詞、時間週期,作為一個整體來解讀
模型設計 以維度建模理論為基礎,基於維度建模總線架構,構建一致性的維度和事實(進行規範定義)。模型層次分為三層:操作數據層(ODS)、公共維度模型層(CDM)和應用數據層(ADS)
基本原則:高內聚和低耦合、核心模型與擴展模型分離、公共處理邏輯下沉及單一、成本與性能平衡、數據可回滾、一致性、命名清晰、可理解
原則1 儘可能包含所有與業務過程相關的事實
原則2 只選擇與業務過程相關的事實
原則3 分解不可加性事實為可加的組件
原則4 在選擇維度和事實之前必須先聲明粒度
原則5 在同一個事實表中不能有多種不同粒度的事實
原則6 事實的單位要保持一致
原則7 對事實的 null 值要處理
原則8 使用退化維度提高事實表的易用性
事實表設計方法步驟 選擇業務過程及確定事實表類型、聲明粒度、確定維度、確定事實、冗餘維度
數據管理篇
- 元數據(MetaData) 是關於數據的數據。元數據打通了源數據、數據倉庫、數據應用,記錄了數據從生產到消費的全過程。元數據主要記錄數據倉庫中模型的定義、各層級間的映射關係、監控數據倉庫的數據狀態及ETL的任務運行狀態。按用途分為技術元數據和業務元數據兩類,技術元數據是存儲關於數據倉庫系統技術細節的數據,是用於開發和管理數據倉庫使用的數據,包括分佈式計算系統存儲元數據、分佈式計算系統運行元數據、數據開發平臺中數據同步和計算任務及任務調度等信息、數據質量和運維相關元數據;業務元數據從業務角度描述了數據倉庫中的數據,它提供了介於使用者和實際系統之間的語義層,使得不懂計算機業務的人員也能夠“讀懂”數據倉庫中的數據,包括OneData元數據、數據應用元數據
數據的真正價值在於數據驅動決策,通過數據指導運營,即數據化運營。元數據的重要應用價值在於,它是數據管理、數據內容、數據應用的基礎,在數據管理方面為集團數據提供在計算、存儲、成本、質量、安全、模型等治理領域上的數據支持。元數據建設的目標是打通數據接入到加工,再到數據消費整個鏈路,規範元數據體系與模型,提供統一的元數據服務出口,保障元數據產出的穩定性和質量
數據智能平臺
從技術的角度來看,數據智能是指基於大數據引擎,通過大規模機器學習和深度學習等技術, 對海量數據進行處理、分析和挖掘,提取數據中所包含的有價值的信息和知識,使數據具有“智能”,並通過建立模型尋求現有問題的解決方案以及實現預測等
特點:數據智能的目的是預測和決策;數據智能得以實現的技術核心是數據智能平臺;數據智能的呈現載體是數據智能產品;數據智能是可被衡量價值的
本質:數據智能的經濟學本質是決策,解釋的就是“選擇”的效率和效用。能夠解決“決策”問題的才是真正的“智能”,因此在當今數字經濟快速改變商業競爭的時代,數據智能具有極大的經濟意義。數據智能本質上是通過以下幾個方面對經濟產生正向的促進作用
- 降低交易成本,提高決策效率
- 打破有限理性,提高決策穩定
- 替代重複決策,增加價值創造
價值:數據智能平臺(數據中臺)的存在還會提高數據智能價值創造的能力,內生性的提高數據智能的經濟價值,因此,數據智能平臺可以將整個平臺上數據的價值(以對應特定商業情境的可獲得數據形成的數據集存在)和人的智慧(對於行業的業務理解)成倍的放大,我們可以粗略地估計一個數據智能價值公式
數據智能價值 =(數據 + 人的智慧)× 數據智能平臺
那麼數據智能平臺 / 數據中臺的價值是從何而來呢?我們可以看成是兩種效應的加和
1. 第一種效應是提高資源配置效率,收集各個環節的剩餘價值
2. 第二種效應是提高資源的配置效率,提高各個環節的價值產出
企業數字化轉型的幾個階段
1. 業務數據化階段 企業面臨的主要問題是數據獲取,這涉及企業內的技術支持及統一整合, 也涉及流程優化、組織調整及職位的變化
2. 數據資源化階段 企業面臨的主要問題是數據的結構化、數據清洗、數據連接等,如何將歷 史遺留的不同結構、存儲形式的數據打通和整合,從這個階段開始需要有專業的數據人員進行 管理
3. 數據資產化階段 企業面臨的主要問題是數據融合、數據治理和數據準備,以解決數據不可知、 數據不可控、數據不可取以及數據不可聯四大難題。從業務價值驅動的角度,使原始數據變為 變成業務上能夠使用的數據
4. 決策自動化階段 企業面臨的主要問題是企業內部的數據關聯分析、自動化生產驅動決策
5. 場景智能化階段 企業面臨的主要問題是企業外部商業化流程中的數據探索、建模,自動化 生產等,主要突破點是需要形成決策閉環,構建數據智能產品
目前大多數的企業客戶卡在中間的階段,無法實現最終的場景智能化以應用於真正的商業,即 自動化的數據智能產品替代決策
數據智能的發展趨勢
數據智能還有很多需要研究和解決的問題。但是在變道初期如果不能快速跟上,必將會錯失在 一次新的產業革命(甚至是一個新的文明時代)中的趕超良機。因此,必須要認清形勢,把握趨勢,積極謀劃,推動發展。具體來說,未來中國數據智能行業的發展會呈“兩化“趨勢—— 生態化和開源化。
1. 生態化:為了滿足數據智能平臺對數據多源的需求,數據智能公司會傾向於在數據供給和需 求兩方形成壁壘並打通端到端全價值鏈,形成生態是必然趨勢;中小企業將在大公司構建的生 態之上,提供中間的算法服務、工具等。最後會以數據的流通、算法的不斷迭代提升為基礎, 形成端到端的閉環生態
2. 開源化:為了滿足數據智能發展對數據多源性、交叉性提出的新要求,數據智能生態的開放 性將進入一個新的階段——大規模開源階段。許多頂尖的技術和算法確實都是免費提供的,並 且容易下載,但行業知識和經驗流動和掌握相對較慢。開源可以抬高整體行業的壁壘,培養固 定社群和使用習慣,加速數據智能的普及;對於大公司來說,這也是塑造品牌的一個良機
小結
文章主要介紹全域大數據系統的體系結構和發展趨勢,企業個人都面臨賽道切換:大數據時代(DT)到數據智能時代(DI),即人工智能後時代
參考文獻
[1] 《大數據之路 —— 阿里巴巴大數據實戰》
[2] The Data Warehouse Toolkit-The Complete Guide to Dimensional Modeling
[3] Star Schema-The Complete Reference
閱讀更多 數字智能之能 的文章