內容提要
在阿里巴巴集團內,數據人員面臨的現實情況是:集團數據存儲已經達到EB級別,部分單張表每天的數據記錄數高達幾千億條;在2016年“雙11購物狂歡節”的24小時中,支付金額達到了1207億元人民幣,支付峰值高達12萬筆/秒,下單峰值達17.5萬筆/秒,媒體直播大屏處理的總數據量高達百億級別且所有數據都需要做到實時、準確地對外披露……巨大的信息量給數據採集、存儲和計算都帶來了極大的挑戰。
《大數據之路:阿里巴巴大數據實踐》就是在此背景下完成的。《大數據之路:阿里巴巴大數據實踐》中講到的阿里巴巴大數據系統架構,就是為了滿足不斷變化的業務需求,同時實現系統的高度擴展性、靈活性以及數據展現的高性能而設計的。
《大數據之路:阿里巴巴大數據實踐》由阿里巴巴數據技術及產品部組織並完成寫作,是阿里巴巴分享對大數據的認知,與生態夥伴共創數據智慧型的重要基石。相信《大數據之路:阿里巴巴大數據實踐》中的實踐和思考對同行會有很大的啟發和借鑑意義。
目錄
第1章 總述1
第1篇 數據技術篇
第2章 日誌採集 8
2.1 瀏覽器的頁面日誌採集 8
2.1.1 頁面瀏覽日誌採集流程 9
2.1.2 頁面互動日誌採集 14
2.1.3 頁面日誌的伺服器端清洗和預處理 15
2.2 無線客戶端的日誌採集 16
2.2.1 頁面事件 17
2.2.2 控制項點擊及其他事件 18
2.2.3 特殊場景 19
2.2.4 H5 & Native日誌統一 20
2.2.5 設備標識 22
2.2.6 日誌傳輸 23
2.3 日誌採集的挑戰 24
2.3.1 典型場景 24
2.3.2 大促保障 26
第3章 數據同步 29
3.1 數據同步基礎 29
3.1.1 直連同步 30
3.1.2 數據檔案同步 30
3.1.3 資料庫日誌解析同步 31
3.2 阿里數據倉庫的同步方式 35
3.2.1 批量數據同步 35
3.2.2 實時數據同步 37
3.3 數據同步遇到的問題與解決方案 39
3.3.1 分庫分表的處理 39
3.3.2 高效同步和批量同步 41
3.3.3 增量與全量同步的合併 42
3.3.4 同步性能的處理 43
3.3.5 數據漂移的處理 45
第4章 離線數據開發 48
4.1 數據開發平台 48
4.1.1 統一計算平台 49
4.1.2 統一開發平台 53
4.2 任務調度系統 58
4.2.1 背景 58
4.2.2 介紹 60
4.2.3 特點及套用 65
第5章 實時技術 68
5.1 簡介 69
5.2 流式技術架構 71
5.2.1 數據採集 72
5.2.2 數據處理 74
5.2.3 數據存儲 78
5.2.4 數據服務 80
5.3 流式數據模型 80
5.3.1 數據分層 80
5.3.2 多流關聯 83
5.3.3 維表使用 84
5.4 大促挑戰&保障 86
5.4.1 大促特徵 86
5.4.2 大促保障 88
第6章 數據服務 91
6.1 服務架構演進 91
6.1.1 DWSOA 92
6.1.2 OpenAPI 93
6.1.3 SmartDQ 94
6.1.4 統一的數據服務層 96
6.2 技術架構 97
6.2.1 SmartDQ 97
6.2.2 iPush 100
6.2.3 Lego 101
6.2.4 uTiming 102
6.3 最佳實踐 103
6.3.1 性能 103
6.3.2 穩定性 111
第7章 數據挖掘 116
7.1 數據挖掘概述 116
7.2 數據挖掘算法平台 117
7.3 數據挖掘中台體系 119
7.3.1 挖掘數據中台 120
7.3.2 挖掘算法中台 122
7.4 數據挖掘案例 123
7.4.1 用戶畫像 123
7.4.2 網際網路反作弊 125
第2篇 數據模型篇
第8章 大數據領域建模綜述 130
8.1 為什麼需要數據建模 130
8.2 關係資料庫系統和數據倉庫 131
8.3 從OLTP和OLAP系統的區別看模型方法論的選擇 132
8.4 典型的數據倉庫建模方法論 132
8.4.1 ER模型 132
8.4.2 維度模型 133
8.4.3 Data Vault模型 134
8.4.4 Anchor模型 135
8.5 阿里巴巴數據模型實踐綜述 136
第9章 阿里巴巴數據整合及管理體系 138
9.1 概述 138
9.1.1 定位及價值 139
9.1.2 體系架構 139
9.2 規範定義 140
9.2.1 名詞術語 141
9.2.2 指標體系 141
9.3 模型設計 148
9.3.1 指導理論 148
9.3.2 模型層次 148
9.3.3 基本原則 150
9.4 模型實施 152
9.4.1 業界常用的模型實施過程 152
9.4.2 OneData實施過程 154
第10章 維度設計 159
10.1 維度設計基礎 159
10.1.1 維度的基本概念 159
10.1.2 維度的基本設計方法 160
10.1.3 維度的層次結構 162
10.1.4 規範化和反規範化 163
10.1.5 一致性維度和交叉探查 165
10.2 維度設計高級主題 166
10.2.1 維度整合 166
10.2.2 水平拆分 169
10.2.3 垂直拆分 170
10.2.4 歷史歸檔 171
10.3 維度變化 172
10.3.1 緩慢變化維 172
10.3.2 快照維表 174
10.3.3 極限存儲 175
10.3.4 微型維度 178
10.4 特殊維度 180
10.4.1 遞歸層次 180
10.4.2 行為維度 184
10.4.3 多值維度 185
10.4.4 多值屬性 187
10.4.5 雜項維度 188
第11章 事實表設計 190
11.1 事實表基礎 190
11.1.1 事實表特性 190
11.1.2 事實表設計原則 191
11.1.3 事實表設計方法 193
11.2 事務事實表 196
11.2.1 設計過程 196
11.2.2 單事務事實表 200
11.2.3 多事務事實表 202
11.2.4 兩種事實表對比 206
11.2.5 父子事實的處理方式 208
11.2.6 事實的設計準則 209
11.3 周期快照事實表 210
11.3.1 特性 211
11.3.2 實例 212
11.3.3 注意事項 217
11.4 累積快照事實表 218
11.4.1 設計過程 218
11.4.2 特點 221
11.4.3 特殊處理 223
11.4.4 物理實現 225
11.5 三種事實表的比較 227
11.6 無事實的事實表 228
11.7 聚集型事實表 228
11.7.1 聚集的基本原則 229
11.7.2 聚集的基本步驟 229
11.7.3 阿里公共匯總層 230
11.7.4 聚集補充說明 234
第3篇 數據管理篇
第12章 元數據 236
12.1 元數據概述 236
12.1.1 元數據定義 236
12.1.2 元數據價值 237
12.1.3 統一元數據體系建設 238
12.2 元數據套用 239
12.2.1 Data Profile 239
12.2.2 元數據門戶 241
12.2.3 套用鏈路分析 241
12.2.4 數據建模 242
12.2.5 驅動ETL開發 243
第13章 計算管理 245
13.1 系統最佳化 245
13.1.1 HBO 246
13.1.2 CBO 249
13.2 任務最佳化 256
13.2.1 Map傾斜 257
13.2.2 Join傾斜 261
13.2.3 Reduce傾斜 269
第14章 存儲和成本管理 275
14.1 數據壓縮 275
14.2 數據重分布 276
14.3 存儲治理項最佳化 277
14.4 生命周期管理 278
14.4.1 生命周期管理策略 278
14.4.2 通用的生命周期管理矩陣 280
14.5 數據成本計量 283
14.6 數據使用計費 284
第15章 數據質量 285
15.1 數據質量保障原則 285
15.2 數據質量方法概述 287
15.2.1 消費場景知曉 289
15.2.2 數據加工過程卡點校驗 292
15.2.3 風險點監控 295
15.2.4 質量衡量 299
第4篇 數據套用篇
第16章 數據套用 304
16.1 生意參謀 305
16.1.1 背景概述 305
16.1.2 功能架構與技術能力 307
16.1.3 商家套用實踐 310
16.2 對內數據產品平台 313
16.2.1 定位 313
16.2.2 產品建設歷程 314
16.2.3 整體架構介紹 317
附錄A 本書插圖索引 320