在阿里巴巴集团内,数据人员面临的现实情况是:集团数据存储已经达到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
......(更多)
为此,我们设计了两个线程池:Get 线程池和 List 线程池,分别处理 Get 请求和 List 请求,这样就不会因为某些 List 慢查询,而影响到 Get 快查询。
......(更多)