没有合适的资源?快使用搜索试试~ 我知道了~
阿里大数据实践-聚集事实表与OneData
需积分: 0 0 下载量 110 浏览量
2024-03-29
10:24:40
上传
评论
收藏 1.58MB DOCX 举报
温馨提示
试读
53页
阿里大数据实践-聚集事实表与OneData
资源推荐
资源详情
资源评论
1
1. 聚集型事实表
数据仓库性能是数据仓库建设是否成功的重要标准之一。聚集主要是通过汇总明细粒度
数据来获得改进查询性能的效果。通过访问聚集数据,可以减少数据库在响应查询时必须执
行的工作量,能够快速响应用户的查询,同时有利于减少不同用户访问明细数据带来的结果
不一致问题。尽管聚集能带来良好的收益,但需要事先对其进行加载和维护,这将会对给 ETL
带来更多的挑战。
阿里将使用频繁的公用数据,通过聚集进行沉淀,比如卖家最近 1 天交易汇总表、卖家
最近 N 天交易汇总表、卖家自然年交易汇总表等。这类聚集汇总数据,被叫做公共数据汇
总层。
在本章节中,前半部分会介绍聚集的基本原则和通用步骤,这些都是我们在建设聚集事
实表中必须明白的事情。后半部分,将会介绍阿里建设公共汇总层的一些实践。
1.1 聚集的基本原则
一致性:聚集表必须提供与查询明细粒度数据一致的查询结果。从设计的角度来看,确
保一致性最简单的方法是确保聚集星型模式的维度和度量与原始模型中的维度和度量保持
一致。
避免单一表设计:不要在同一表中存储不同层次的聚集。如果这样做,将会导致双重计
算或更糟糕的事情。聚集表中有些行存放按天汇总的交易额,有些行存放按月汇总的交易额,
这将会让使用者产生误用导致重复计算。为了避免此类问题,通用的做法是需要在聚集时显
示的加入数据层级列以示区别,但是这样会加大使用者的使用成本。但行之有效的另外一种
2
方法是,把按天与按月汇总的交易额用两列存放,但是这样需要在列名上或者列注释上要能
分辨出来。
聚集粒度可不同:聚集并不需要保持与原始明细粒度数据一样的粒度,聚集只需关心所
需要查询的维度。订单涉及的维度有商品、买家、卖家、地域,可以按照商品汇总一天商品
的交易额,可以按照卖家汇总一天的营业额(交易额),可以按照商品与地域汇总一月的交易
额。
1.2 聚集的基本步骤
第一步:确定聚集维度。在原始明细模型中,会存在多个描述事实的维度,如日期、商
品类别、卖家等,这时候需要确定根据什么维度聚集,如果只关心商品的交易额情况,那就
可以只根据商品维度聚集数据。
第二步:确定一致性上钻。这个时候要关心是按月汇总还是按天汇总,你是按照商品汇
总,还是按照类目汇总,如果按照类目汇总你也需要关心按照大类汇总,还是小类汇总。当
然,要做的只是了解用户需要什么,按照他们想要的聚集。
第三步:确定聚集事实。原始明细模型中可能会有多个事实的度量,比如在交易中,有
交易额,交易数量,这时候你要明确你是需要对交易额进行汇总,还是按照成交数量汇总。
3
1.3 阿里公共汇总层
1.3.1 基本原则
除了聚集的基本原则外,阿里建设公共汇总层还必须遵循以下原则:
数据公用性:汇总的聚集会有第三者使用吗?基于某个维度的聚集是不是经常用于数据
分析中?如果是,那就有必要把明细数据经过汇总沉淀到聚集表中。
不跨数据域:数据域是在较高层次上对数据进行分类聚集的抽象。阿里以业务过程进行
分类,如交易统一划到交易域下,商品的新增、修改放到商品域下。
区分统计周期:表命名上要能说明数据的统计周期,如_1d 表示最近 1 天,_td 截止到
当天,_nd 表示最近 N 天。
1.3.2 交易汇总表设计
聚集是指针对原始明细粒度的数据进行汇总,假定已有的交易订单明细模型如下,可以
看出事实和商品、卖家、买家等维度关联。
4
潜在的聚集:
买家维度(2)
卖家维度(2)
商品维度(2)
店铺维度(2)
类目维度(3)
发货地区维
度(5)
…..
买家 ID
买家 NICK
卖家 ID
卖家 NICK
商品 ID
商品名称
店铺 ID
店铺名称
类目 ID
一级类目
二级类目
地区 ID
区县
城市
省份
国家
…..
可以看出聚集的组合可能性为各个维度属性个数的乘积:2*2*2*2*3*5……..。下面将
按照聚集的基本步骤来介绍聚集表的设计流程。
PK 买家ID PK 卖家ID
买家NICK 卖家NICK
。。。 。。。
PK 店铺ID
店铺名称
。。。 PK,FK1 PK 商品ID
FK2 商品名称
FK3 。。。
PK 地区ID FK4
区县 FK5
城市 FK6 PK 类目ID
省份 FK7 一级类目
国家 FK8 二级类目
FK9
PK 地区ID PK 父订单ID
区县 父订单属性
城市 。。。
省份
国家
BC类型
业务类型
是否无线
是否秒杀
。。。
类目维度
父订单维度
杂项维度
买家维度
卖家维度
店铺维度
发货地区维度
商品维度
收货地区维度
父订单ID
买家ID
卖家ID
店铺ID
商品ID
类目ID
发货地区ID
收货地区ID
下单时间
支付时间
确认收货时间
子订单ID
淘宝交易事务事实表
5
1.3.2.1 按商品粒度汇总
第一步:确定聚集维度---商品。
第二步:确定一致性上钻---按商品(商品 ID)按天汇总。
第三步:确定聚集事实---下单量,交易额
因此按商品聚集的星型模型如下:
可以看出聚集的事实都是原始模型中的事实,聚集的维度也是原始模型维度中的商品维
度,把其它不关心的维度去掉了。
1.3.2.2 按卖家粒度汇总
第一步:确定聚集维度---卖家。
第二步:确定一致性上钻---按卖家(卖家 ID)按最近 7 天和最近 30 天汇总。
第三步:确定聚集事实---交易额
因此按卖家聚集的星型模型如下:
剩余52页未读,继续阅读
资源评论
Dddis111
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.dta
- 上市公司-股票性质数据-工具变量(民企、国企、央企)2003-2022年.xlsx
- Reeds+Shepp曲线算法讲解和实现.pdf
- 毕业设计基于SpringBoot+MyBatisPlus+MySQL+Vue的外卖配送信息系统源代码+数据库
- 词向量(Word Embeddings)是自然语言处理(NLP)领域的一种重要技术.txt
- Surfer,线性函数
- MyBatis 的动态 SQL 是其核心特性之一.txt
- 时代的sdddsddsddsd
- 基于哈希链表的简单人员信息管理系统
- 其他类别JdonFramework开源框架 v5.1 Build20071025-jdonframework-5.1.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功