2006 年 07 月 19 日, 星期三

数据仓库,杂记一:数据仓库模型

一、蜘蛛网-自然演化体系结构:
起初只是抽取,随后是抽取之上的抽取,接着是在此基础上的再次抽取,如此等等。这种由失控的抽取过程产生的结构被称为“自然演化体系结构”当一个组织以放任自流的态度处理整个硬、软件体系结构时,就会发生这种情况。组织越庞大,越成熟,自然演化体系结构问题就变得越严重。
从总体上看,抽取程序形成了蜘蛛网,这正是自然演化(或“传统系统”)体系结构的另一个名称。
从历史来看,主要出现在银行,商场及其他一些营运公司。



自然演化体系结构的困难主要有:
■ 数据可信性。
两个部门向管理者呈送报表,一个部门说业绩下降了1 5 %,另一个部门说业绩上升了1 0 %。两个部门的结论不但不吻合,而且相去甚远。另外,两个部门的工作也很难协调。除非十分细致地编制了文档,否则对任何应用目的而言,协调是不可能的。
这种危机很广泛存在,而且是可以预想得到的,有五个理由可以解释危机的可预测性:
@ 数据无时基。--取样数据不同,比如A部门取周一,B部门取周二,两天的数据,当然不能肯定100%相同。
@ 数据算法上的差异。--A部门取样数据只取整数,而B部门一丝不苟,使用计算机所能接受的最大浮点数,长周期的累计计算时,结果就可能存在严重差异。
@ 抽取的多层次。--对一个公司而言,从数据进入公司系统到决策者准备好分析所采用的数据,经过八层或九层抽取不是罕见的(中间的无时基,算法差异导致结果不一致)。
@外部数据问题。--比如一份社会报告数据,报纸A说=100000000.5,报纸B说=100000000.9,在信息采集过程中,报表A可能采用报纸A的数据,报表B可能采用报纸B的数据。
@无起始公共数据源。--类似外部数据问题,大家分析的数据不是起源于一个共同的数据源,A的数据源可能和B的数据源设计一样,但抽取时候的数据同步,数据共享等,可能直接影响了报表结果。

■ 生产率(或生产率底)。
设想一个机构在商业上已运营了一段时间,并且已经建立起了大型数据集合。管理者期望用数年来积累的数据集合和众多文件生成一张企业报表,接受了该任务的设计者为产生企业报表决定做三件事:
@ 定位报表需要的数据并分析数据。--要进行数据定位,必须分析很多文件和数据布局。而且还存在一些复杂因素:比如多个文件之间的对象重名但意义不一样;再比如多个不同名文件的数据是一样的,必须遍历了才知道一样。如果要生成企业报表,这个过程就必不可少。除非对数据进行分析和“合理化”处理,否则报表最终将产生更大的混乱,就像苹果和桔子混在一起一样。
@为报表编辑数据。--为从众多的数据源中取得数据而必须编制的程序相当简单。但是以下事实使这种工作复杂化:
*要写的程序很多。
*每个程序必须是定制的。
*程序涵盖了公司拥有的所有技术。
即使必须写报表生成程序,并且看起来并不难,但是由于上面的因素,为生成企业报表检索数据仍是个十分乏味的工作。
@为完成以上工作,召集程序员/分析员。--在一个面临以上这些问题的公司里,分析人员估算过要完成这项工作需要很长时间。如果设计者只要求了两三个人月资源的工作量,那么生成这样一个报表可能不需要管理者过多的关注。但如果一个分析员需要很多资源,管理者就必须将这个请求与其他对资源的请求一并考虑,并且必须为这些请求制定优先级。

如果生成第一份企业报表需要大量资源,生成所有后继报表可以建立在第一份报表基础之上,那么不妨为生成第一份报表付出一些代价。但是事实并非如此。
除非事先知道未来的企业报表需求,并且除非这些需求影响到第一张企业报表的建造,每个新的企业报表总要花费同前面差不多大的代价。换句话说,第一张企业报表非常不可能为将来别的企业报表需求做出什么贡献。


■ 数据转化为信息的不可行性
数据缺乏集成和无足够的历史数据。

比如,考虑这个信息需求:“今年的帐号活动和过去3年有什么不同”。

DSS分析员试图满足对信息的需求,而在此过程中发生的第一件事情,就是到现存的系统中寻求必要的数据,这大概是最糟的举动。在传统环境中存在着DSS分析员将要遇到的很多应用程序。试图发现一个帐号存在哪些相关数据是相当困难的。系统中有短信应用程序、WAP应用程序、彩E应用程序等等应用程序。从它们当中抽取公共信息几乎不可能。设计这些应用程序时从未考虑数据集成,对DSS分析员来说对它们进行解释并不比任何其他人更容易。
但是,集成化并非分析人员在试图满足信息需求过程中遇到的唯一困难。第二个主要障碍是在应用程序中没有存储足够的历史数据以满足DSS分析员的需求。
短信应用程序保存了3个月的应用数据,WAP保存了半年的数据,彩E保持了1个月的历史数据。建造这些应用程序是用来满足当时收支处理的需要(自然是足够的! )。设计时从未考虑过保存这些历史数据以满足DSS分析的需求。那么不用说,对DSS分析来说,求助于现存系统不是明智的选择。但是除了这些又能求助于什么呢?


二、DSS分析方法变迁
自然演化体系结构的存在方式确实不足以满足明天的需要。体系结构需要转变,体系化的数据仓库环境应该在变化了的体系结构上建造。体系结构设计环境的核心是意识到存在着两种基本数据:原始数据和导出数据。

原始数据,是公司每天操作运行所用的细节性数据,
导出数据,是统计出来的或计算出来的满足公司管理者需要的数据。

原始数据,可以更新,
导出数据,不可以更新。

原始数据,主要是当前值数据,
导出数据,通常为历史数据。

原始数据,由以重复方式运行的过程操作,
导出数据,由非重复地启发式地运行的程序操作。

原始数据,支持日常工作,
导出数据,则支持管理工作。

操作型数据是原始的,DSS数据是导出的。

更多变迁对比:
原始数据/操作型数据 导出数据/DSS数据
• 面向应用 • 面向主题
• 详细的 • 综合的,或提炼的
• 在存取瞬间是准确的 • 代表过去的数据
• 为日常工作服务 • 为管理者服务
• 可更新 • 不更新
• 重复运行 • 启发式运行
• 处理需求事先可知 • 处理需求事先不知道
• 生命周期符合SDLC • 完全不同的生命周期
• 对性能要求高 • 对性能要求宽松
• 一个时刻存取一个单元 • 一个时刻存取一个集合
• 事务处理驱动 • 分析处理驱动
• 更新控制主要涉及所有权 • 无更新控制问题
• 高可用性 • 松弛的可用性
• 整体管理 • 以子集管理
• 非冗余性 • 时常有冗余
• 静态结构;可变的内容 • 结构灵活
• 一次处理数据量小 • 一次处理数据量大
• 支持日常操作 • 支持管理需求
• 访问的高可能性 • 访问的低可能性或适度可能性


bigboar 发表于:2006.07.19 11:03 ::分类: ( Oracle ) ::阅读:(518次) :: 评论 (0) :: 引用 (0)

发表评论

标题

在此添加评论

称呼

邮箱地址(可选)

个人主页(可选)


authimage