技术开发 频道

InfoSphere与Cognos集成架构概述

    【IT168 技术文章】

    简介

    数据挖掘使专家、分析师和用户可以洞察大量数据集中存在的模式,并使之成为日常业务流程中的一部分。在过去,数据挖掘一直是统计和数据分析专家的任务。另一方面,数据挖掘的结果又常常与公司中各种不同的用户有关联。

    考虑以下场景。您收集关于符合特定的人口特征(例如年龄、职业和居住地点)的客户以及过去的事务(例如售出的产品以及合同)的数据。商场营销部门希望针对具有相似特点的特定客户群开发新的定制产品。如何发现那样的独特用户群?数据集群为这个问题提供了一个解决方案。它自动根据数据集的属性或特征对数据集进行分组。然后,分析师查看这些组,并交互式地对它们进行微调,直到满足他/她的需要。而市场营销专家将发现,有一群为数不多、但是在经济上有重大意义的客户,他们的年龄超出了平均年龄,不使用 Internet 银行。根据这样的信息,可以为这些客户开发专门的产品。在分析过程中,一个关键的步骤就是让用户理解数据集群步骤的结果。专业的分析师通常并不擅长低级的数据库编程。

    如何将数据挖掘的结果交付给需要它的分析师和雇员?如何显示结果,以反映用户所涉及的业务流程?如何满足安全性需求,使每个用户只看到他/她应该看到的内容。对于这些问题,要想给出令人满意的答案,必须将视角从统计分析转变到实际的终端用户以及他/她所涉及的业务流程上来。InfoSphere Warehouse 是企业数据仓库的强有力的基础。InfoSphere Warehouse 直接在存储数据的底层 DB2 数据库中提供数据挖掘功能。整个数据挖掘功能可以通过一个容易使用的、基于 Eclipse 的工具平台来访问,而且部署任务可以直接在工具中触发。

    IBM Cognos 是报告解决方案中的领先者之一。在很多公司中,报告扮演着一个重要的角色,因为它有助于以不同的方式为不同的目标人群合并和可视化相关信息。报告的结果通常是通过对存储在数据仓库中的信息应用基本的算术运算而得到的(例如,每月的平均销售额)。对于高级的分析,例如上面的例子,则超出了报告框架的范围和能力。因此,可以将两者相结合,既使用 InfoSphere Warehouse 的可伸缩的、高级的分析功能,又使用 IBM Cognos 已有的、先进的报告功能。接下来的小节展示如何灵活地将 IBM InfoSphere Warehouse Data Mining 与 IBM Cognos 相结合,以实现这个目标。这种集成不需要任何复杂的编程或设置,只需使用纯 DB2 SQL 就能完成。

    接下来的小节简要地介绍 InfoSphere Warehouse 和 IBM Cognos 的基本架构。然后将描述如何集成它们。最后,通过一个简单的、逐步讲解的来自医疗保健领域的例子来演示这种集成。这个系列接下来的文章将描述这种集成的一些更高级的技巧和概念。

    产品组件

    IBM InfoSphere Warehouse

    InfoSphere Warehouse 以 DB2 作为数据存储。它提供了数据库分区功能(DPF),以便以可伸缩的、安全的、高性能的方式存储数据仓库中的数据,并将在线事务处理(OLTP)数据库的优点与大型数据仓库的存储需求相结合。InfoSphere Warehouse 提供了很多不同的用于仓库管理和分析的工具。这些分析组件有:

    Cubing 服务

    数据挖掘

    文本分析

    InfoSphere Warehouse Design Studio 是基于 Eclipse 的工具平台,用于为数据挖掘和文本分析设计工作负载规则、数据转换流和分析流。然后,可以将这些流部署到 InfoSphere Warehouse 管理控制台,以根据需要进行调度和运行。InfoSphere Warehouse 数据挖掘是用 DB2 存储过程和用户定义函数构建的,以利用 DB2 作为执行环境,从而获得高性能的数据库内执行。可以通过 SQL 接口或通过 InfoSphere Warehouse 的挖掘流访问它。

    数据挖掘是一项从大型数据集中发现有用信息的任务。一个典型的场景是医疗保健,本文将用它作为实例。如今可以收集到大量的卫生保健数据,这些数据描述很多不同的病人数年来的状态。这种数据的一个重要用途是在早期发现潜伏性疾病的指标。例如,出于这个目的,可以收集患有心脏病的病人的数据,并分析什么因素与这种疾病有关,例如血压和体重。这种数据必须在收集后进行转换,使之能用于数据挖掘。更具体而言,需要有一个表,每个病人对应于其中的一行记录,表中有一些列,表示关于病人的信息。而且,还应该有一个专门的列表明这个病人是否真正患病。图 1 显示了一种可能的模式:

 

图 1. 心脏病数据库表的模式(InfoSphere Warehouse 例子的一部分)

    基于这种数据,InfoSphere Warehouse 中的存储过程可以构建一个模型,对于任何新的病人,该模型可以预测他/她是否可能有潜伏性心脏病。这个过程称作 “建模”。这样得到的 XML 数据挖掘模型存储在数据库中,可以通过 SQL/XQuery 进行访问。这个模型可用于两个目的:首先,可以从这个模型提取信息,以洞察哪些是心脏病的重要指标以及其他统计信息。其次,可以将该模型自动应用到新的数据记录上。因此,对于在心脏病这一列上还没有值的任何记录,可以自动添加这个值,另外再添加一个表示预测的置信度的一个值。这个过程称作 “评价”。图 2 通过示意图显示了这个过程:

  图 2. 基于历史数据构建预测模型,然后将此模型应用到新数据上

  InfoSphere Warehouse 几乎包含目前所有数据挖掘算法的极为高效的实现。要调用数据挖掘,首先要将数据写到一个表中。然后创建一个模型,再将这个模型应用到目标值尚且未知的记录上,以产生一个预测和该预测的置信度值。所有数据挖掘函数都是作为常规的 SQL 命令来调用的,后面您将看到这一点。这样便很容易集成到几乎所有的设置中,例如 Web 服务。

    IBM Cognos 8 Business Intelligence

    IBM Cognos 8 Business Intelligence 提供一套完整的商业智能(BI)功能,并且基于一个灵活的面向服务架构(SOA)。它的主要功能有报告、分析、指示板(dashboard)和计分卡(scorecarding)。

    报告用于聚合关于业务流程的相关数据,并将它分发给最能从这种特定信息中受益的人。在数据挖掘环境中,这意味着将结果传递给最能从生成的业务洞察力中受益的人。

    创建和发布业务报告所需的 Cognos 8 组件有:

    Cognos Connection:Cognos 8 功能的 Web 门户和入口点。用户可以从这里管理、组织和查看已有的内容,例如报告或指示板。可以从 Cognos Connection 启动基于 Web 的 authoring studio,例如 Report Studio,以创建新的资源或编辑已有的资源。它还可以用于管理 Cognos 服务器,例如更改访问限制、导入内容或者更改将一份报告发送给哪些人的列表。

    Cognos Framework Manager:用于 Cognos 8 中使用的数据源的建模工具。例如,在 Cognos 报告中,可以通过在 Framework Manager 中描述一个元数据层,来访问大多数数据库和其他数据源,例如 Web 服务中的数据。可以将数据库表、视图和存储过程作为查询主题添加到 Cognos 包中。Framework Manager 用于导入和合并公司中不同数据源中的信息,以便在 Report Studio 等的 Cognos 8 BI 工具中以一致的方式使用该信息。需要特别注意的是,创建报告时,数据本身还是存放在数据源中,并在那里被访问。

    Cognos Report Studio:Cognos 8 BI 中的一个基于 Web 的 authoring studio。它用于创建和编辑关于 Framework Manager 中描述的数据的高级报告。它提供了一些强大的功能,例如下钻(drill-down)、提示和丰富的图表库。

    要将这种数据放入报告中,需要执行两个步骤:

    在 Framework Manager,数据建模者创建 Cognos 元数据,这种元数据从业务的角度描述数据库中的数据(包括表之间的关系、值的业务名称等)。

    创建好元数据后,将它作为一个包部署到 Cognos 8 内容存储中。然后可以通过 Cognos Connection 和 authoring studio 从这里访问它。

    报告设计者进入 Cognos Connection,并在部署的包上创建一个新报告。创建报告后,可以管理目标组和分发形式(例如 email 或 Web 门户)。

    能够从关系数据源创建报告是 InfoSphere Warehouse 数据挖掘与 IBM Cognos 集成的关键。

    集成架构

    如前所述,Cognos 报告的内容由一个关系数据源交付的一个结果集组成。一个特定报告的内容由针对一个或多个数据源的一个(动态的)SQL 查询决定。可以通过以下方式,利用这个基本的通信模式将数据挖掘与 Cognos 报告集成:

    Cognos 可以显示有评价信息的表,还可能一起显示置信度信息。

    Cognos 可用于显示模型信息。该信息是通过表提取器函数或 XQuery 查询从实际的 XML 模型中提取的。

    Cognos 可以通过调用 SQL 存储过程来动态地调用数据挖掘和评价。这样便允许:

    在报告界面中以用户提供的不同设置调用数据挖掘

    在数据的不同子集上调用数据挖掘(例如,创建递归下钻报告)

    根据用户的输入动态地进行记录

    图 3 总结了所有这些案例中使用的调用模式。

    图 3. IBM InfoSphere 数据挖掘与 IBM Cognos 报告的基本集成架构
 

   可以通过一个存储过程调用来调用数据挖掘,数据挖掘将在数据库中创建一个 XML 挖掘模型。可以根据新的数据记录这个模型,或者将模型信息提取到一个表中。然后,Cognos 可以使用这些表。从 Cognos 报告中,用户可以通过调用数据库上相应的存储过程,交互式地调用数据挖掘。

    这种集成带来了很多好处:

    它非常简单,只需要 SQL 方面的知识,而不需要附加的编程。

    挖掘模型存储在数据库中,可以从 Cognos 中安全、有效地访问它们。

    通过使用存储过程,可以从 Cognos 中触发和控制整个数据挖掘过程。

    接下来的小节是这种集成的一个逐步讲解的例子,这也是最简单的例子:对数据库中的记录进行评价,并将结果显示在一个 Cognos 报告中。模型信息的提取和从 Cognos 中对数据挖掘的动态调用将在本系列接下来的文章中谈到。
 

0
相关文章