数据仓库分层——读书笔记

  |   0 评论   |   1,699 浏览

背景

下面的内容是基于参考中的文档进行的二次读书笔记。

数据分层

传统行业

传统行业的数据仓库工程师, 开始尝试架构工程领域比较流行的ER模型+维度模型方式,构建出一个四层的模型架构

  • ODL(数据操作层, ODS层): 与源系统一致
  • BDL(基础数据层, DWD层): 引入ER模型,加强数据的整合,构建一致的基础数据模型
  • IDL(接口数据层, DWA/DWI层): 基于维度模型方法构建集市层
  • ADL(应用数据层, ST层): 应用的个性化和基于展现需求的数据组装

阿里在构建ER时碰到了较大的挑战,主要是业务快速发展,人员快速变化、业务知识功底的不够全面,导致ER模型产出困难。

阿里得出了一个结论:在不太成熟、快速变化的业务层面,构建ER模型的风险很大,不太适合去构建ER模型,说的有点道理,比如运营商业务相对比较稳定,国际上也有一些最佳实践,从概念-领域-逻辑-物理的全局把控上还能应对,但面对变化,的确有其限制。

阿里巴巴

阿里业务和数据飞速发展,迎来了hadoop为代表的分部署存储计算的快速发展,同时阿里自主研发的分布式计算平台MaxCompute也在进行,因此开始建设自己的第三代模型架构,其选择了以Kimball的维度建模为核心理念的模型方法论,同时进行了一定的升级和扩展,构建了阿里巴巴集团的公共层模型数据架构体系。

  • ODS: 操作数据
  • DWD: 公共数据
  • DWS: 公共汇总
  • ADS: 应用数据

ODS(操作数据层)

把操作系统数据几乎无处理的存放到数据仓库系统中。

CDM(公共维度模型层)

又细分为DWD和DWS,分别是明细数据层和汇总数据层,采用维度模型方法作为理论基础,更多采用一些维度退化方法,将维度退化至事实表中,减少事实表和维表的关联,提高明细数据表的易用性,同时在汇总数据层,加强指标的维度退化,采取更多的宽表化手段构建公共指标数据层,提升公共指标的复用性。

DWD(明细数据层)

DWS(汇总数据层)

ADS(应用数据层)

存放数据产品个性化的统计指标数据,根据CDM与ODS加工生成。

数据挖掘中台

应用层ADM

  • 竞争关系挖掘
  • 销量预期,定价

中间层

个体中间层IDM

IDM层,个体挖掘指标中间层,面向个体挖掘场景,用于存储通用性强的结果数据

  • 商品基础挖掘数据
  • 买家基础挖掘数据
  • 店铺基础挖掘数据
  • 品牌基础挖掘数据
  • 行业基础挖掘数据

关系中间层RDM

  • 商品相似关系
  • 商品竞争关系
  • 商品搭配关系
  • 店铺相似关系
  • 店铺竞争关系

特征层FDM

FDM层,用于存储在模型训练常用的特征指标。

  • 搜索
  • 浏览
  • 收藏
  • 加购
  • 支付
  • 关系类数据
  • 评论
  • 地理位置

Hbase热点解决

Hbase数据是按照rowkey来进行hash的,因此关键在于rowkey的设计。

rowkey可以采取MD5+主维度+维度标识+字维度+时间维度+子维度2,例如卖家ID的MD5的前四位+卖家ID+app+一级类目+ddd+二级类目ID。

以MD5的前四位作为rowkey的第一部分,可以把数据散列,让服务器整体负载均衡,避免热点的问题。

参考

评论

发表评论

validate