根据Bill Inmon对数据仓库的概括,数据仓库由以下几个部分构成:数据的收集 、数据存储和管理、联机分析处理和决策支持开发应用环境。除各个 部分硬件平台的选择,对数据仓库的基础设施的选择,也就是对以下四个部分各种软件的选择。
1、数据的收集--数据的抽取、转换和装载(ETL)
数据的收集--从原有的系统中有效地、高效地抽取、净化、转换和装载数据的问题,在数据仓库的建立过程中,已变得日益突出。当数据仓库的数据量非常大的时候,数据收集的高效性就变得更加必要,否则就会加大客户的投资。
采用什么样的方案来满足ETL的要求,以支持商务和环境所要求的数据仓库、数据库合并和系统主题重构就成为用户选择的问题。
1)Programming (手工编程)
2)Program Generator(编程源)(如COBOL编程)
3)TOOL(工具)模块化(批处理方式)如:Ardent公司的Infomoter产品
早期的ETL操作都第一种或第二种方式来实现的,现在ETL工具是数据收集的主流。现在用户所要决策的已不再是关于技术方面的选择,而更多是关于管理方面的选择,如:
快捷解决方案--目的是尽可能快地获得信息;
系统解决方案--平滑地、有效地、高效地实现ETL处理过程。
事实上,这两个方面都很需要考虑。 在数据仓库初始建立的时候, 或是时间紧急的项目,快速解决方案会被认为非常有效。它会作为一种尝试或模型建立,以后便会产生出更多的系统的解决方案。所以,系统的数据抽取和转换的方案将会适应大多数问题,如:数据质量。
以下列举商务需求和条件的问题,会对用户在ETL工具上的选择提供一些帮助:
对系统数据的知识基础是否充分;
数据抽取/装载操作是一次完成,还是不断/反复操作;
关注的焦点是数据内涵的质量,还是补偿式的传递数据;
数据质量问题是特殊性的(例如是针对客户或销售额),还是普遍性的);
使用现成集成套件工具,还是自己有针对性的开发;
数据抽取/转换是集中管理,还是分布管理;
数据抽取/转换是通过参数控制,还是编程控制。
2、OLAP--联机分析处理
OLTP系统中的数据处理是高度结构化的、复杂数据模型操作,每一次事务处理通常只涉及一两张表,并且只对一行记录进行操作。这说明复杂的表关系不会影响到系统的性能、DSS处理,正相反,它的一次操作要涉及几百张表的上千行数据。在这种情况下,复杂的表连接会严重影响性能。所以 , 性 能 是 传 统 的 实 体 - 关系(ER)模型不能满足决策支持环境的重要原因之一。
第二个原因,典型的ER模式过于复杂且难以导航。在OLTP系统中,这不是一个问题,使用和访问数据的路径非常明了,应用可以硬编码来使用特殊的数据结构。但在DSS环境下,数据的使用是非结构化的;用户仅仅在分析的时候才查找有关数据,这个查找条件是随机的。
由于传统的数据分析软件不适用于动态数据分析,而关系数据库虽然具有一定的数据视图选取和比较、综合的能力,但它仍然受到数据分析能力局限性的制约,所以产生了一种针对特定问题的联机数据访问和数据分析的技术,E. F. Codd将这种技术定义为"OTAP",并定义了十二条评价OLAP产品的准则 ,即:
1)OLAP模型必须提供多维概念视图;
2)透明性准则;
3)存取能力准则;
4)稳定的报表性能;
5)客户/服务器体系结构;
6)维的等同性准则;
7)动态稀疏矩阵处理准则;
8)多用户支持能力准则;
9)非受限的跨维操作;
10)直观的数据处理;
11)灵活地生成报表;
12)非受限的维与维的层次 。
现在市场中有很多OLAP产品和工具,以多维立方体(cube)的存放(管理)在整个数据仓库系统的位置划分,可分为三类:
1)客户端(MicroCube);
2)多维数据库服务器(MDDB)(HyperCube);
3)关系数据库服务器(ROLAP)。
第一种利用查询工具对Cube进入管理,但这仅适用于简单的二维查询报告。
MDDB和ROLAP都允许用户从多个观察角度来定义和查询数据,但由于ROLAP技术与关系数据库的紧密结合,在存储和管理能力上、在适应性方面,ROLAP要比MDDB具有更强"鲁棒"性。例如:一个3×3×3的立方体,(每维有3个维成员的三维Cube),共有27个数据单元。若根据分析需要,在每一维 上 增 加 一 个 新 的 维 成 员 , 则 该 逻 辑 立 方 体 (Cube) 变成4×4×4,共64个数据单 元。所以,如果没有很强的数据存储和管理能力,是不能胜任和适应复杂的分析环境。
3 数据库服务器
数据仓库或数据集市与一般数据库应用比较而言,在规模上和数据量上要大得多。Gartner集团的有关报告说,"数据仓库最少也要支持几百个用户,查询范围从简单的索引检查到复杂的对比分析。"目前的数据仓库的数据量已经超过了千千兆字节(TB)级。所以,关系数据库服务器无疑是数据仓库的核心。
在数据仓库中数据库的关键技术规纳如下:
开放的动态可伸缩体系结构;
数据库并行数据操作的能力;
对并行硬台环境的支持能力;
针对决策支持的增强特性;
服务器的可靠性、可用性和可服务性(RAS);
新的商务逻辑的扩展性;
高度灵活性(Windows NT、UNIX);
多用户的支持。
4 工具
实现数据仓库的最终目的是响应用户的要求,如资深的财务、商务分析员和行业销售等,他们要访问企业的分析数据或信息而作出更好的商业决策,大多数客户不仅要求直接访问企业数据,他们还要求在数据仓库不断增长的时候,减少查询的复杂性并加快查询的速度和分析的速度。那么什么工具能够帮助最终用户访问数据呢?
电子数据表(如:Microsoft Excel)
个人数据库(如:Lotus Approch)
查询和报告工具(如:Brio Intelligence、Business Objects)
EIS/DSS钻取/导航工具(如:Brio Intelligence、Coguos Powerplay)
多维分析/ROLAP(如:Informix Metacube)
(注:目前,电子数据表增长缓慢,多维分析/ROLAP日益受到青睐)
数据仓库的访问工具目前增长迅速,而且种类丰富。所以,用户可根据自己的应用要求和应用展示数据的风格来选择不同的访问工具。因此,要求数据仓库解决方案对访问工具必须采取开放的策略,才能满足用户的真正要求。
5 数据挖掘(Data Mining)或数据库知识发现(KDD-Knowledge Discovery Database)
现代企业总是想在保留住原有用户的基础上,开发新的用户,数据仓库已经成为这些企业的关键业务应用。它们利用数据仓库在产品、价格、投资、分配等方面,基于事实而不是基于管理直觉地作出决策。但是如何从浩如烟海的企业信息资料库中挤压出更有价值的信息,答案就是数据挖掘。人们试图在数据对等的、不明显的和不可预知的模式中发现信息的模式、趋势以及关系。有一点必须强调:数据挖掘是建立数据仓库之上的决策技术。
对数据挖掘的定义通常是这样的:
数据挖掘或数据库知识发现是从数据中找出隐含的、预先未知的和潜在的有用信息的专门抽取操作。它包含大量不同的技术手段,如聚集、数据总计、学习分类规则、发现绝对工作的依赖性、分析变化和异常侦测。
下图描述了在数据挖掘和知识发现过程中不同阶段和处理的标识。
收集--根据某些标准收集或截取数据记录。
预处理--这是数据清洗阶段,在这个阶段将那样认为不必要的信息删除,并将所需数据配制成一致的数据格式。
转换--将数据传输,并转换成带有标识(overlay)的数据,使数据变得可用和可导航。
数据挖掘--这是从数据中做模式抽取的阶段。
解决与评估--经系统标识的模式被解释成能在将来领导决策的知识。
范畴分析支持数据挖掘的两个主要阶段:建立模型和预测未来结果。简单的说,一个模型就是阐明输入对输出影响的数学公式。由于它是数学公式,所以它可以通过对基本数据不断理解的交互处理而不断提炼和调整,达到可以接受的精确程度。在决策过程中,决策者提出的问题千差万别,解决问题的方法论也就各不相同,因此,可以使用很多技术建立这些模型。
统计分析--最早使用的,并且最容易理解的技术。
神经网络--随着近几年人工智能工具的流行,人们试图通过数学的方法来模仿人脑认知工作过程。
决策树--是一种概念简单(if-then)的数学方法。
遗传算法--该技术来自于对微生物通过自然的选择和遗传的结合如何进化的研究。
模糊逻辑--简单地说,是一种对数学公式新的理解方法。(例如,将"大约6倍的2估算为12"代替6×2=12)
基于记忆的推理(memory-Based Reasoning)--它是一种通过与已经分类的同类记录比较,给数据库中的记录分类的技术。因此,它也被称为K-最互邻(KNN:k-newest-neightor)技术。
混合方法--将各种不同的方法按分析需要混合使用。
http://www.ibcc.com.cn/bbs/replytopic.asp?TOPIC_ID=42&replyno=3329&Forum_ID=58