日斋
日新月异
IBM 提供了一组令人眼花缭乱的商业智能(business intelligence,BI)技术。这些技术大多数都是以独立产品的形式提供的,它们使用 DB2 Universal Database (DB2 UDB) 及其他主导数据库产品。不过,IBM 早已使工程规范贯穿其 BI 产品,通过使用 DB2 扩展以及数据库引擎级(database engine-level)的集成,有意识地将每一项产品和技术编入一套有效的 BI 解决方案中。

  一个企业很可能会在其远程区域采用像 DB2 Intelligent Miner 这样的产品,并使用 DB2 UDB 作为其主数据库引擎,而没有意识到如果将这两种产品综合起来,就可以形成一套单独的、协调的 BI 解决方案。实际上,由于 IBM 这些以 BI 为中心的(BI-centric)产品有成千上万种可能的组合,因此要确立一种方案绝非易事。

  为了创建一个“信息组织(information organization)”,我曾开发出一种 BI 架构,只需加以修改,这种架构便可满足大多数大型企业的需求,并为 IBM BI 技术提供有益的参考点。信息组织是指那些拥有多个客户接触点(touchpoint)、具有动态数据环境和不断变化的业务前景并且需要各种范围的分析技术和能力的组织。

  我将向您介绍 IBM 提供的各种 BI 组件,并展示每种组件如何适合那样的 BI 架构。

  策略

  IBM 在 BI 方面的工作主要集中在以下三大目标上:

  1. 创建 DB2 与 BI 分析的无缝集成。DB2 UDB 构成了 IBM BI 策略的中心。DB2 除了其可伸缩的、并行的数据库技术以外,还包括数据挖掘、OLAP 以及门户和地理空间(geospatial)技术等方面的扩展。

  2. 通过集成的技术简化 BI 分析提交系统。一个简化的数据提交系统需要具备两点:能够处理不同数据类型,能够有效地将不同数据从其源传播至目标 BI 结构。通过 DB2 的 XML 支持,不同种类的分布式查询能力(这一点我将更详细地讨论),集成的数据复制服务,用于空间、文本或多维数据的 DB2 Extenders,以及 MQSeries 技术,一家公司实质上可以将任何数据类型从源转到目标。

3. 提供零延迟(zero-latency)分析。实时(或零延迟)分析是企业在 BI 方面工作的先决条件。为了能够建立零延迟的 BI 环境,需集成数据库引擎、所选的分析工具以及一个有效的数据提交系统。换句话说,要内置零延迟特性,就需要实现前两大目标。

  为了展示 IBM 提供的 BI 技术如何在一个商业智能架构中支持这些目标,让我们详细考虑一下每个目标。

  DB2 与 BI 分析的集成

  我将把这种 BI 架构中的某些技术孤立起来,以展示 BI 功能是如何集成到 DB2 中的。

  数据挖掘。在架构里的组件当中,有一些需要多种数据挖掘技术和技巧,包括用于检查客户接触点、公司的操作系统以及数据仓库本身的各种代理。这些代理可能是高级神经网络,它们经过训练,可指出某些趋势(例如根据促销得出未来产品需求);可能是基于规则的引擎,用于对一组给定的环境作出反应(例如,医疗诊断和治疗建议);甚至可能是向顶级执行者报告异常的简单引擎。这些数据挖掘过程通常是实时出现的。因此,必须将它们与数据本身的移动紧密耦合。DB2 Intelligent Miner Scoring Services 提供了带有挖掘扩展的数据库引擎,它允许挖掘模型常驻在数据库中。这种方法转化成 DB2 中挖掘模型的动态评分(dynamic scoring),并允许在任何 DB2 UDB 环境上实现这些模型以及使用简单 SQL 执行这些模型。而且,该挖掘模型支持工业标准 XML-based Predictive Model Markup Language,这种标准能转化出更广阔的兼容性。

  在线分析处理(OLAP)。切片(slice)、切块(dice)、上卷(roll up)、下钻(drill-down)以及执行“what-if”分析等功能都属于该技术的范畴。OLAP 数据集市(data mart)结构是任何 BI 环境的主要组成部分。通过将主导 OLAP 技术与数据库引擎本身紧密耦合,可集中控制,并确保整个 BI 环境中准备好的数据流(关系的和多维的)。DB2 OLAP Server 是和 Hyperion 一起开发的,它包括用于处理层次和计算引用单元(calculation precedent)的扩展实用程序,并且存储 DB2 中的多维数据。由于有一个新的“机会发现(opportunity discovery)功能”和一项偏差检测(deviation detection)增强,让我们可以快速、自动化地分析数据立方体,以向业务分析员指出和报告整个立方体中不寻常的或者异常的数据值。而且,OLAP 扩展为 DB2 而存在,它将维量分析(dimensional analysis)带入数据库引擎,这一点我将更详细地讨论。

 

空间分析。空间代表一个广阔的分析画面所需的分析锚的一半;时间则代表另一半。我所描述的仓库包括时间和空间的基础。时间戳按时间锚定分析,而地址信息则按空间锚定分析。图中展示了为分析员提供的在原子级和空间分析中进行的地理编码(geocoding)—— 将地址转换成地图上或者空间中的点的过程,因此像距离以及内部或外部这样的概念就可以在分析中使用。IBM 为 DB2 数据库提供了用 ESRI 开发的空间(spatial)扩展,因此空间对象可以作为关系数据库自然的一部分进行存储。DB2 Spatial Extenders 还提供了所有用于开采空间分析的 SQL 扩展,包括对地址间距离或者某一点在某定义好的多边形区域内还是外的查询这样的扩展。

  数据库常驻工具。DB2 有很多 BI 常驻 SQL 功能,它们在分析过程中起辅助作用。这些功能包括:

  执行形如“找出从旧金山到纽约所有可能的航线(find all the possible flight paths from San Francisco to New York)”这样的分析的递归功能。

  用于排序、累积功能以及通常只随 OLAP 技术出现的立方体和上卷任务(它们现在是数据库引擎自然的一部分)的分析功能。

  创建包含计算出的结果的表的能力。

  用于统计分析的功能。

  数据交付系统

  图 1中描述的架构包括一些物理数据结构,这些物理数据结构形成了为分析提供的数据的基础。第一种数据结构是操作性数据存储(operational data store,ODS)。通常,ODS 是面向主题的(subject-oriented)、集成的和当前的。例如,您会建立一个 ODS 来支持销售部门。该销售 ODS 将集成来自多个不同系统的数据,但是只维护当天的事务。ODS 可能每天更新数次。报告是按需提供的。同时,过程又将集成的数据推入到其他应用程序中。到一天结束时,数据就会被刷新,另一天便开始了。这种结构是专门设计用来集成当前、动态数据的,很可能成为支持实时分析(例如为客户服务代理提供某客户的当前销售信息 — 从 ODS 抽取 — 而从仓库本身提取销售趋势信息)的一种选择。

图 1:信息组织架构。 [ 单击这里看放大的图像 ]

  BI 鸟瞰

  图中展示的另一种结构是数据仓库的一个正式的中间区域(staging area)。这不仅是用于执行必要的集成、数据质量和传入的仓库数据的转换的地方,而且也是复制所得数据的一个可靠的存储区域,这可用于实时分析。

  不管您决定使用 ODS 还是中间区域,使用异型操作源填充这些数据结构时使用的最佳工具是 DB2 的异型分布式查询。这种功能是由名为 DB2 Relational Connect(仅限查询)的可选 DB2 功能并通过 DB2 DataJoiner(一项独立的产品,向异型分布式 RDBMS 提供查询、 INSERT 、 UPDATE 和 DELETE 功能)提供的。这两种功能都将被集成到未来的 DB2 发行版中。

  这种技术允许数据架构师将生产数据与分析过程绑定。该技术不仅可以适合由实时分析引起的任何复制需求,而且还可以与大多数流行数据库,包括 DB2、Oracle、Sybase、SQL Server、Informix 及其他相结合。DB2 DataJoiner 可以用来填充像 ODS 这样的正式的数据结构,甚至是集结在为快照更新或快速批发刷新而设计的仓库中的持久表。当然,这些相同的数据结构也可以用另一种为数据复制而设计的重要技术来填充,该技术就是 IBM DataPropagator(DataPropagator 是大型机上用于 DB2 的工具选项。Unix、Linux、Windows 和 OS/2 上的 DB2 UDB 都包括数据复制服务,作为一项标准功能)。

  在企业范围内移动操作数据的另一种方法是使用一个企业应用集成器(enterprise application integrator),或者称为消息中介(message broker)。这项独特的技术为在企业范围内为数据指定目标以及移动数据提供了无法比拟的控制力。IBM 拥有被最广泛使用的消息中介 MQSeries,或者该产品结合了电子商务需求的一个变种,即 IBM WebSphere MQ。

 

对于 MQ 产品或者实现的详细讨论超出了本文的范围。不过,为了更详细地讨论如何最佳地利用 MQSeries 以支持仓库和 BI 环境,请参考本文后面的参考资料,以获得一系列的企业架构文章和参考文献。可以说,该技术是捕获和变换(使用 MQSeries Integrator) 为 BI 解决方案新添的目标操作数据的一种极好的手段。MQ 技术已经与 UDB v7.2 集成和捆绑,这意味着可以像 DB2 表那样来管理消息队列。焊接消息排队(Welding message queuing) 和关系数据库有助于造就一个强大的数据交付环境。

  零延迟分析

  零延迟要求被分析的数据、BI 技术以及所选工具之间有紧密的耦合。零延迟还依赖于一个有效的数据交付系统来确保实时分析所需的数据真正可用。如果回顾先前关于集成和简化的数据交付的讨论,您将发现该技术正在有意识地演化,以确保零延迟对于仓库方面的努力来说是切实可行的。应重点注意的是,IBM 套件通过将以下技术集成到数据库引擎中而主要提供了一个零延迟解决方案域:数据挖掘、OLAP 以及空间和消息排队。由此带来的好处是双重的:

  1. 分析应用程序运行更快,因为要执行的代码更少。

  2. 可以更快地部署应用程序和中间件,因为需要安装和管理的软件更少。

  组件内聚性

  到目前为止,我主要关注的是实际技术和消息组织所必需的架构型组件(architectural component)。但是,为了让所有这些技术、技巧和数据结构有效地发挥作用,您需要能整体管理该环境的一个工具。出于这一目的,IBM 开发了一个产品,该产品提供了 Data Warehouse Center 及其可选的 DB2 Warehouse Manager。这些新工具对 Visual Warehouse 的早期是一个巨大的改进。

  Data Warehouse Center 和 DB2 Warehouse Manager 都是健壮的环境,用于为仓库工作定义和管理基础设施。在这些产品中,您可以定义、调度和执行抽取、变换和装载进程,将第三方工具(例如 Cognos、Brio 或 Business Objects)集成到仓库功能中,实现查询控制规则以确保仓库性能,还可以将所有元数据放入到一个单独的、集中的仓库中,以发布给用户社区。

 

  BI 同步性

  在大多数主流提供商只表现出以 BI 为中心的产品的松散耦合性的地方,IBM 已发展出一种 BI 产品套件,该产品套件表现出各种技术紧密耦合的统一性。DB2 UDB、DB2 OLAP Server、DB2 Intelligent Miner、DB2 Warehouse Manager、WebSphere 和 WebSphere MQ 的这种同步发展集中体现了 IBM 在实际解决方案中对 BI 从业者的长期承诺。

  本文的内容是从一本关于使用 IBM 技术的数据仓库的书中加以修改而摘录出来的,这本书由 Wiley 在 2002 秋出版。

 

posted on 2010-01-19 22:50  李承隆  阅读(234)  评论(0编辑  收藏  举报