【常读常悟】《大数据之路-阿里巴巴大数据实践》一书读书摘要
1、背景
该书是阿里巴巴数据技术及产品部开山之作,该部门在阿里集团中定位为数据中台角色。多年来,该部门已经构建了从底层的数据采集、数据处理,到挖掘算法、数据应用服务以及数据产品的全链路、标准化的大数据体系。
2、目录结构
全书分为4个篇幅,共计16个章节。从数据技术讲到数据模型,从数据管理讲到数据应用,阅读起来,循序渐进。
数据技术篇(第2-7章节)共计6个章节
数据模型篇(第8-11章节)共计4个章节
数据管理篇(第12-15章节)共计4个章节
数据应用篇(第16章节)共计1个章节
数据是一个平台企业最直接的沉淀,也是最基本的生产资料。
3、数据加工链路
分层理念:操作数据层、明细数据层、汇总数据层、应用数据层。
- 操作数据层 (Operational Data Store, ODS)
这是数据的原始状态,直接来源于业务系统,如销售记录、客户信息等。这一层的数据通常是实时或近实时更新的,主要用于快速查询和简单的数据分析。 - 明细数据层 (Data Warehouse Detail, DWD)
这一层的数据已经过了一定程度的清洗和转换,保留了所有细节,适合于详细的分析和报告。它作为数据仓库的基础,提供了对历史数据的深入洞察。 - 汇总数据层 (Data Warehouse Summary, DWS)
在这个层次,数据已经被进一步聚合,形成了各种维度的汇总视图。这一层的数据量相对较小,便于快速查询和分析,常用于业务监控和趋势分析。 - 应用数据层 (Application Data Service, ADS)
描述:这是数据处理的最上层,数据经过建模和封装,形成易于消费的服务或产品,可以直接被应用程序或用户界面使用。这一层的数据通常是为了特定的应用场景而定制的。
通过数据仓库不同层次之间的加工过程实现从数据资产向信息资产的转化,并且对整个过程进行有效的元数据管理及数据质量处理。
4、章节摘要
4.1 第2章 日志采集
4.1.1 日志采集方案
- Web端 Aplus.js
- APP端 UserTrack
4.1.2 采集指标
- 页面浏览量 PV
- 访客数 UV
4.2 第3章 数据同步
4.2.1 数据的特点
- 数据来源的多样性
- 数据量大
4.2.2 数据同步的三种方式
- 直连同步:适合操作型业务系统,批量执行拉低系统性能
- 数据文件同步:使用FTP传输文件,对文件进行校验
- 数据库日志解析:实现了实时和准实时同步能力,延迟能够控制在毫秒级别
4.2.3 数据同步的最佳实践
- 批量同步:DataX
- 实时同步:
MySQL数据库中的数据实时同步采用解析binlog日志文件的方式,通过TimeTunnel平台进行消息的分发。
4.3 第4章 离线数据开发
4.3.1 工具
统一计算平台MaxCompute
同类的竞品还有Hadoop
、Spark
4.4 第5章 实时技术
4.4.1 概念
- 离线:在今天(T)处理N天前(T-N,N≥1)的数据,延迟时间粒度为
天
- 准实时:在当前小时(H)处理N天前(H-N,N>0,如0.5小时、1小时)的数据,延迟时间粒度为
小时
- 实时:在当前时刻处理当前数据,延迟时间粒度为
秒
4.4.2 流式数据处理
- 时效性高
- 常驻任务
- 性能要求高
- 应用局限性
4.5 第6章 数据服务
- SmartDQ
- Lego
4.6 第7章 数据挖掘
4.6.1 基于MaxCompute MPI的机器学习算法
分类 | 具体算法 |
---|---|
分类算法 | LogisticRegression、KNN、GBDT、DTC5.0、RandomForest、linearSVM、nonlinearSVM、NativeBayes、Bayes、Fisher判别、马氏距离判别、标签传播分裂等 |
回归算法 | LogisticRegression、GBDT、LASSO、RidgeRegression、Factorization Machines、XGBoost等 |
聚类算法 | K-Means、Canopy、PSC谱聚类、标签传播聚类、EM聚类等 |
推荐算法 | etrec协同过滤(阿里商品协同过滤算法 )、SVD协同过滤、ALS协同过滤等 |
深度学习 | Word2Vec、Doc2Vec、CNN、DBN、DeepMatchModel等 |
其他 | PageRank、LDA、lLSA、关联规则、NMF、CRF、SVD、RankSVM、PCA、kcore、sssp、Modularity计算等 |
4.6.2 数据挖掘流程
数据挖掘流程包括商业理解、数据准备、特征工程、模型训练、模型测试、模型部署、线上应用及效果反馈这8个环节。
4.6.3 挖掘数据中台体系
4.6.3.1 数据中台
4.6.3.1.1 演进路线
数据中台演进的4个阶段。
4.6.3.1.2 分层
数据中台分为三层。特征层、中间层、应用层。
4.6.3.2 算法中台
- 个体挖掘应用
- 关系挖掘应用
4.7 第8章 大数据领域建模综述
4.7.1 数据仓库建模方法
- ER模型:高层建模、中层建模、物理建模
- 维度模型:选择分析决策业务过程、选择粒度、识别维表、选择事实
- Data Vault模型:ER模型的衍生,更容易设计和产出
- Anchor模型:Data Vault模型的规范处理,只增加不修改,规范到6NF
4.8 第9章 阿里巴巴数据整合及管理体系
4.8.1 阿里集团大数据建设方法论
从业务架构设计到模型设计,从数据研发到数据服务,做到数据可管理、可追溯、可规避重复建设。
4.8.2 维度模型建设
4.8.2.1 维度模型层次
维度模型层次关系图如下图所示。
4.8.2.1 维度模型规范定义
4.8.3 模型实施
4.8.3.1 Kimball模型实施
- 高层模型
- 详细模型
- 模型审查、再设计和验证
- 提交ETL设计和开发
4.8.4 OneData实时工作流
图来源于阿里巴巴OneData大数据建设方法论(精华)博客。
4.9 第10章 维度设计
维度是维度建模的基础和灵魂。