数据存储能力的爆炸式增长和快速的网络通信协议已使得组织能够收集和存储有关特定主题的超大信息量。这些数据库的大小可能达到 PB(1 x 10^15 字节,或百万兆字节)以上——真正是令人瞠目结舌的数据量!这样的大规模信息存储通常出现在研究应用领域(例如生物学、医学、物理学和天文学)和政府机构(例如美国国税局、国防部和劳工部)中。它们也可能出现在商业中:例如,针对承保风险的保险计算。
政府机构通常需要共享数据,但是不同的数据模式、接口和通信技术使得这些数据的传输变得复杂化。对于敏感信息来说尤其是如此,例如国防部或国土安全部使用的信息。这些机构通常拥有遗留系统,那些系统是专有的,难于扩展,或以其他方式对外部系统是封闭的。存储在这些系统中的信息可能具有各种各样的二进制格式,其中某些格式不再具有适当的文档说明。使这种情况进一步复杂化的是,相关数据可能散布在多个系统之中,承载在不同的网络上,或者驻留在各种各样的物理位置。
企业在收购另一家公司时,通常面临着广泛分布的数据问题。在这种情况下,两家公司的系统很少会兼容,从而在挖掘合并后的公司以获取常见的利润、损失、风险和成本问题的答案时,会产生大量难题。还可能会出现产品或服务供应、配送、库存管理、调度等方面的问题。集成这些不同数据源所需的成本对新合并的公司来说是一项非常大的开支。
研究人员重点关注新知识的发现。为了获取新知识,他们通常需要查找并了解其他研究人员以前的发现。现在存在着包含有关整个人类基因组(以及其他物种的基因组)、天文观察、粒子物理学、药物发明和其他许多领域的信息的大规模数据库。人们面临的挑战不再是收集信息,而是挖掘数据以回答特定研究问题——例如人类基因组比果蝇的基因组小如此多的矛盾。这些数据库位于全世界的研究中心,每个数据库具有自己的独特存储结构、访问接口和通信协议。希望与同事协作的研究人员必须能够容易地在数据存储之间来回传递信息,并拥有高效的数据处理机制。
提供了这些数据存储的大规模散布性质,挑战在于组织如何发现、访问和有效地使用分布式数据。
分布式数据挖掘的问题有许多考虑因素,但是主要存在三个关注事项:发现信息、安全地访问信息和足够高效地传输数据以满足处理需要。
分布式数据源数据挖掘的第一个问题是发现。除非您能够找到感兴趣的数据,否则您能够使用该数据源的可能性是非常低的。发现机制各不相同,但是可将它们归入两个主要类别:静态发现和动态发现。静态发现 是手动确定数据源系统,并预先配置处理系统以在其处理中使用所确定的源。此方法最常见但是最不灵活。如果较新的源变得可用,则无法保证合并新的源。可能的情况是,除非某人注意到了新的源,否则新的源将不会被使用。较灵活(但是更难于实现)的机制是动态发现适当的数据源。动态发现 是统一描述、发现和集成(Universal Description Discovery and Integration,UDDI)以及开放网格服务基础结构(Open Grid Service Infrastructure,OGSI)背后的基本思想。数据源将其功能和内容注册到中央注册中心,在运行时可以查询中央注册中心以寻找与您的处理需要相匹配的数据源(例如,用于巡天搜索的天文数据库)。
在发现数据源以后,下一步是获得对该信息的访问权限。获得访问权限涉及到两个安全问题中的第一个问题(请参阅安全性部分):对许可用户进行身份验证。存在许多对远程用户进行身份验证的协议,例如来自受信任来源的证书或安全令牌。但是对于分布式数据库,每个源可能使用单独的机制。请考虑在获得对多个数据存储(其中所有数据存储都需要不同的身份验证技术)的访问权限时所存在的困难。这是分布式处理模型的一个主要问题,并且是一个重要的研究和标准化领域。
一旦获得了对远程数据源的访问权限,下一个问题就是数据传输。此步骤中的困难源自于相关数据源的大小——通常在 TB 或 PB 的范围内——使得通过远程连接检索数据变得不切实际。在此情况下,您有两种可能的选择:批量检索数据以便在本地处理,或者在远程平台上执行处理。第一种情况的示例是 SETI_cnnew1@HOME 项目(请参阅参考资料),其中数据包被分发到志愿者处理站点,在本地执行转换,然后传回中央服务器进行合并和分析。第二种情况的示例是执行与特定 DNA、RNA 或蛋白序列匹配的基因基本序列搜索 (BLAST)。
最后,在完成处理之后,您需要合并源信息或处理结果以便分析。正如前面指出的,可能需要从远程数据源检索数据或在本地合并处理结果。合并信息要求以共同的方式对数据进行组织。否则,将每个数据条目从一个源数据系统映射到另一个源数据系统将非常耗时。
分布式处理的安全性受到以下情况的影响:需要通过可能不安全的介质(例如 Internet)将信息从一个站点传输到另一个站点。除了提及所涉及的问题和某些可用的技术之外,本文将不讨论安全性。对于许多交互方彼此之间可能直接了解也可能不了解的情况,解决分布式安全管理问题的一种方法是使用联合网络模型(请参见图 1)。
图 1. 联合网络
在联合网络模型中,受信任的联合中的每个合作伙伴被授权访问共享资源。安全检查在进入联合时执行,之后,合作伙伴拥有对其所在的访问组可用的任何访问权限。这种方法的优点在于,所有数据源和处理中心都不必建立独特的安全协议,也不必重新对每个数据请求进行身份验证。缺点在于,如果联合被破坏,很少有防护措施来防止未经授权的用户获得对受控信息的访问。
可应用于任何安全模型的一种防护措施是分级数据访问。许多大型数据库以只读模式对一般用户可用,只有有限的带宽或处理时间。然而,分级模式可以为所选的用户组提供更大的处理时间片或更大的传输带宽。如果所选的组具有更新能力(例如向中央数据库提交序列数据的研究实验室),可以定制该安全模型,以便在将更新包括到数据库中之前对更新进行分批验证。
分布式处理模型的特点是需要将信息从一个站点传输到另一个站点。存在各种各样的方法可用于传输源数据或处理结果,其中包括以下方法:
- 专用网络。协作组共享对外封闭的网络。专用网络是为了在合作伙伴之间共享数据而专门建立的。示例包括虚拟专用网络(virtual private network,VPN)和配置到专用域的网络。
- 公共网络。公共网络可供大众使用,因而不太安全,也不太可靠。最常见的公共网络是 Internet,其中分布的各方可以使用某种形式的安全通信(例如 sHTTP 或 sFTP)进行协作。
- 直接连接。直接连接是在使用租用或购买的网络线路的合作伙伴之间建立的,这些网络线路设置用于进行点对点连接。
分布式处理中的一个关键因素是网络连接的带宽。处理站点之间传输的数据量可能非常大,因此要实现足够的性能,需要有相应的网络能力。TB 数量级的数据传输通常需要千兆位/秒的性能。最近完成的 Internet2 项目已在全光纤网络中连接了 300 多个学术站点,并提供 10 千兆位/秒或更高的传输速率。这种网络将允许政府和研究机构(并且最终将允许商业团体)建立和使用大型分布式数据库。
政府、企业和研究团体访问大型分布式数据库的能力,正在成为他们保持世界领先地位的关键因素。无数的研究项目涉及到开发用于分布式处理的标准和框架。目前的分布式数据管理方案主要涉及 Web 服务和正在开发的标准,例如 WS-Security、WS-Transfer 和 OGSI 框架规范的更新版本:Web 服务资源框架(Web Service Resource Framework,WSRF)。
Web 服务是分布式处理领域的热门话题。其一般思想是以支持 Web 的通用服务的形式提供数据和处理服务,以便相关用户能够定位、绑定和访问相关服务。Web 服务的不透明性质与 XML 文档的数据描述能力相结合,对于集成任何数量的远程操作非常理想。请求者无需知道任何实现细节、远程数据源的位置或通信协议即可调用 Web 服务。
将 Web 服务用于分布式数据管理的缺点是缺乏对调度、资源管理和存储控制以及与大规模数据传输相关联的开销的关键数据考虑事项的额外支持。因此,将 Web 服务用于分布式计算是一种灵活但有点受限制的方法。最近,WSRF 被宣布为 OGSI 框架的后续版本,但是仍然存在有关在网格计算环境中使用 Web 服务的最佳方式的重大争论。
与 Web 服务模型类似,数据网格(有时称为计算网格)通过为授权用户提供一组处理和数据管理服务,从而提供对远程数据存储的访问。然而,数据网格通过提供调度、资源管理、存储保留、服务质量保证、监视和其他功能,从而优于 Web 服务。这些附加服务提供了更好地组织的共享资源模型,这样的模型可以实现更高效的资源利用。OGSI 和 WSRF 框架对这些服务以及远程数据源提供的接口进行了标准化。
结构化数据是数据网格的中流砥柱,无论是将其用于关系数据存储、层次结构存储、XML 标记还是用于专门的二进制格式。这些结构划分为若干类别:
- 主要结构化数据。原始数据源(例如图像)、原始观察数据、基因序列等等。此信息通过辅助数据进行补充。
- 辅助数据。描述批量数据存储中的每个数据元素,例如源组织、应用程序支持、数据汇总、索引、目录或摘要。
- 协作数据。支持团队行为,如 Kegg Biochemical Pathway 图所示(请参见参考资料)。
- 个人数据。描述各个用户和首选项以及安全权限。
- 服务数据。支持网格操作,如 Globus Toolkit 监视和发现服务所示。
网格计算已出现一段时间了,并正开始被看作是大规模计算的未来趋势。管理大型分布式数据集的能力是网格工作的关键方面。正如本文所指出的,有效地挖掘包含在这些超大型数据存储库中的数据涉及到许多挑战。诸如 OGSI 和 WSRF 等标准的开发以及用于网格计算的标准化 Web 服务的总体发展,已经为网格计算平台的研究和开发提供了基础,例如 Globus Toolkit、GridFTP 和麦迪逊威斯康星大学开发的 NeST。用于自动化的数据源发现的远程数据管理、公共模式标准、任务调度程序和服务联合的未来发展将导致更加透明和更加灵活的网格环境。
- 您可以参阅本文在 developerWorks 全球网站上的 英文原文。
- 了解有关生物信息学的更多信息。
- www.ogf.org 提供了开放网格服务基础结构(Open Grid Service Infrastructure,OGSI)的精辟概述。
- 如果对 WSRF 标准感兴趣,请访问 OASIS。
- SETI@HOME 搜索外星生命迹象已有一段时间了,您也可以加入搜索行列。
- 获取有关 Internet2 项目的更多信息。
- 访问 IBM Grid computing 专区 以了解有关 IBM 致力于网格计算的广泛开发计划。
- KEGG Biochemical Pathway 项目是一个非常有趣的分布式协作示例。
- 浏览技术书店,以了解有关这些技术主题及其他技术主题的相关书籍。
- 在 developerWorks 的 Architecture 架构专区 中,获取用以提高您在体系结构方面的技能的各种资源。
- 通过 架构新手入门 了解关于软件架构方面的基础知识。这里同时提供了 IBM 的体系结构原则,以及 developerWorks 上的其他架构资源,这些资源能够帮助您了解有关架构的更多信息。
- 在 developerWorks 的 Information Management 信息管理专区 中,获取用以提高您在信息管理方面的技能的各种资源。
