数据仓库概念 您所在的位置:网站首页 数据仓库层可以细分为业务层 数据仓库概念

数据仓库概念

2024-07-11 06:40| 来源: 网络整理| 查看: 265

数仓是一个面向主题的、集成的、稳定的、时变的,存储历史数据的仓库。

面向主题的:数仓中的数据按照主题进行存储,每个主题都是决策层分析的一个角度;

集成的:不同来源的数据会统一整合后存入数仓中;

稳定的:数据一旦进入仓库后不会轻易发生改变,就算数据本身需要变化也轻易不会改动原数据,会根据分析需求考虑数据的更新策略;

时变的:随着时间的推移,长时间不更新的数据会逐渐失去时效性,失去时效性的数据一般会被导出到外部压缩存储。目前常用的策略是"7年13个月",即保存维度信息的拉链表不保存七年前的数据,保存流水信息的事实表不保存13个月前的数据。

当然,上述保存策略也是根据情况决定,利用价值较低的原始数据可能只保存一个周期就被导出,高度聚合的数据可能保存更长的时间。

数仓分层 数仓往往分为三层,ods、dw、dm,而dw层又可以根据业务细分为dwd、dws、dwa等多层

ods层 操作型数据层,存放的是从不同来源进入数仓的原始数据,ods层往往只存放少量加工的原始数据,因此这里的数据不是集成的。

dw层

数据仓库的核心,它根据数仓架构可能再次细分多层:

dwd层 数据细节层。将ods层的数据统一整合后,依照各主题需要将数据拆分存储,常见的星型模型和雪花模型就是在这一层。

dws层 数据服务层。按照范式存储的数据在分析时往往需要进行多表join,这样的分析效率很低,因此需要将dwd层的数据按照分析需求提前进行整合。由于主题之间的重合,该层的设计是反三范式的,存在数据冗余。

除了上述分层以外,dw还有基础数据层、轻度汇总层等等,根据数仓架构而定。

DIM层 维度层。有些数仓会将dwd层中的维度表单独抽离出来维护。

dm层 存放使用DW层数据进行业务统计的结果,它们可能被用于线上可视化的指标分析,也可能用于进一步的数据挖掘使用。

分层作用:复杂问题简单化、减少重复计算、血缘追踪、架构更清晰。

表的种类和特征 事务事实表:可以看做是保存某一事务的日志数据,事务一旦被提交就成为历史数据,只能以增量的方式维护。

维度表:从某个角度观察事实数据的窗口,存储的数据用来从某个角度描述事实。

全量表:保存每天所有的最新状态的数据

增量表:当数据改变时,将这个改变和改变后的结果记录下来,就是增量表。(a账户分两次存了100块,增量表显示为a账户金额100,200,并分别记录变化时间)

拉链表:用特定字段维护缓慢变化维度的表

流水表:记录表中所有改变的表。

周期快照表:按固定周期对事实表进行统计生成的表,按时间段保存记录,增量更新。

累积快照表:按过程对事实表进行统计生成的表,将每个事务切分成多个小事务,明确开始和结束的状态,每个小事务只保存一条结果。

拉链表如何实现 使用SCD策略维护特定字段实现。SCD1:不保存历史数据,直接覆盖更新SCD2:通过维护一个记录时间和一个过期时间来保存变化历史,增量更新SCD3:通过维护一个历史字段来保存上次的数据,更新数据时,先检查旧数据是否存在,如果存在就把旧数据的最新值保存到新数据的旧值字段,采用覆盖更新的方式存储数据。SCD4:单独建立一个历史维度表为该字段维护历史变化。SCD5:混合使用123的维护策略。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有