至今为止,数据仓库的实用化已走过了近十年的历程,在成功之技术篇般规模都达到了T级。应用领域遍及通信、零售业、金融以及制造业。数据仓库的规模越来越大,被广泛应用于更高精度的数据分析中。数据仓库的支撑技术也有了新的进展。
商业智能重分析
商业智能首先是从查询、报表制作工具向分析工具进化。以制作查询报表为主要目的而诞生的数据库访问工具,以OLAP功能、数据挖掘功能为核心在逐渐扩充功能。从提供单一数据库检索手段的前端工具向涉及支持用户的决策支持、提供分析手法和探索发展战略功能扩展。
其中扩展的功能主要有以下几点:
● 与OLAP融合 将OLAP技术与传统的报表制作功能集成起来,能够从对数据仓库的检索处理,连续实现OLAP处理和报表制作处理。这样,在各处理阶段就无须更换工具和变换数据。
● 访问多个OLAP环境 过去几乎所有的分析工具都是各自支持特定的OLAP数据库,现在出台了支持多个OLAP数据库的可选工具。这样不仅可以继承过去的OLAP资产,而且可以与新技术支撑的OLAP环境集成。
● 多种数据资源的集成(Excel 数据和文本文件) 除了访问传统的RDBMS外,还可以从用户所持有的Excel 数据和文本文件获取数据。可以在同一个报表上,制成从数据仓库得到的销售实绩数据和Excel的预算数据等,这样可提高数据的利用率。
● 数据挖掘功能的集成 从大量数据中以优良的目标顾客为对象,推导、预报顾客的购买意向,以提高销售额,这就是所谓的数据挖掘。将这个急速普及的数据挖掘功能集成起来,在报表上,根据购买意向和相关关系,来提供未来行为的相关信息,有效的应用于决策。
● 提供企业信息门户功能 和知识管理的实践联合起来,提供分析工具,而这个分析工具本身具有综合提供每个用户所必要的数据和信息的功能。分析工具本身具有企业信息门户功能,在报表工具中,可以一揽子提供数据仓库的结构化数据、非结构化的HTML文档、文章数据以及来自外部的信息等。
其次是用户群的扩大。数据仓库从少数人使用的工具,逐渐演化为全企业的信息应用基础。因此,要求统一成为从用户通过Web浏览器访问数据仓库的势头日益强劲。其中,分析工具和访问工具适应Web的进程,获得了长足进步,目前基本上所有的工具都能逐渐适应Web。
引入ETL工具
在数据仓库构筑中,传统上作业量最大、日常运行中问题最多的是从业务数据库向数据仓库抽取、变换、集成数据的作业。原因是为了从各种不同种类和形式的业务应用抽取、变换、集成数据,并将其存储到数据仓库,要求要对数据的质量进行维护和管理。
ETL工具就是在数据的抽取处理之后,进行数据的“净化提炼”处理。所谓数据的“净化提炼”就是对从多个不同业务数据库所抽取的数据,进行数据项名称的统一、位数的统一、编码的统一和形式的统一,消除重复数据。现在ETL工具的功能越来越高级。它具有支持数据的“净化提炼”功能、数据加工功能和自动运行功能(包括处理过程的监控、调度和外部批处理作业的启动等),支持多种数据源,能自动实现数据抽取。
其次是数据中心构筑方式的进展。数据仓库是面对整个企业的数据应用,而针对各个部门的信息应用是构筑数据中心。数据中心的数据是按部门从数据仓库中抽取,并进行加工处理。数据中心构筑工具,就是提供从数据仓库自动进行数据的抽出、变换功能,具有ETL功能,可以大幅提高运行效率。
适应大规模数据仓库
构筑数T级数据仓库所需要的平台、数据库系统和备份解决方案正在充实、进化。
数T级大规模数据仓库中的支持平台,多数是利用大型的UNIX服务器。现在市场上面向数据仓库的体系结构有:SMP、MPP、NUMA(cc NUMA)、高可用性集群、并行SMP等五种结构可供选择。
SMP(Symmetrical Multi Processing) SMP(对称多处理)是在单一的系统中内置多个CPU(1-64个),将OS、应用和数据库分配给各个CPU以实现并行处理。现在就有这样的RDBMS产品:将单一的SQL的检索,再进行细分后分配给各CPU以提高并行处理能力。SMP系统的优点是程序模块简单,可以简单的通过CPU的升级和追加来提高性能。
MPP(Massive Parallel Processing) MPP(大规模并行处理)是具有多套CPU、OS、I/O将多套联结起来实现处理的并行化,过去超并行机就是采用的这种体系结构。可以通过增加套数来提高可扩性,但是,用于并行处理的各CPU间的频繁通信很有可能会造成瓶颈,程序设计模型也特殊且复杂。因此,多数情况下是要用独立的OS和数据库系统。
NUMA(ccNUMA) NUMA(Non-Uniform Memory Access:非均匀存储访问)是对SMP的程序设计模型维持管理、实现CPU极高可扩性的系统。该系统带有这样的机构:以某种形式将由处理器和内存作成的处理单元联结起来,某个单元就可以象访问自己的内存一样来访问其他处理单元的内存。所谓ccNUMA是在NUMA中附加有高速缓存机构,以保证各个处理单元间的内存访问的一致性,提高访问速度。过去,在大型科学计算机器中多数是采用这种结构,而现在在数据仓库中也日益广泛的采用这种结构。它的优点是对所执行的程序不做任何变更,就可以在单一的OS下用超过数百个的CPU进行并行处理。因此对于已使用中的RDBMS也可以大幅提高它的处理能力。要冲破单体SMP的局限,在需要大规模处理数T、数十T数据仓库的检索处理中,预计今后需要这种ccNUMA系统处理能力的场合会日益增加。
高可用性集群 为了通过故障切换提高可用性,将多个独立系统联结成集群。一般多数是由2-8个少数系统节点(SMP等)组成。通常是通过Ethernet和FDDI/CDDI等低速、大延迟的网络进行互联。主要是用来提高OLTP和数据仓库中的可用性。最近,数据仓库越来越成为企业活动中不可缺少的技术,而且数据仓库也要求涉足于关键应用,所以对数据仓库的可用性的要求越来越高。
并行SMP系统 并行SMP又称为“混合”系统或“集群”系统是为了充分发挥SMP的特长,冲破SMP的局限而开发的系统。将多个SMP系统组合起来,系统间用高速总线如高速光纤通道等联结起来。各个系统叫做节点,各个节点与通常的SMP系统完全等同,所以无须特殊的OS和软件。目前Informix OnLine-XPS、Oracle OPS、Sybase Adaptive Server MPP等的主要数据库的并行处理选件已经实现了SMP系统中的超并行处理。将多个节点的SMP组合起来,这样就可以保证由几千个CPU实现的超并行处理与Informix、Oracle、Sybase等传统数据库具有兼容性。
今后,数据仓库的发展趋势一是要扩大规模,二是要运行关键应用。所以,在体系结构方面主要的厂商都在考虑要采用高可扩性的SMP,进一步普及并行SMP。另外,面向数据仓库的NUMA、ccNUMA等技术将会真正投入市场,由此来看,数据仓库如何和这些技术融合,以后也会日益成为关注的焦点。
建立超并行数据库系统
在大规模数据仓库的检索处理中,要有用并行处理、进行用户查询处理的数据库系统。通过对在开放系统环境下有出色实绩的RDBMS的超并行化,过去非专用机不能实现的并行处理,在SMP服务器和并行SMP服务器(UNIX或Windows NT)中也能实现了。
所谓并行化是指能用多个CPU以及I/O资源来完成一个查询。在SMP、ccNUMA、集群、MPP等体系结构中实现了性能飞跃。在每个查询中,根据表的大小、CPU的个数、访问的文件数等,可以动态的决定并行度。
在传统的RDBMS中也装入了旨在提高数据仓库检索速度的功能,也为数据仓库专用的RDBMS。主要功能有:
●索引及其联结方法 提供位图索引、星型索引、散列联结等。
●汇总表的制作、显示、管理
●分区 将特定的表进行分区,这样,可以限定只对检索对象的分区进行检索,排除无效的检索处理,提高性能。
适应由多维OLAP(MOLAP)和关系OLAP(ROLAP)进行分析处理的特性和要求,市场上出售的可选产品,日益充实起来。另外,还出台了兼有MOLAP和ROLAP两种功能的混合型产品。