全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  大数据学习教程  >  详情

数据仓库建模方法与模型

来源:千锋教育
发布人:syq
2022-12-09

推荐

在线提问>>

  大数据平台当中的数据仓库,往往需要通过建模来更好地对数据进行存储和管理,这其中涉及到性能、成本、效率、质量等多方面的综合考量,对于工程师来说,也需要细细规划。今天的大数据开发分享,我们主要来讲讲数据仓库建模方法与模型。

数据仓库建模方法

  数仓建模方法

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

  1、关系建模

  关系建模,是数据仓库之父Inmon推崇的,被称为“实体-关系”模型,以一种“标准化”的方式存在,强调数据之间非冗余,满足3NF。关系建模是站在企业角度面向主题的抽象,而不是针对某个具体业务流程的实体对象关系抽象。它更多用于数据的整合和一致性质量。

  2、维度建模

  维度建模,Ralph Kimball博士最先提出这一概念。其最简单的描述就是,按照事实表、维表来构建数据仓库、数据集市。这种方法很多人称之为星形模型。之所以称为星形模型是因为它的表示方法是以一颗“星”为中心,周围围绕着其他数据结构,如下图。

4

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

  星形模型之所以广泛被使用,在于针对各个维作了大量的预处理,比如按照维进行了预先的排序、分类、统计等。通过这些预处理,能够极大地提升数据仓库的处理能力。特别是针对3NF的建模方法,星形模型在性能上占据明显的优势。因此,星形模型仅适用于小范围数据(如一个部门或甚至一个子部门)。

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

5

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

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

  3、Data Vault模型

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

  Data Vault需要跟踪所有数据的来源,因此其中每个数据行都要包含数据来源和装载时间属性,用以审计和跟踪数据值对应的源系统。

  Data Vault不区分数据在业务层面的正确与错误,它保留操作型系统的所有时间的所有数据,装载数据时不做数据验证、清洗等工作,这点明显有别于其他数据仓库建模方法。

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

  关于大数据开发,数据仓库建模方法与模型,以上就为大家做了简单的介绍了。数据仓库建模,是数仓设计当中的重要阶段,根据实际的应用需求,选择合适的方法与模型,是工程师必备的能力之一。

  【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与联系我们,我们会予以更改或删除相关文章,以保证您的权益!此页面下方声明无效!

相关文章

HDFS文件管理系统简介

2022-12-09

HDFS架构演进之路

2022-12-09

大数据开发:Hive小文件合并

2022-12-09

HDFS的故障恢复和高可用

2022-12-09

大数据开发:Flink on Yarn原理

2022-12-09

大数据开发基础:Java基础数据类型

2022-12-09
在线咨询 免费试学 教程领取