作者:楚牧
前言
在
Dataphin核心功能: 規劃功能一文中, 講到過Dataphin的OneModel方法論将資料建設分為四層, 分别為主題域模型(模組化), 概念模型, 邏輯模型和分析模型。前兩個模型已在規劃一文中介紹過, 本文将繼續展開邏輯模型和分析模型的講解。這四層都是屬于Dataphin的智能研發,也稱規範研發或邏輯化研發。除此之外, Dataphin還支援傳統通用的各種研發方式, 如 SQL, MapReduce, Shell, Python 等,本文将重點解釋智能研發。

資料分層
在介紹智能研發的邏輯模型和分析模型之前, 先簡單說下另一種次元的資料分層。目前, 在資料中台領域, 通用的做法是根據資料的使用場景和生産方式, 将資料分為:
- ODS (Operational Data Source), 按照字面了解是操作資料來源, 通常的叫法是貼源資料層。ODS是從業務應用系統中同步過來的資料, 一般不對資料做任何清洗加工、鏡像複制, 但是會保留多個版本,因為業務應用的資料一直在更新變化, ODS會保留部分中間過程版本資料。
- CDM (Common Data Model), 公共資料模型層, 資料的清洗加工, 模組化都在這一層進行,智能研發也主要在這一層。
- ADS/ADM (Application Data Summary) 應用資料層, 面向具體業務場景的資料研發。
Dataphin中,規劃到研發的流程一般是, 規劃(闆塊劃分->主題域模組化->概念模組化) -> 項目建立 -> ODS (資料上雲/資料同步) -> CDM (邏輯模組化->分析模組化) -> ADS
邏輯模型
根據上一節的介紹, 現在假設 規劃->項目建立->ODS 均已完成, 接下來就進入了邏輯模組化
屬性與限制
在概念模組化中, 建立好實體, 配置好實體間的關系, 整個業務的大圖就已經清晰的落地到資料中台。但是不同實體除了名字不同, 關系不一樣之外, 還有哪些差別呢?例如,使用者和會員有什麼差別,這就是邏輯模組化要來解決的問題。邏輯模組化的核心工作是梳理實體的特征, 即給實體添加屬性, 并明确屬性的業務限制, 一個實體有很多屬性(也叫特征), 這些屬性可以用于區分實體。
屬性按照類型, 可以分為:
- 辨別屬性, 即實體的某個具體執行個體的唯一辨別。實體是一個抽象概念, 實體執行個體是具體事物。比如,商品鞋是一個實體。一雙36碼、白色、編碼為6901234的鞋就是一個執行個體。一個實體可以有多個辨別屬性, 如商品ID, 商品編碼
- 關聯實體屬性, 實體的某個屬性本身可能也是一個實體。比如, 商品的賣家(貨主)屬性, 賣家是一個獨立的實體
- 描述屬性, 表述實體某一個次元的特征的一般屬性, 實體中的定性屬性, 一般是文本字元類型,如, 名稱
- 度量屬性, 某個次元數量程度的屬性, 定量屬性. 一般是數值類型, 如: 金額, 價格
- 時間屬性, 描述實體某個行為的時間
根據實體的類型(業務對象或業務活動), 每個實體都有一些必須有的屬性, 即關鍵屬性:
- 業務對象至少有一個辨別屬性, 根據業務可以添加其他關鍵屬性
- 業務活動必須有一個關聯實體屬性來辨別活動的主體(發起人, 比如 訂單活動中的買家), 一個或多個時間屬性來明确活動時間。
實體豐富了屬性之後還不能完全反映業務現實, 還需要給屬性加上一些限制規則:
- 取值規則, 限制屬性的取值範圍, 即限制實體執行個體中該屬性的具體内容的有效性
- 枚舉值, 如 鞋子顔色隻有黑色和白色兩個
- 取值範圍, 如 年齡一般是0~150
- 模式比對, 如 身份證号碼必須是15或者18位, 且最後一位才能有字母X, 其他必須是數字
- 唯一性, 除辨別屬性外, 其他屬性也可能有唯一性要求
- 非空性, 不允許該屬性出現空值
- 其他
執行個體化
定義好邏輯模型後, 映射資料到模型的過程就是模型的執行個體化, 淺白的說就是将實體的資料映射到邏輯模型。執行個體化的資料來源是ODS資料,少數情形下, ODS資料需要做一些額外處理, 将其按照一定的規則注冊挂載到邏輯模型。Dataphin将根據映射自動生成計算代碼和周期排程任務, 并基于屬性限制生成資料品質校驗規則。到這一步, 就完成了邏輯模型的建構。
分析模型
邏輯模型建構後之後, 基于邏輯模型可以建構分析模型, 即下圖中的業務分析模型。分析模型的目标是快速生成業務分析中的名額,稱為派生名額, 并且保障這些名額的可靠性和可維護性。通過把最終使用的名額拆解為四個基本組成部分,以最近30天按省份30歲以上男性下單金額為例:
- 統計周期, 業務發生的時間區段, 即例子中的 "最近30天"
- 原子名額, 分析名額不區分次元不加任何限制限制的基礎抽象, 即例子中的 "下單金額", 原子名額是對實體的某個屬性在所有實體執行個體上的整體刻畫, 是一種統計性描述, 即原子名額一定是一個聚合表達式,如求和, 平均, 最大, 最小等
- 業務限定, 名額上的業務限制, 即例子中的 "30歲以上男性"
- 統計粒度, 分析的次元, 看業務的視角, 即例子中的 "省份"
以上描述可能還是讓人無法準确明白分析模型是什麼, 可以參照下圖, 從傳統SQL視角來了解:
分析模組化的步驟是, 統計周期設定(系統内置了大部分常用統計周期)->原子名額/業務限定配置->派生名額配置, 所有配置完成後, 系統将自動生成計算代碼(如上圖)和周期排程任務。
Dataphin通過規範化、子產品化的低代碼配置式研發, 有效的保證了模型與代碼的一緻性。
關聯閱讀:
Dataphin産品核心功能大圖(一)規劃: 企業資料體系應該怎麼規劃 Dataphin産品核心功能大圖(二)內建:如何将業務系統的資料抽取彙聚到資料中台了解産品更多内容可以戳入:
https://dp.alibaba.com/product/dataphin資料中台是企業數智化的必經之路,阿裡巴巴認為資料中台是集方法論、工具、組織于一體的,“快”、“準”、“全”、“統”、“通”的智能大資料體系。
目前正通過阿裡雲對外輸出系列解決方案,包括
通用資料中台解決方案、
零售資料中台解決方案 金融資料中台解決方案 網際網路資料中台解決方案 政務資料中台解決方案等細分場景。
其中阿裡雲資料中台産品矩陣是以Dataphin為基座,以Quick系列為業務場景化切入,包括:
- - Dataphin,一站式、智能化的資料建構及管理平台 ;
- - Quick BI,随時随地 智能決策
- - Quick Audience,全方位洞察、全域營銷、智能增長
- - Quick A+, 跨多端全域應用體驗分析及洞察的一站式資料化營運平台
- - Quick Stock, 智能貨品營運平台
- - Quick Decision,智能決策平台
官方站點:
資料中台官網
https://dp.alibaba.com釘釘溝通群和微信公衆号