数据仓库

离线数据内容建设会对精心加工后的数据进行分层:

  • ODS原始数据层
  • DWD明细数据层
  • DWS汇总层
  • ADS集市数据层

三种搭建数据仓库的方式:

  • 传统OLTP数据库中搭建
  • 商业性数据仓库产品中搭建(MPP架构的Teradata)
  • 基于Hadoop来搭建

不管哪种方式都会面临以下问题:

  • 怎么组织数据仓库中的数据?
  • 怎么组织才能使得数据使用最为方便和便捷?
  • 怎么组织才能使得数据仓库具有良好的可拓展性和可维护性

Kimball对数据仓库的理论与维度设计和建模有关。维度建模将客观世界分为:

  • 度量: 主要由业务过程和支持业务的源系统产生的数据,常以数值形式(订 单金额、库存数量)存在,成为事实
  • 上下文:被直观的分割成多个独立的逻辑块,纬度建模称之为纬。纬描述了度量的5个W(when,where,what,who,why)信息。比如什么时间下单,何种方式购买,,买的是什么,客户是谁。

在这里插入图片描述

离线数据平台产出数据的周期一般是天,也就是说,今天看到的是昨天的数据,对于大部分的分析和“看”数据场景来说,这种T+1的离线数据可以满足业务分析需求。

在这里插入图片描述

实时数据存储根据下游数据使用的不同方式通常放在不同的数据存储内。
• 对于数据在线服务(即数据使用方传入某业务ID,然后获取到所有此ID的相关字段),通常放在HBase内
• 对于实时数据大屏,通常放在某关系数据库(如Mysql)内,有时为了提高性能并减轻对底层数据库的压力,还会使用缓存数据库(Redis)等

数据探查就是对数据本身和关联关系等进行分析,包括但不限于:
– 需要的数据是否有
– 都有哪些字段
– 字段含义是否规范明确
– 字段的分析和质量如何
数据探查常用的分析技术包括:
– 主外键
– 字段类型
– 字段长度
– null值占比
– 枚举值分布
– 最小值
– 最大值
– 平均值

数据脱敏主要方法:
– 替换:用预先准备的测试数据来替换真实的敏感数据
– 洗牌(shuffle):和替换一直,只是替换的数据集是其本身
– 删除/加扰:删除会破坏数据完整性,可以通过“”来替代,150***6789
– 加密:通过加密算法,将原始数据变为无意义字符,只有应用“秘钥”才能查看原始数据

维度建模过程顺序分为四个过程:

  1. 选取业务过程:针对项目业务活动,不如百度主要业务活动是搜索,维度模型是同部门捆绑在一起的,所以无法避免数据不一致的情况,(比如业务编码、含义),需要从全局考虑。
  2. 定义粒度:对事实表实际代表的内容和含义给出明确的说明,粒度传递了事实表度量值相联系的细节所达到的程度的信息。(比如:订单信息orders表,更细粒度的priors表每个订单具体的商品信息)粒度定义需求最大程度选择业务过程中最为原子性的粒度,这样还能让后续处理更加灵活
  3. 确定性纬度:纬度是对度量上下文和环境的描述(比如用户的注册的基本信息,商品的基本属性信息)
  4. 确定事实:通过业务过程可能要分析什么来确定。比如促销活动,需要度量的是销售量和销售金额。

事务事实表
• 结合超市零售业务以及维度建模的四个环节来说明事务事实表:

  1. 选择业务过程
    • 理解POS系统记录的顾客购买情况,什么时候、什么商品、哪个收银台、销售了哪些商品等
  2. 定义粒度
    • 用户购买行为体现在一张小票,事务事实选择最原子粒度的事件,所以小票的子项目(商品)是超市零售事务事实表的粒度
  3. 确定维度
    • 粒度确定后,销售日期、销售商品、销售收银台、收银员、销售门店等维度就容易被确定下来了。细节(促销行为)
  4. 确定事实
    • 确定哪些事实和度量应该在事实表中出现。本例:商品销售数量、销售价格、销售金额等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值