首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大话数仓,数据仓库,事实表

数据仓库如何分层、为什么要分层?前文已经提到,这里再简单回顾一下。

数仓分层的目的?

清晰的数据结构与依赖关系

减少数据的重复开发

统一数据口径

保证数据一致性

分配管理数据权限

数仓如何分层,一般划分为四层或五层!

ODS(原始数据层)

DWD(明细数据层)

DWS(汇总数据层)

DIM(公共维度层)

ADS(数据应用层

数据仓库的分层可能有有四层,也可能有五层或者六层。虽然你已经知道了每层的具体含义与作用,但是有时候并不是很清楚这些层级之间的分割层次是什么,出现复杂的业务往往让我们无从下手,所以层级的划分一定要结合公司的具体业务来做。

宽表

我们经常听到拉一张宽表,出一张宽表这种说法。通常宽表是由很多维度、事实表关联后形成的一张涵盖多种业务、字段非常多的大表。可能刚开始维度数据比较少,但是随着业务的增长,数据维度越来越多。

我们所建的宽表越来越大,带来的影响就是没有清晰的表结构和随意增长的宽度。这时我们可能要根据主题来划分宽表,按照某一主题事实去扩展维度,宽表不再依赖具体的业务过程,而是根据整体业务线进行匹配。

事实表

根据数据的生命周期和特点,在数据仓库中,事实表可以分为不同类型,主要包括:事务事实表、周期快照事实表和累积快照事实表。

1、事务事实表

事务事实表用来记录各业务过程,跟踪时间上某点的度量事件,它保存的是各业务过程的原子操作事件,即是最基本的事实。例如交易流水、操作日志等,这些数据在创建后就不会再变化,因此事务事实表的每条记录表示一个瞬时的事件。在数据仓库中,这类数据通常包含与业务对象相关的度量、日期、事实类型等字段信息。

事务型事实表可用于分析与各业务过程相关的各项统计指标,由于其保存了最细粒度的数据,可以提供最大限度的灵活性。

2、周期型快照事实表

周期快照事实表以具有规律性的、可预见的时间间隔来记录事实,主要用于记录与业务对象相关的周期性变化数据,一般周期可以是每天、每周、每月等。

周期快照事实表特点:随着业务周期性的推进而变化,记录某个时间段内的业务数据度量和状态度量的变化。

常用于统计与业务对象相关的周期性数据,例如年度销售额、商品库存、账户余额这些存量型指标,业务系统中通常会计算并保存最新结果。在数据仓库中,这类数据通常包含与业务对象相关的度量、日期、周期、状态度量等字段信息。

3、累积型快照事实表

用来描述过程开始和结束之间的关键步骤事件,覆盖过程的整个生命周期,通常具有多个时间字段来记录关键时间点,当过程随着生命周期不断变化时,记录也会随着过程的变化而被修改,通常用来统计不确定周期的数据。

与周期快照事实表不同,累积快照事实表没有确定的周期,而是针对一个业务对象完全覆盖一个事实的生命周期进行记录。如,订单状态表就是一个典型的累积快照事实表,该表记录了订单的所有状态变化,如下单、出库、发货等,同时该表中的数据不断更新,需要进行随时修改。

为了记录一个事实的生命周期中的关键时间点,累积快照事实表通常会包含多个时间字段,例如订单状态表中的订单创建时间、订单更新时间、订单完成时间等。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OpCayBmjdJ0_eJNxf4l9jo1g0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券