WEB开发网
开发学院数据库DB2 使用 WebSphere Information Integrator 自主监控... 阅读

使用 WebSphere Information Integrator 自主监控工具维护联邦数据

 2008-12-15 16:37:44 来源:WEB开发网   
核心提示:简介当今的应用程序需要频频与许多不同源和不同格式的信息相结合,因此,使用 WebSphere Information Integrator 自主监控工具维护联邦数据,应用程序开发人员往往需要调用大量不同 API 和协议来检索每个源中的信息,然后将这些信息合并到应用程序中,因此,使用像联邦健康监控之类的自主功能可以给任何

简介

当今的应用程序需要频频与许多不同源和不同格式的信息相结合。因此,应用程序开发人员往往需要调用大量不同 API 和协议来检索每个源中的信息,然后将这些信息合并到应用程序中。

WebSphere Information Integrator 通过提供一个到异构数据源的实时的基于 SQL 的接口,加速了这类场景的应用程序部署,异构数据源包括关系系统(如 DB2® Universal Database™ (DB2 UDB)、Oracle 和 Sybase)和非关系数据源(如文本文档和非结构化数据),以及新兴技术(如通过 Web Services 访问的 XML 存储库和数据)。Information Integrator 通过透明地管理关系和非关系数据并将其一起引入单个虚拟位置,来满足快速访问完全不同的数据的市场需求。图 1 详细说明了 WebSphere Information Integrator 环境:

图 1. WebSphere Information Integrator 提供单个 SQL API 来访问不同的分布式数据

使用 WebSphere Information Integrator 自主监控工具维护联邦数据

WebSphere Information Integrator 通过在其自身的编目中存储联邦数据源的元数据,从而在 DB2 UDB 数据库引擎的上下文中构建数据库联邦。因为联邦中的每个数据源一直在自主操作,所以维持联邦数据库与它所联邦的源之间的一致性是一个相当大的挑战。模式定义变更、服务器和网络故障,以及密码过期等事件随时可能发生。这些事件中的每一种都可能使数据源变得不可访问或使其做过的编目不再有效,通过联邦数据库访问这些数据源的应用程序可能因此而中断。

因此,检测此类不一致性和自我管理集成环境的自主功能可以降低数据管理的复杂性。与允许真正虚拟化的环境相结合,Information Integrator 的自动化可以交付能够利用人员、过程和信息之间的资源的随需应变解决方案。

本文首先说明了联邦数据库系统的基本原理,给出了展示该系统的多样性和可扩展性的场景。然后,我们来看一下联邦数据库和它所联邦的源之间出现的实时不一致性。最后我们来看一看联邦健康监控,即在 WebSphere Information Integrator V8.2 中提供的新的自主功能,它是在 DB2 UDB Health Monitoring 组件中实现的。该功能警告系统管理员联邦数据库编目和联邦数据源之间存在不一致性,提出采取纠错措施的建议,并定期发送故障排除通知。

联邦系统的基本原理

WebSphere Information Integrator 联邦系统包括以下组件:

DB2 UDB 引擎

无需移动到中心位置即可访问分布式数据的 Information Integrator 实例

一个或多个数据源

客户机(用户和应用程序)

联邦系统的创建方式是,在 DB2 UDB 引擎上安装 Information Integrator,然后对其进行配置以注册一个或多个异构数据源。联邦数据库系统的用户可以对存储在联邦系统中任意位置的数据进行分布式查询,不管自己的位置在哪里,也不管数据源使用的是哪种 SQL 方言。图 2 说明联邦系统的架构。

图 2. 联邦系统配置的架构

使用 WebSphere Information Integrator 自主监控工具维护联邦数据

联邦系统与每个数据源通信是通过称作包装器 的软件模块进行的。包装器包含特定数据源的特征。它提供了远程数据的 DB2 关系模型,并通过向远程数据源发送子查询以帮助联邦引擎实现查询处理。

在联邦系统中,服务器 表示远程数据源上的一个数据集合。对于关系数据源来说,这个集合通常就是数据库。服务器是通过 CREATE SERVER DDL 语句在联邦系统中注册的。该 DDL 将与远程数据集合有关的信息存储在 Information Integrator 编目中。例如,创建服务器时,数据库的名称、类型和版本(如 Oracle 8、Sybase 11.9)都会在 Information Integrator 编目中注册。服务器定义用于通过所谓的别名 从远程数据源访问数据。

别名 是远程数据源上驻留的数据集的表、视图或任何其他形式的数据的表示。对于关系数据源来说,此数据通常存储在表中。对于非关系数据源来说,此数据结构基于数据源的特定格式。别名通过 CREATE NICKNAME DDL 语句在联邦系统中注册。创建别名时,远程表的名称、其列的名称、数据类型、索引或远程文件的位置等都要在 Information Integrator 编目中注册。

WebSphere Information Integrator 通过所谓的用户映射 提供一种安全级别。您可以将每个 WebSphere Information Integrator 用户 ID 映射为远程数据源上的 ID 和密码。用户映射通过 CREATE USER MAPPING DDL 语句在联邦系统中注册。创建用户映射时,远程用户 ID 和密码都要在 Information Integrator 编目中注册。

示例场景

为了更好地理解我们所讨论的联邦概念,下面来看一个示例。在此例中,Information Integrator 用于合并来自文件系统记录、Oracle 和 DB2 数据源的数据。

场景:X 公司将员工记录保存的 Oracle 表中。最近,这家公司已收购了在 DB2 表中保存其员工记录的 Y 公司。这样,脚本就根据 x 公司的指导原则生成了新员工的序列号,并将其存储在文本文件中。下面是这两个表和文本文件中的内容:

Oracle 表——包含 X 公司的所有员工信息

名字 姓氏 序列号 电话号码 办公室号码 SSN
AbbyMac123A456408-222-2323H345243-30-6789
BobSmith23H5611408-222-4509G129223-45-6780
JennyHazel786H543408-224-3319H480823-19-6781
EdwardJames788654Q408-222-2965A220523-78-6782
..................

DB2 表——包含 Y 公司除序列号外的所有员工信息

名字 姓氏 电话号码 办公室号码 SSN
LauraChen650-245-2083PR10443-34-6389
SaraBradly650-245-3407CS33646-49-6783
BarbaraSimons650-245-2257DE22606-20-8789
..................

纯文本文件——包含新员工(Y 公司)的序列号

SSN 序列号
443-34-6389459610
646-49-67835T45A0
606-20-87892306F1
......

现在,在内部 Web 站点发布员工记录的应用程序必须能够将新员工的新信息合并到整个公司中。Information Integrator 可以为 DB2 和 Oracle 员工表及序列号文本文件注册别名。在此例中,注册 ORACLE_NN 别名是为了访问 Oracle 表,注册 B2_NN 别名是为了访问 DB2 表,注册 SERIAL_NN 别名是为了访问文本文件。应用程序使用这些别名来构建访问 DB2、Oracle 和文本文件的查询。请参见图 3。

图 3. 通过单个 SQL API 从 Oracle、DB2 和文件记录数据源访问数据的示例

使用 WebSphere Information Integrator 自主监控工具维护联邦数据

清单 1 显示用于在此例中从各种数据源提取数据的查询:

清单 1. 跨不同数据源选择

SELECT FIRSTNAME, LASTNAME, SERIALNUMBER, PHONENUMBER, OFFICENUMBER
FROM ORACLE_NN UNION
  (SELECT D.FIRSTNAME, D.LASTNAME, S.SERIALNUMBER,
  D.PHONENUMBER, D.OFFICENUMBER
  FROM DB2_NN D, SERIAL_NN S
  WHERE D.SSN=S.SSN)
FIRSTNAME    LASTNAME    SERIALNUMBER    PHONENUMBER     OFFICENUMBER
--------------------------------------------------------------------------------------------
Edward    James      788654Q    408-222-2965      A220
Sara     Bradly    5T45A0    650-245-3407      CS33
Barbara    Simons    2306F1    650-245-2257      DE22
Bob     Smith      23H5611    408-222-4509      G129
Abby     Mac      123A456    408-222-2323      H345
Jenny     Hazel      786H543    408-224-3319      H480
Laura     Chen      459610    650-245-2083      PR10
...     ...      ...      ...        ...

在此例中,您可以看到单个集成平台提供一个框架,该框架透明地使应用程序可以与多个数据源交互,无需终端用户了解关于每个数据源的任何详细信息。

访问一个组织的所有在线信息并让这些信息对员工和业务合作伙伴可访问,这对于那些努力成为随需应变商家的企业来说是件非常有趣的事情。WebSphere Information Integrator 通过允许应用程序访问企业内部和外部源的方法解决了这些难题。用户不会意识到信息来自于不同的源,如关系表、XML 存储库和业务应用程序,这些源往往是跨广泛的地理位置和多种操作系统平台分布的。有了使信息容易访问的能力,终端用户的生产力和工作效率就会得到提高。

维护数据一致性

尽管 WebSphere Information Integrator 能够集成和统一多种数据,无需考虑数据结构、所在位置或所用平台,但是在维护这一集成的健壮性方面仍然不可避免地存在一些挑战:

数据源有规律地启动和休眠(come up and go down)。

数据填充可能因为硬件或网络故障而中断。

远程表可能被操纵或重构。

在随需应变的企业,业务用户不希望在其应用程序访问此数据时遇到缺乏可用性或发生故障的情况。相反,他们更希望在发生此类问题之前得到通知,以便他们能够及早主动采取更正措施。在这一部分中,我们来研究联邦系统中语义不一致的可能性,以便设计和实现一种能够预测这些问题并进行自我调整以防止发生问题的解决方案。

早在 基本原理部分,我们就已经讨论了几个联邦概念,如服务器、别名和用户映射等。服务器表示远程数据集合。联邦系统使用其编目中存储的关于服务器的信息(如远程数据库名),将数据拉回应用程序。但这种情况可能引起应用程序故障:

数据源和应用程序之间的网络问题

数据源不可用,如服务器停机时

在应用程序中,别名可以从远程表、视图或数据集中取回数据。但是,下列情况会引起这种应用程序发生故障:

远程表被删除。

远程列被删除。

远程列的类型被更改。

文本文件的位置被更改。

需要用户映射,以便联邦数据库用户可以使用其 DB2 用户 ID 和密码访问远程数据源。下列情况会引起访问此数据的应用程序发生故障:

远程密码已更改。

远程用户 ID 被取消。

自主功能能够根据业务目标的要求进行自我管理并动态地适应变更。在随需应变的企业中,为了防止应用程序在关键时候发生故障,识别潜在问题并及早采取更正措施是至关重要的。自主解决方案还可以减轻数据库管理员管理复杂数据架构的负担。因此,这会降低总体拥有成本 (TCO)。

使用 Health Monitor 管理联邦数据

DB2 Health Monitor 是一种工具,它可以协助数据库管理员 (DBA) 管理其数据库资源的有效性,识别并解决问题。Health Monitor 主要用于监控潜在的系统健康问题。它帮助数据库管理员诊断数据库性能问题(如缓冲区和堆大小不理想)的原因、监控在应用程序中使用的表格和别名之类的数据库对象的状态。DB2 Health Monitor 以预定义的刷新间隔来评估数据库对象,以确定是否存在不健康的条件。它能够警告数据库管理员在数据库对象或系统的总体健康状况方面存在的潜在健康问题。然后给数据库管理员提供预配置的措施以响应这些警告。健康状况监控器还可以记录管理通知日志中的警告,并通过电子邮件或纸质信函发送通知。因此,它可以通过自动化数据库管理员的健康监控任务来释放宝贵的 DBA 资源。

换句话说,DB2 Health Monitor 有两个主要目标:

监控——提供这样一些机制,即使用易于访问、组织良好的结构来收集、管理和报告关于数据库环境中的问题和受影响区域的详细信息

推荐——提供这样一些机制,即推荐和构建将系统返回到健康状态所需的操作。

Health Monitor 使用健康指示器评估特定数据库方面(如性能)的状态。

健康指示器

健康指示器可以测定某些特定数据库对象类的状态。例如,健康指示器可以用来跟踪数据库堆内存的消耗量。将某策略应用于这一测量来确定健康级别。在不健康状态出现时,健康状况监控器可以根据每个健康指示器的策略为该健康指示器生成警告。在 DB2 Information Integrator V8.2 版中添加了两个新的健康指示器,用于对联邦系统的健康状况进行监控:

服务器健康指示器

别名健康指示器

健康指示器有三个种类:基于状态的、基于集合状态的和基于阈值的。由于两个联邦健康指示器都是基于集合状态的指示器,本文将只讨论基于集合状态的指示器的特征。

基于集合状态的指示器

这些指示器对于 DB2 V8.2 和 Information Integrator V8.2 来说,还是新生事物,当集合中一个或多个对象的健康中出现非正常状态时,它们就会生成注意警报。在我们的例子中,这些指示器表示数据库对象(如别名或服务器)集的聚合状态。因此,健康指示器为每个集合生成一个警报,并单独存储该警报下的对象,而不是为所有受影响的对象生成警报。

评诂联邦系统的健康

健康状况监控器以非可配置的预定义的时间间隔收集与健康有关的信息。图 4 说明评诂联邦系统健康的健康状况监控器架构:

图 4. 评诂联邦系统健康的健康状况监控器架构

使用 WebSphere Information Integrator 自主监控工具维护联邦数据

如果一个或多个别名不可用,则别名健康指示器将发出警报。出现下列某种情况时,别名被指示为无效:

无效列——远程列或其数据类型已改变

无效表——远程表、视图或数据集被删除

无效用户映射——本地或远程用户 ID 或密码已改变

查询错误——上面没有提到的任何其他情况

如果一个或多个服务器无效,则服务器健康指示器将转变为警报状态。当服务器不可用时,健康指示器状态如下所示:

不可用——远程数据源被删除或停用,或者数据源与联邦服务器之间存在网络故障

健康状况监控器在健康快照 中记录与健康相关的指示器信息。此数据通常包括:

名称——集合中的对象名称(如不健康的服务器和别名)

详细信息——提供描述关于对象如何不健康的原因的字符串

警报状态——警报、警告或注意状态

时间戳——评诂时间戳

历史——以前生成的警报的历史记录

一旦间隔级别过期,健康状况监控器就会处于休眠状态,并在下一个间隔到来时苏醒。

访问健康信息

健康状况监控器数据可以通过健康快照来使用。每个健康快照可根据其最近刷新间隔来报告每个健康状况监控器的状态。快照用于检测现有的数据库健康问题,包括服务器和别名的不良健康状况。

联邦别名和服务器的健康快照可以通过 Health Center(图形用户界面)、命令行处理器或 C 应用程序中的 API 获取。API 不是本文要讨论的内容,所以这里只描述前两种方法。

通过 Health Center 监控

Health Center 是一个图形化界面,它为 DB2 健康状况监控器提供了管理工具。它提供:

查看所有实例及其数据库的警报状态的中心位置

查看实例和数据库及其子对象(包括联邦对象,如服务器和别名)上的当前警报的图形化界面

访问当前警报的详细信息和推荐的解决措施的图形化界面

通过命令行监控

健康快照还可以通过命令行处理器 (CLP) 获取。快照可以为数据库管理器及其对象检索健康状态信息。如果发出“GET HEALTH SNAPSHOT”命令时联邦服务器和别名处于不健康状态,这些对象上的健康信息(包括不健康对象的名称、问题的详细信息、最后的评诂时间等)就会被检索出来。返回的信息表示发出该命令时服务器和别名的健康状态的快照。

推荐引擎

推荐引擎可帮助解决健康状况监控器生成的健康警报问题。在一个或多个数据库对象上出现健康警报后,推荐引擎就会以适合数据库需求的方式提供一些建议来解决这些警报问题。

对于联邦对象,此顾问推荐了可以解决不健康服务器和别名问题的措施。每个建议都包含一个详细描述,并且包括对此建议的解释,它的确定方式和结果状态。

您可以通过命令行或图形化用户界面 (Health Center) 为每个健康指示器检索建议。一旦客户机通过检查健康快照的输出检测到健康指示器已经进入警报状态,它就可以使用“GET RECOMMENDATIONS”命令从命令行处理器查询推荐引擎,指定处于警报状态的健康指示器。推荐引擎将确定适当的建议,并将此建议返回到客户机。

使用图形用户界面,您可以检索到同样的结果。在此例中,Recommendation Advisor 将从任一在 Health Center 的警报视图中显示的警报健康指示器启动。Recommendation Advisor 是一个向导,指导用户采取措施来解决警报的问题。

使用 WebSphere Information Integrator 工具的端到端解决方案

Health Center 和 DB2 UDB Control Center(Information Integrator 管理工具所在的位置)通过 Health Beacons 集成。Control Center 中的 Health Beacons 提供关于 Health Center 中新警报的可视化指示。信标(beacon)可以在所有 Control Center 窗口和笔记本电脑中实现。未打开 Health Center 时,信标显示当前警报,提示用户打开 Health Center 以获取更加详细的信息。

结束语

在 WebSphere Information Integrator V8.2 发行以前,毫无疑问 Information Integrator 与 IBM 的随需应变的特征是一致的,原因是:

集成:Information Integrator 集成并统一来自异构源的数据,允许客户机应用程序方便而高效地利用完全不同的数据。

开放:Information Integrator 提供了单个基于 SQL 的 API,从而提供一个开放的、语言和平台独立的界面,供所有用户使用。

虚拟化:Information Integrator 提供了一个联邦系统来担当虚拟数据库,它能够透明地访问任何数据,不管自身的位置在哪里,也不管使用的是哪种 SQL 方言。

健康监控的自动化通过使 Information Integrator 具有以下特性,将此集成、开放、虚拟化的解决方案向前推进了一步,并完善了随需应变环境的基本特征集合:

自主:Information Integrator 中的健康状况监控器提供了优化和保护应用程序的自我管理能力,并且因此降低了数据库管理的复杂性和总体拥有成本。

事实上,在联邦环境中维护语义的一致性对于任何一位数据库管理员来说都是挑战性的任务,因此,使用像联邦健康监控之类的自主功能可以给任何数据库管理员带来好处,而不管企业级别如何。

Tags:使用 WebSphere Information

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接