数据仓库笔记二

本文详细探讨了数据仓库的概念,强调了数据的粒度、数据建模的三层结构、数据集成范围的定义以及数据从操作型环境到数据仓库的转换过程。内容涵盖数据仓库的组织形式、数据建模的不同层次、数据抽取的复杂性以及数据周期问题,旨在揭示数据仓库设计中的关键挑战和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据仓库是一个面向主题、集成的、非易失的且随时间变化的数据集合、用来支持管理人员决策。

细化程度越高,粒度级就越小;相反细化程度越低,粒度级就越大。

粒度的双重级别-轻度综合和真实档案

数据仓库最常用的数据组织形式

1、简单堆积

2、轮转综合

3、简单直接-间隔一定时间的操作类型数据的一个快照

4、连续-把一个快照追加到一个以前生成的连续文件上来创建

有三个层次的数据建模:高层建模( E R D,实体关系层),中间层建模( D I S,数据项集),底层建模(物理层)。

集成范围定义了数据模型的边界,而且集成范围需要在建模之前进行定义。这个范围由
系统的建模者、管理人员和最终用户共同决定。如果范围没有事先确定,建模过程就会一直
持续下去

中间层数据模型由初始数据组、二次数据组、连接件(表示主要主题域间的数据关系),数据类型组成。

公有数据在左边,独有数据在右边。

物理数据模型是由中间层数据模型创建的,它只是通过包含键码和模型的物理特性来扩展
中间层数据模型而得到的。这时,物理数据模型看上去像一系列表,这些表有时称做关系表。

在数据仓库的情况下,确定操作性能特性的第一步意味着决定数据的粒度与分割,必须
这样做。(当然,键码结构要做改变,以便能加入与每个数据单元都相关的时间元。)

由事件触发的快照有四个基本部分:
• 键码( K E Y )。
• 时间单元。
• 只和键码相关联的初始数据。
• 作为快照过程的一部分所捕获的二次数据,和初始数据或键码无直接的关系。

元数据在数据仓库的上层,并且记录数据仓库中对象的位置。典型地,元数据记录:
■ 程序员所知的数据结构。
■ D S S分析员所知的数据结构。
■ 数据仓库的源数据。
■ 数据加入数据仓库时的转换。
■ 数据模型。
■ 数据模型和数据仓库的关系。
■ 抽取数据的历史记录。

 

数据仓库设计中的一个引人注目的问题是数据周期。所谓数据周期是指从操作型环境数
据发生改变起,到这个变化反映到数据仓库中所用的时间。

准确地说,数据从操作型环境到数据仓库环境的传递要完成什么功能呢?下面就是所要
完成的某些功能。
■ 从原始操作型环境到数据仓库环境的数据抽取需要实现技术上的变化。一般包括,从
操作型系统获取数据的数据库管理系统( D B M S )技术,如I M S,以及将数据写入更新的
数据仓库的D B M S技术,如I N F O R M I X。在数据传递过程中需要实现技术的转移。
■ 从操作型环境中选择数据是非常复杂的。为了判定一个记录是否可进行抽取处理,往
往需要完成对多个文件中其他记录的多种协调查询,需要进行键码读取,连接逻辑等。
■ 操作型环境中的输入键码在输出到数据仓库之前往往需要重新建立。在操作型环境中
读出和写入数据仓库系统时,输入键码很少能够保持不变。在简单情况下,在输出键
码结构中加入时间成分。在复杂情况下,整个输入键码必须被重新散列或者重新构造。
■ 数据被重新格式化。举一个简单例子:有关日期的输入数据格式是Y Y / M M / D D,当它
被写入输出文件时,需要转化为D D / M M / Y Y的格式。(操作型数据进入数据仓库之前的
格式转换往往比这要复杂得多。)
■ 数据将被清理。在某些情况下,为了保证输入数据的正确性,需要一个简单的算法。
在复杂情况下,需要调用人工智能的一些子程序把输入数据清理为可接受的输出形式。
■ 存在多个输入数据源。在某些情况下数据仓库中数据项的来源是一个文件,而在另外
一些情况下,则为另外一个文件。逻辑上必须分清楚,以便由适当的数据源提供正确
条件下的数据。
■ 当存在多个输入文件时,进行文件合并之前要首先进行键码解析。这意味着如果不同
的输入文件使用不同的键码结构。那么,完成文件合并的程序必须提供键码解析功能。
■ 当存在多个输入文件时,这些文件的顺序可能不相同甚至互不相容。在这种情况下这
些输入文件需要进行重新排序。当有许多记录需要进行重新排序时可能有些困难,但
可惜的是,通常都是这种情况。
■ 可能会产生多个输出结果。同一个数据仓库的创建程序会产生不同概括层次之上的结
果。
■ 需要提供缺省值。有时候,数据仓库的一个输出值没有对应的输入源。这时,必须提
供缺省值。
■ 对抽取选择输入的数据,其效率通常是一个问题。我们考虑一个情况,在刷新的时候,
我们没有办法将需要抽取的操作型数据和不需要抽取的操作型数据区别开来。这时,
必须读取整个文件。而读取整个文件的方法效率很低,因为在一个文件中,只有一小
部分的记录是用得上的。这将导致在线环境一直处于活动状态,进而挤掉了其他的处

理活动。
■ 经常需要进行数据的汇总。多个操作型输入记录被连接成单个的“简要”数据仓库记
录。为了完成汇总,那些需要汇总的详细的输入记录必须被正确排序。当把不同类型
的记录汇总为一个数据仓库记录时,这些不同输入记录类型的到达次序必须进行协调,
以便产生一个单一记录。
■ 在数据元素从操作型环境到数据仓库的数据转移过程中,对数据元素的重命名应该进
行跟踪。当一个数据项移动时,往往被改变名字。这样就必须生成记录这些变化的文
档。
■ 必须被读的输入的记录有着不常见的或不标准的格式。下面列出了必须读的各种输入
类型:
• 固定长度的记录
• 不定长记录
• 出现不定
• 重复出现
■ 必须进行转换。但是必须指定转换逻辑,转换机制(正如B E F O R E,A F T E R )会非常复
杂。有时转换逻辑变得非常曲折。
■ 这一点也许是最糟糕的:建立在旧的传统程序逻辑中的数据之间的关系必须被理解、
被解开,这样,这些文件才能被用来作为输入。而这些关系常常是深奥难懂的,没有
可供参考的文档资料。
■ 必须进行数据格式的转换。E B C D I C到A S C I I的转换(或反过来)必须进行。
■ 必须考虑到进行大容量输入的问题。当只有少量的数据作为输入时,可以有很多供选
择的方案。但是,当有大量的记录作为输入时,就必须引入一些特殊的设计方案(如并
行装载和并行读出)。
■ 数据仓库的设计必须符合企业数据模型。这样数据仓库的设计和建立就有一定的规则
和限制。数据仓库的输入是以很久以前的一个应用程序设计说明书为准的。然而自从
组织编写这个应用程序以来,它所依赖的业务条件可能已经经过了多次大的变化。已
经针对程序代码做过多次维护,但没有相关文档。另外,这个应用可能没有与其他应
用集成的需求。所有的这些脱节之处,在设计和建立数据仓库的时候必须予以考虑。
■ 数据仓库反映的是对信息的历史需求,而操作型环境是体现对信息目前的需求。
■ 数据仓库着眼于企业的信息化需求,而操作型环境则着眼于精确到秒的企业日常事务
需求。
■ 必须考虑到新创建的将要传入数据仓库的输出文件的传输。有些情况下这是很容易做
到的;在另一些情况下就不那么容易了,尤其是跨操作系统的情况。
还有更多需要考虑的;以上列出的仅仅是当一个程序员着手装载一个数据仓库时所面对
的复杂性的开始。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值