数据仓库数据模型的设计

数据仓库数据模型的设计

1.方法选择


数据模型是对现实世界数据特征的抽象,数据模型的设计方法就是对数据进行归纳和概括的方法。目前业界主要的模型设计方法论有两种,一是数据仓库之父 Bill Inmon 提出的范式建模方法,又叫 ER 建模,主张站在企业角度自上而下进行数据模型构建;二是 Ralph Kimball 大师倡导的维度建模方法,主张从业务需求出发自下而上构建数据模型。

大数据环境下,业务系统数据体系庞杂,数据结构多样、变更频繁,并且需要快速响应各种复杂的业务需求,以上两种传统的理论都已无法满足互联网数仓需求。在此背景下,数据仓库采取了「以需求驱动为主、数据驱动为辅」的混合模型设计方式,来根据不同的数据层次选择模型。主要从以下四个方面综合考虑:

  1. 面向主题:采用范式模型理论中的主题划分方法对业务数据进行分类
  2. 一致性保证:采用维度模型理论中的总线结构思想,建立统一的一致性维度表和一致性事实表来保证一致性
  3. 数据质量保证:无论范式建模还是维度建模都非常重视数据质量问题,综合使用两个理论中的方法保证数据质量。
  4. 效率保证:合理采取维度退化、变化维、增加冗余等方法,保证数据的计算和查询效率。


其中,ODS 选择保持贴源的范式模型,不做进一步模型抽象,只是从节省存储角度考虑,对该层采取拉链处理。DWD 与 DWS 基于对构建成本、性能,易用性角度的考虑,主要采取维度模型和一些宽表模型。宽表模型的本质是基于维度模型的扩展,对整个业务以及全节点信息进行垂直与水平方式整合;同时采用退化维度的方式,将不同维度的度量放入数据表的不同列中,实现业务全流程视图的构建,来提升宽表模型的易用性、查询效率,且易于模型的扩展


水平整合:水平整合就是将同一业务多数据源的数据整合到一个模型中,如果多数据源业务数据存在交集,则需要按照预设的业务规则选取一份保留,避免整合后的业务数据交叉。例如商品数据如果未进行主数据管理,不同业务线的商品信息就会散落在各业务系统表中,无法满足企业级的数据分析需求,这时就需要将这些商品数据按照业务主题进行水平整合。

 

垂直整合:一次完整的业务流转通常要经历多个环节,各节点信息产生的时点不同、储存的数据表不同。垂直整合就是将同一业务中各关键节点信息整合至业务全流程宽表模型中。订单交易模型的构建就采用了这种方式,下文将进行详细介绍。

2 设计目标


数据仓库在模型设计上以准确性、易用性、及时性为设计目标,以满足业务人员对数据的多样需求。

  1. 准确性:数据质量管控要在建模过程中落地,为数据准确性保驾护航。
  2. 易用性:兼顾模型的可扩展性和可理解性。
  3. 及时性:充分考虑模型的使用效率,提供方便快捷的数据查询和数据计算服务。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章