维度建模与关系建模的比较

合集下载

常用的数据建模方法

常用的数据建模方法

常用的数据建模方法在数据分析和数据科学领域,数据建模是一项核心任务,它涉及将现实世界中的业务过程和数据转化为适合分析和处理的结构化形式。

常用的数据建模方法可以根据不同的需求和问题进行选择,下面介绍几种常见的数据建模方法。

1. 关系数据模型:关系数据模型是一种常用的数据建模方法,它使用关系型数据库来组织和管理数据。

关系数据模型使用表格的形式来表示实体和实体之间的关系,并使用主键和外键来建立表之间的联系。

这种模型适用于需要进行复杂查询和关联操作的场景,如企业管理系统和金融交易系统。

2. 维度建模:维度建模是一种基于维度和事实的数据建模方法。

在维度建模中,数据被组织成事实表和维度表的形式。

事实表包含了业务过程中的度量指标,而维度表则包含了描述度量指标的上下文信息。

维度建模适用于分析型应用场景,如数据仓库和商业智能系统。

3. 实体关系模型:实体关系模型是一种用于建模现实世界中实体和实体之间关系的方法。

在实体关系模型中,实体用实体类型来表示,而关系用关系类型来表示。

实体关系模型适用于需要建立实体和实体之间关系的应用场景,如社交网络和知识图谱。

4. 层次数据模型:层次数据模型是一种用于表示具有层次结构关系的数据的方法。

在层次数据模型中,数据被组织成树形结构,其中每个节点都有一个父节点和零个或多个子节点。

层次数据模型适用于需要表示层次结构的数据,如组织结构和产品分类。

5. 对象关系模型:对象关系模型是一种将面向对象和关系型数据模型相结合的方法。

在对象关系模型中,数据被视为对象的集合,每个对象具有属性和方法,并且可以通过对象之间的关系进行连接和操作。

对象关系模型适用于需要同时处理结构化和半结构化数据的应用场景,如XML数据处理和文档管理系统。

除了上述常用的数据建模方法,根据不同的需求和问题,还可以使用其他的数据建模方法,如网络数据模型、面向文档模型等。

选择合适的数据建模方法可以帮助我们更好地理解和分析数据,从而得出有价值的洞察和决策。

维度模型入门知识点总结

维度模型入门知识点总结

维度模型入门知识点总结一、基本概念1. 数据仓库数据仓库是用于存储和管理企业中各类数据的系统,它具有集成、主题、时间变化、非易失性等特点,可用于辅助企业决策、分析和报告等需求。

2. 维度模型维度模型是数据仓库中最常见的数据建模方法之一,它将业务中的数据按照主题进行划分,并以星型或雪花型的结构进行建模,通过维度模型可以更好地支持数据分析和报告需求。

3. 星型模式星型模式是维度模型中的一种建模方法,它以一个事实表为中心,周围是多个维度表,通过关联键将多个维度表和事实表连接在一起,形成星型的结构。

4. 雪花型模式雪花型模式是维度模型中的另一种建模方法,它在星型模式的基础上,将一些维度表中的属性进一步分解为子维度表,形成类似雪花的结构。

二、重要组成部分1. 事实表事实表是维度模型的核心部分,它包含一组数值型的度量,并与多个维度表进行关联,用于记录业务中的事实数据。

2. 维度表维度表描述了事实表中度量所需要的所有维度信息,例如产品、时间、地点等,维度表中的每一行都代表一个唯一的维度值。

3. 关联键关联键是用来连接事实表和维度表之间的关键字段,通过关联键可以建立事实表和维度表之间的关联关系。

4. 层次结构在维度模型中,一些维度表可能存在着层次结构,例如时间维度表中的年、季度、月等层次结构,这些层次结构可以帮助用户更方便地进行数据分析和报告。

5. 缓慢变化维度在实际业务中,一些维度表中的数据可能会发生变化,维度模型需要支持对这些维度数据的变化进行有效的管理,包括类型1、类型2和类型3等不同的变化处理方式。

三、建模技巧1. 选择合适的主题在进行维度模型建模时,需要选择合适的主题来进行划分,主题需要满足业务需求、易于理解和维护等条件。

2. 保持简单维度模型的建模应该尽量保持简单,避免过多的冗余和复杂的关联关系,以提高数据查询和报告的性能。

3. 选择适当的粒度在建模时,需根据业务需求选择适当的粒度,以确保事实表中的度量能够捕捉到业务中的所有重要信息。

数据库设计中的维度建模与关系模型

数据库设计中的维度建模与关系模型

数据库设计中的维度建模与关系模型在数据库设计中,维度建模和关系模型是两种重要的方法。

它们分别在不同的场景下发挥着重要的作用。

本文将对这两种方法进行详细的介绍和比较分析。

1. 维度建模维度建模是一种面向主题的数据库设计方法,它的核心思想是将数据按照不同的主题进行分类,并建立一个具有层次结构的数据模型。

在维度建模中,通常采用星型模型(Star Schema)或雪花模型(Snowflake Schema)来表示数据之间的关系。

星型模型是维度建模中最简单的模型之一,它由一个事实表(Fact Table)和多个维度表(Dimension Table)组成。

事实表存储了与某个特定的业务主题相关的事实数据,而维度表用于描述事实表中的数据。

维度表是一个包含了该维度的所有属性(如地理位置、时间、产品等)的表格,而事实表中的数据与维度表中的数据通过外键关联起来。

雪花模型基于星型模型,通过进一步拆分维度表,将一些维度表的属性再次细分成更小的维度表。

这样可以使得数据模型更加灵活,但同时也增加了数据冗余的可能性。

维度建模的优点在于:a. 易于理解和使用。

维度建模采用简单的模型结构来表示数据之间的关系,使得用户可以快速理解数据模型并进行查询和分析。

b. 高效的查询性能。

维度建模中的星型模型适用于大多数查询场景,可以通过索引的方式快速检索数据。

2. 关系模型关系模型是一种广泛应用的数据模型,它用关系(表)来表示数据之间的关系,并利用关系之间的连接来实现数据查询和处理。

关系模型使用结构化查询语言(SQL)进行数据操作。

在关系模型中,数据被组织成多个表,每个表都有列(属性)和行(记录)。

表与表之间通过外键关系进行连接。

关系模型使用范式(Normalization)来规范化数据,以减少数据冗余和提高数据的一致性。

关系模型的优点在于:a. 灵活性和扩展性。

关系模型可以根据具体需求进行灵活的数据模型设计,支持数据结构的变化和扩展。

b. 数据完整性和一致性。

数仓学习-维度建模

数仓学习-维度建模

数仓维度建模(如有侵权请联系删除)一、什么是维度建模按照事实表,维度表来构建数据仓库,数据集市。

将数据结构化的逻辑设计方法,它将客观世界划分为度量和上下文。

二、维度建模的优势和原则1、优势和缺点a) 维度建模是可预测的标准框架。

允许数据库系统和最终用户查询工具在数据方面生成强大的假设条件,这些数据主要在表现和性能方面起作用。

b) 星型连接模式的可预测框架能够忍受不可预知的用户行为变化。

c) 具有非常好的可扩展性,以便容纳不可预知的新数据源和新的设计决策。

可以很方便在不改变模型粒度情况下,增加新的分析维度和事实,不需要重载数据,也不需要为了适应新的改变而重新编码。

较好的扩展性意味着以前的所有应用都可以继续运行,并不会产生不同的结果。

但是,维度建模法的缺点也是非常明显的,由于在构建星型模式之前需要进行大量的数据预处理,因此会导致大量的数据处理工作。

而且,当业务发生变化,需要重新进行维度的定义时,往往需要重新进行维度数据的预处理。

而在这些与处理过程中,往往会导致大量的数据冗余。

另外一个维度建模法的缺点就是,如果只是依靠单纯的维度建模,不能保证数据来源的一致性和准确性,而且在数据仓库的底层,不是特别适用于维度建模的方法。

2、维度建模的原则原则1、载入详细的原子数据到维度结构中维度建模应该使用最基础的原子数据进行填充,以支持不可预知的来自用户查询的过滤和分组请求,用户通常不希望每次只看到一个单一的记录,但是你无法预测用户想要掩盖哪些数据,想要显示哪些数据,如果只有汇总数据,那么你已经设定了数据的使用模式,当用户想要深入挖掘数据时他们就会遇到障碍。

当然,原子数据也可以通过概要维度建模进行补充,但企业用户无法只在汇总数据上工作,他们需要原始数据回答不断变化的问题。

原则2、围绕业务流程构建维度模型业务流程是组织执行的活动,它们代表可测量的事件,如下一个订单或做一次结算,业务流程通常会捕获或生成唯一的与某个事件相关的性能指标,这些数据转换成事实后,每个业务流程都用一个原子事实表表示,除了单个流程事实表外,有时会从多个流程事实表合并成一个事实表,而且合并事实表是对单一流程事实表的一个很好的补充,并不能代替它们。

数据仓库建模方法总结

数据仓库建模方法总结

数据仓库建模方法总结数据仓库建模是数据仓库构建过程中的重要环节,它决定了数据仓库的数据结构和查询性能。

本文将总结几种常见的数据仓库建模方法,包括维度建模、事实建模和标准化建模,并比较它们的优缺点。

1. 维度建模维度建模是一种常见的数据仓库建模方法,它基于维度表和事实表的概念。

维度表包含描述业务过程的属性,如时间、地点、产品等,而事实表包含与业务过程相关的度量。

维度表和事实表通过共同的键连接起来,形成星型或雪花型的模型。

优点:1) 简单直观:维度建模易于理解和使用,可以快速设计和构建数据仓库。

2) 查询性能高:维度建模的星型结构简化了查询的关联操作,提高了查询性能。

缺点:1) 一对一关系:维度表和事实表之间是一对多的关系,无法处理多对多的关系。

2) 数据冗余:维度表中的属性可能存在冗余,造成数据冗余和一致性问题。

2. 事实建模事实建模是基于主题的数据仓库建模方法,它以业务过程为核心构建事实表,包括维度键和度量。

事实表记录了业务过程发生的事实信息,维度键用于连接事实表和维度表,度量用于度量业务过程的指标。

优点:1) 灵活性高:事实建模能够适应复杂的业务逻辑和多对多的关系。

2) 数据粒度控制:事实表可以根据需要控制数据的粒度,提供灵活的查询和分析能力。

缺点:1) 设计复杂:事实建模的设计复杂度较高,需要考虑多对多的关系和度量的粒度控制。

2) 查询性能相对低:事实建模需要进行多表关联操作,查询性能相对较低。

3. 标准化建模标准化建模是一种将数据仓库模型与关系数据库模型类似的建模方法。

它将数据存储在标准化的表中,通过复杂的关联操作来查询和分析数据。

标准化建模与维度建模和事实建模相比,更适用于小型数据仓库和查询较少的情况。

优点:1) 数据一致性:标准化建模减少了数据冗余,提高了数据一致性。

2) 灵活可扩展:标准化建模可以适应不同的查询需求,支持灵活的查询和分析。

缺点:1) 查询复杂:标准化建模需要进行多表关联和聚合操作,查询复杂度较高。

数据仓库中的维度建模与事实表设计

数据仓库中的维度建模与事实表设计

数据仓库中的维度建模与事实表设计数据仓库是一个集成的、主题导向的、时间可变的、非易失性的数据存储,用于支持管理决策。

在数据仓库中,维度建模和事实表设计是非常重要的,它们是数据仓库设计的核心。

维度建模是指将数据仓库中的数据组织成一个统一的、易于理解的维度模型,而事实表设计则是指如何将业务过程和指标以一种易于查询和分析的方式存储到数据库中。

在本文中,我们将探讨数据仓库中的维度建模与事实表设计的相关内容。

一、维度建模维度建模是数据仓库设计的核心,它是数据仓库中维度和事实之间的关系模型。

维度模型由事实表和维度表组成,它们之间存在着一对多的关系。

维度模型是一个简单直观的模型,它将业务过程和指标以一种易于理解的方式组织起来。

1.维度表在维度建模中,维度表是非常重要的,它是用来描述业务对象的表。

维度表通常包含了多个属性字段,每个属性字段描述了业务对象的一个特定属性。

比如,在销售数据中,维度表可能包含了产品、时间、地点等属性字段。

2.事实表事实表是数据仓库中存储业务过程和指标的表,它包含了一个或多个度量字段,度量字段是用来度量业务活动的指标。

事实表和维度表之间通过外键关联起来,事实表中的度量字段通常是和维度表的外键字段关联的。

3.星型模式维度模型通常被称为星型模式,因为它的结构呈现出星型的形状。

在星型模式中,中心的事实表被围绕着多个维度表组织起来,形成了一个星型的结构。

4.雪花模式除了星型模式之外,还有一个常见的维度模型是雪花模式。

在雪花模式中,维度表的层次结构被规范化成多个维度表,这样可以节省存储空间,但也会增加查询复杂度。

5.维度层次维度表中的属性字段通常是按照层次结构组织起来的,比如在时间维度中,可以有年、季度、月、日等层次。

在维度建模中,采用自然层次结构的维度表是非常重要的,它可以帮助用户更加方便地进行查询和分析。

维度建模是数据仓库设计的核心,它可以帮助用户更加方便地理解业务过程和指标。

通过合理的维度建模,可以提高数据仓库的查询性能,减少数据冗余,提高数据的一致性和可靠性。

数据仓库建模方法

数据仓库建模方法

数据仓库建模方法每个行业有自己的模型,但是不同行业的数据模型,在数据建模的方法上,却都有着共通的基本特点。

什么是数据模型数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。

在这里,数据模型表现的抽象的是实体和实体之间的关系,通过对实体和实体之间关系的定义和描述,来表达实际的业务中具体的业务关系。

数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型,一般的来说,我们数据仓库模型分为几下几个层次。

图 2. 数据仓库模型通过上面的图形,我们能够很容易的看出在整个数据仓库得建模过程中,我们需要经历一般四个过程: ?业务建模,生成业务模型,主要解决业务层面的分解和程序化。

?领域建模,生成领域模型,主要是对业务模型进行抽象处理,生成领域概念模型。

?逻辑建模,生成逻辑模型,主要是将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。

?物理建模,生成物理模型,主要解决,逻辑模型针对不同关系型数据库的物理化以及性能等一些具体的技术问题。

因此,在整个数据仓库的模型的设计和架构中,既涉及到业务知识,也涉及到了具体的技术,我们既需要了解丰富的行业经验,同时,也需要一定的信息技术来帮助我们实现我们的数据模型,最重要的是,我们还需要一个非常适用的方法论,来指导我们自己针对我们的业务进行抽象,处理,生成各个阶段的模型。

为什么需要数据模型在数据仓库的建设中,我们一再强调需要数据模型,那么数据模型究竟为什么这么重要呢?首先我们需要了解整个数据仓库的建设的发展史。

数据仓库的发展大致经历了这样的三个过程:?简单报表阶段:这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,?以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。

这个阶段的大部分表现形式为数据库和前端报表工具。

?数据集市阶段:这个阶段,主要是根据某个业务部门的需要,进行一定的数据的采集,整理,按照业务人员的需要,进行多维报表的展现,能够提供对特定业务指导的数据,并且能够提供特定的领导决策数据。

维度论文

维度论文

维度理解论文摘要:数据仓库技术的快速发展,使得从数据库中获取信息快速高效准确。

但涉及一个能够真正支持用户进行决策分析的数据仓库,并非是一件轻而易举的事情。

这需要经历一个从实现环境到抽象模型,从抽象模型到具体实现的过程。

要完成这一过程,必须依靠各种不同的数据模型。

本文主要将介绍维度的定义、维度建模、维度的类型引言传统的数据库技术是以单一的数据资源,即数据库为中心,进行从事务处理、批处理到决策分析等各种类型的数据处理工作。

近年来,计算机技术正向着两个不同的方向扩展:一是广度计算;二是深度计算。

特别是数据库处理可以大致地划分为两大类:操作型处理和分析型处理(或信息型处理)。

这种分离划清了数据处理的分析型环境与操作型环境之间的界限,由原来的以单一数据库为中心的数据环境发展为一种新的体系化环境,从而导致了数据仓库技术的出现和迅速发展。

1、维度建模维度建模是应用于数据仓库的一种逻辑设计方案,其基本思想是以某种数据立方体的形式表示大部分与业务有关的数据,各种测度值包含在这种数据立方体的各个单元格中,其中数据维度通过立方体的边定义和说明。

将其中的维度表和事实表这两个组块融合到一起,就构成了数据仓库的基本维度模型。

维度建模的优点如下:(1)维度模型是可预测的标准框架。

(2)用户行为不可预知的变化因星型模型的可预测标准框架而弱化。

(3)良好的扩展性,可将不可预测的新的设计决策以及数据源容纳进来。

(4)业务环境中常见的建模情况可以通过维度模型中诸多的标准方案处理。

(5)越来越多的管理实用程序及软件使维度模型可以用于诸多聚集的管理决策和使用过程。

2 维度建模中的三种模型❝星形模型(Star Schema)❝雪花模型(Snowflake Schema)❝多维模型(Multi-dimension Schema)3 一些影响维度建模的因素❝数据或展现的安全性❝复杂的查询和分析4 维度的类型❝缓慢变化维(Slowly Changing Dimension)❝快速变化维(Rapidly Changing Dimension)❝大维(Huge Dimension)和迷你维(Mini-Dimension)❝退化维(Degenerate Dimension)5维度建模的一般过程❝ 1 确定每个事实表的粒度❝ 2 确定维度的属性❝ 3 确定维度的层次❝ 4 确定每个事实所需要关联的维度❝ 5 确定事实,包括预先计算的❝ 6 确定缓慢变化维6维度建模的优缺点维度建模法的优点是,维度建模非常直观,紧紧围绕着业务模型,可以直观的反映出业务模型中的业务问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

维度建模与关系建模的比较徐辉强北京大学智能科学系1001213776摘要:数据仓库技术的快速发展,使得从数据库中获取信息快速高效准确。

但涉及一个能够真正支持用户进行决策分析的数据仓库,并非是一件轻而易举的事情。

这需要经历一个从实现环境到抽象模型,从抽象模型到具体实现的过程。

要完成这一过程,必须依靠各种不同的数据模型。

本文主要将介绍两种数据数据仓库建模技术实体关系建模与维度建模,并比较两者之间的关系关键词:数据仓库、实体关系建模、维度建模1、引言传统的数据库技术是以单一的数据资源,即数据库为中心,进行从事务处理、批处理到决策分析等各种类型的数据处理工作。

近年来,计算机技术正向着两个不同的方向扩展:一是广度计算;二是深度计算。

特别是数据库处理可以大致地划分为两大类:操作型处理和分析型处理(或信息型处理)。

这种分离划清了数据处理的分析型环境与操作型环境之间的界限,由原来的以单一数据库为中心的数据环境发展为一种新的体系化环境,从而导致了数据仓库技术的出现和迅速发展。

数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。

数据仓库研究和解决从数据库中获取信息的问题。

数据仓库的特征在于面向主题、集成性、稳定性和时变性。

数据仓库之父William H. Inmon在1991年出版的“Building the Data Warehouse”一书中所提出的定义被广泛接受——数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它并不是所谓的“大型数据库”。

数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。

设计好一个数据仓库是一个相对比较复杂的过程,需要抽象数据进行具体化,并且建立好模型,因此在这个过程中,模型设计是一个比较重要的一环。

2、关系建模实体关系模型是通过两个概念(“实体”和“关系”)构造特定的数据模型,实体关系模型是一种抽象的工具,能够简化复杂的数据关系,并用规范的方式表示出来,使其易于理解。

关系模型:用二维表的形式表示实体和实体间联系的数据模型。

关系数据模型是以集合论中的关系概念为基础发展起来的。

关系模型中无论是实体还是实体间的联系均由单一的结构类型——关系来表示。

在实际的关系数据库中的关系也称表。

一个关系数据库就是由若干个表组成。

关系模型主要的组成部分有:1)关系数据结构单一的数据结构——关系现实世界的实体以及实体间的各种联系均用关系来表示,从用户角度看,关系模型中数据的逻辑结构是一张二维表。

2)关系操作集合常用的关系操作包括查询操作和插入、删除、修改操作两大部分。

其中查询操作的表达能力最重要,包括:选择、投影、连接、除、并、交、差等。

关系模型中的关系操作能力早期通常是用代数方法或逻辑方法来表示,分别称为关系代数和关系演算。

关系代数是用对关系的代数运算来表达查询要求的方式;关系演算是用谓词来表达查询要求的方式。

另外还有一种介于关系代数和关系演算的语言称位结构化查询语言,简称SQL。

3)关系的数据完整性包括:域完整性、实体完整性、参照完整性和用户自定义的完整性。

域完整性:指属性的取值范围,如性别取值应为男或女。

实体完整性(Entity Integrity)规则:若属性A是基本关系R 的主属性,则属性A不能取空值。

例如:在课程表(课程号,课程名,教师,周课时数,备注)中,“课程号”属性为主键,则“课程号”不能取相同的值,也不能取空值。

参照完整性规则:若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键Ks相对应(关系R和S不一定是不同的关系),则对于关系R中每个元组在属性F上的值必须为:1)或者取空值(F中的每个属性值均为空);2)或者等于S中某个元组的主键值。

域完整性、实体完整性和参照完整性是关系模型中必须满足的完整性约束条件,只要是关系数据库系统就应该支持域完整性、实体完整性和参照完整性。

除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是对某些具体关系数据库的约束条件。

3、维度建模维度建模(dimensional modeling)是数据仓库建设中的一种数据建模方法。

Kimball 最先提出这一概念。

其最简单的描述就是,按照事实表,维表来构建数据仓库,数据集市。

这种方法的最被人广泛知晓的名字就是星型模式(Star-schema)。

实体关系(E-R)建模通常用于为单位的所有进程创建一个复杂的模型。

这种方法已被证实在创建高效的联机事务处理(OLTP) 系统方面很有效。

相反,维度建模针对零散的业务进程创建个别的模型。

例如,销售信息可以创建为一个模型,库存可以创建为另一个模型,而客户帐户也可以创建为另一个模型。

每个模型捕获事实数据表中的事实,以及那些事实在链接到事实数据表的维度表中的特性。

由这些排列产生的架构称为星型架构或雪花型架构,已被证实在数据仓库设计中很有效。

维度建模将信息组织到结构中,这些结构通常对应于分析者希望对数据仓库数据使用的查询方法。

1999 年第三季度西北地区的食品销售额是多少?表示使用三个维度(产品、地理、时间)指定要汇总的信息。

星型模式之所以广泛被使用,在于针对各个维作了大量的预处理,如按照维进行预先的统计、分类、排序等。

通过这些预处理,能够极大的提升数据仓库的处理能力。

特别是针对3NF 的建模方法,星型模式在性能上占据明显的优势。

同时,维度建模法的另外一个优点是,维度建模非常直观,紧紧围绕着业务模型,可以直观的反映出业务模型中的业务问题。

不需要经过特别的抽象处理,即可以完成维度建模。

这一点也是维度建模的优势。

但是,维度建模法的缺点也是非常明显的,由于在构建星型模式之前需要进行大量的数据预处理,因此会导致大量的数据处理工作。

而且,当业务发生变化,需要重新进行维度的定义时,往往需要重新进行维度数据的预处理。

而在这些与处理过程中,往往会导致大量的数据冗余。

另外一个维度建模法的缺点就是,如果只是依靠单纯的维度建模,不能保证数据来源的一致性和准确性,而且在数据仓库的底层,不是特别适用于维度建模的方法。

4、两者的比较ER模型(实体关系模型)有两个基本的组成部分,实体和实体之间的关系,ER模型的最高境界是去除数据中的一切冗余,这对于事务处理非常有益,它是事务处理简单明了,可以想象一家公司收到订单并且销售产品给客户,在关系数据库没有出现之前,我们将原始的纸质记录作为一条有许多字段的记录来处理,把这些交易数据输入计算机,在这样的记录里有一些字段的记录重复出现,比如客户的姓名和地址,每当一个新订单产生时就会重复出现一次,而且,由于所有客户地址都是相互独立的,更新客户地址就成一件乱糟糟的处理事务。

数据存储不仅冗余而且很难保持一致性。

关系数据库中事务处理的成功得益于ER建模及其范式化技术。

尽管如此,我们在努力地让事务处理高效的同时,却创建了一个不容易查询的数据库。

即使是一个简单的订单处理过程也会在数据库中创建许多的表,而且这些表之间的连接关系像蔓延的蜘蛛网一般纷乱。

一个企业的ER模型可能有几百个逻辑实体,像SAP那样的高端系统则有几千个实体。

没有关系数据库专业知识的最终用户不理解也记不住ER模型,使用ER建模技术违背了建立数据仓库的基本理由---也就是直接高效地获取数据。

自从关系数据库出现以来,数据库设计人员就注意到这个问题,并做了多种努力和尝试,但最终发现将这种及其复杂的模型向最终用户讲明白是非常困难的事,就连他们自己使用起来也非常复杂和难以记忆。

因此许多设计人员开始退回一步,尝试一些不那么规范有一些冗余但“简单一点的设计”。

令人吃惊的事这些“简单点”的设计看起来都非常的相似。

几乎所有这些简单点的设计都可以被看做是“维度模型”。

这种自然而然的维度建模方法并不是某一个人发明出来的,当我们将可理解性和查询性能作为数据库设计的主要目标时,这种方法就有了不可抗拒的力量而被人们采用。

在数据仓库环境中,主要从事联机分析处理(OLAP),根据系统对数据周期的要求,采用批处理方式进行数据整理,数据一次性装入数据库中,一般不再进行插入、更新等操作,OLAP系统要反映业务的发展趋势,保证数据高效查询且易于理解分析、保证数据围绕商务对象及其对活动来组织、并且要回答全局问题,此时,维度模型取代了ER模型。

维度建模也有两个基本的组成部分,对象(维度、关键指标)和对象之间相互作用的度量(事实、分析空间),维度建模是非范式化,允许数据冗余,其结构简单易于理解,当利用关键指标对分析空间进行分析时,可以直观方便地进行切片、切块、上卷、下钻、聚合等处理,因此,非常适合于OLAP系统。

5、总结维度模型,相对关系模型,有着很多优势,但是也面临着一些挑战,主要有非标准化、使用多重事实表查询、维表数据量、聚集管理、雪片和数据共享等问题。

总之,维度建模技术是众多数据建模技术中的一种,维度建模在解决策略类问题时特别有用,然而在解决其他问题时效率并不高。

使用维度数据建模,简单的决策支持系统能够实现高性能的目标。

相关文档
最新文档