数据仓库建模方法
程序员文章站
2022-03-25 20:10:06
...
关系模型 关系型数据库设计首先要创建一张数据表,表中每一行包含不同的列。关系表可以包含不同的属性,每一数据列表示不同的物理特征。不同的列可以索引并作为标识符。部分列在执行过程中可以为空。所有列都是根据数据定义语言(DDL)标准定义的。 关系型数
关系模型
关系型数据库设计首先要创建一张数据表,表中每一行包含不同的列。关系表可以包含不同的属性,每一数据列表示不同的物理特征。不同的列可以索引并作为标识符。部分列在执行过程中可以为空。所有列都是根据数据定义语言(DDL)标准定义的。
关系型数据以一种称为“标准化”的形式存在。数据标准化是指数据库设计会使数据分解成非常低的粒度级。标准化的数据以一种孤立模式存在,这种情况下对数据表里的数据关系要求很严格。当进行标准化的时候,表中的数据只能与这张表里的其他数据关联。通过关系模型产生的数据仓库的设计是很灵活的。
基于设计的数据库起初可以是一种方式,当根据关系模型设计后又形成另一种形式。数据元可以以多种方式重新赋值。灵活性是关系模型最大的优势,其次是功能性。因为细节数据需要被收集到一起并且能够结合,因此给予关系模型的数据仓库的设计可以支持数据的多种视图。
多维模型
数据库设计多维模型方法的中心是星形连接。在星形连接的中心是一个事实表。事实表是包含大量数据值的一种结构。事实表的周围是维度表,用来描述事实表的某个重要方面。维度表的数据量要比事实表里面的要少。维度表表示一些与事实表相关的重要的但是起辅助作用的信息。事实表与维度表通过存在的公共数据单元相关联。
星形连接只包含一张事实表。但是在数据库设计中要创建一种雪花结构的复合结构需要多张事实表结合。在雪花结构中,不同的事实表通过共享一个或多个公共维表连接起来。雪花结构隐含的另外一个想法是将事实表和维表结合起来,形成一个类似于雪花结构的形式。
区别
关系环境是通过企业数据模型设计出来的,星形连接或者多维模型是更具最终用户的请求塑造的。
多维设计通过用户需求建立模型,只能在有限范围内进行,适合于小范围数据(如一个部门甚至子部门),仅服务于一组用户的需求;关系型设计以最低粒度进行存储,那么就可以无限制的添加新数据。
很显然,添加数据到关系模型永远也不会停止。所以关系模型适合于大范围数据(如一个企业模型),能满足多个企业的信息需求关系模型对数据仓库的直接访问是最佳的,而多维模型用于服务数据仓库的直接用户的需求时最理想的。
Yahoo数据仓库建模介绍
Yahoo数据仓库建模基本上采用维度建模的思想,他们强调一致的维度在保持数据仓库模型的一致性上的作用。他们会花一定的时间去识别每个新进入仓库的数据表,并了解它的业务规则和数据属性,由数据架构师完成对数据整合的设计工作。 Yahoo也建立一些稀疏的宽表,它的基于每个日志访问记录表的宽表就有上千个字段。
上一篇: PHP从数组中删除元素的四种方法详解
下一篇: mysql主从服务器配置特殊问题