首页 > 编程知识 正文

数据仓库建模实例,如何进行数据建模

时间:2023-05-06 15:17:37 阅读:53078 作者:3442

大数据数据仓库通常需要通过建模来改进数据的存储和管理。 其中包括性能、成本、效率、质量等多方面的综合考虑,工程师也需要仔细修订。 今天的大数据开发共享主要介绍数据仓库的建模方法和模式。

数仓建模方法数据仓库中的几种经典数据模型。 包括关系建模、维建模和数据vault模型。 在实际工作中,通常根据业务场景选择一个或多个模型。

1、关系建模

关系建模由Inmon (数据仓库之父)推荐,称为“实体-关系”模型,它以强调数据之间的非冗馀和满足3NF的“标准化”方式存在。 关系建模是以企业为视角的面向主题的抽象,而不是实体对象与特定业务流程的关系抽象。 它经常用于数据整合和一致的质量。

2、维度建模

维度建模是Ralph Kimball博士首先提出这个概念的。 其最简单的说明是按照事实表、维度表构建数据仓库、数据集市。 这种方法大多被称为星形模型。 之所以称为星形模型,是因为它表示其他数据结构围绕着一个“星”,如下图所示。

星形模型的中心是事实表。 事实表是包含大量数据值的结构。 事实表周围有一个维度表,描述事实表的重要方面。 维度表的数据量比事实表的数据量少。

星型之所以被广泛使用,是因为对各维进行了很多预处理,如按维事先进行了排序、分类、统计等。 这些预处理可以大大提高数据仓库的处理能力。 特别是在3NF建模方法方面,星形模型在性能方面占有明显优势。 因此,星形模型仅适用于小范围的数据,如部门和子部门。

星形模型通常只包含一个事实表。 但是,在数据库设计中创建雪花结构的复合结构,需要组合多个事实表。 下图显示了雪片的模型。

在雪花模型中,不同的事实表通过共享一个或多个公共维表连接在一起。 这些共享维度表有时被称为一致的维度表。

维度建模的最大优点是访问效率。 如果设计正确,通过星形连接将数据传递给最终用户将非常高效。 为了提高信息传播效率,必须收集和吸收最终用户的要求。 最终用户使用数据的过程是定义什么样的多维结构的核心。 一旦明确了最终用户的要求,这些要求最终可以用于确定星形模型并形成最佳结构。

3、Data Vault模型

Data Vault是另一种数据仓库建模方法,20世纪90年代由Dan Linstedt提出,主要用于企业级数据仓库建模。

因为Data Vault需要跟踪所有数据源,所以每个数据行都必须包含数据源和装载时间属性,以便审计和跟踪与数据值对应的源系统。

Data Vault不区分业务级别的数据准确性和错误。 保留操作系统所有时间的所有数据,并加载数据,而无需验证或清洗数据。 这与其他数据仓库的建模方法明显不同。

Data Vault是ER模型更近一步的规范化,由于数据分解偏向于基础数据组织,处理分析类场景相对复杂,适合数据仓库的基础建设,目前实用场景较少。

以上简要介绍了大数据开发、数据仓库的建模方法和模式。 数据仓库建模是数仓设计的重要阶段,根据实际应用需要选择合适的方法和模型是工程师的必要能力之一。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。