人们面临的挑战不再是收集信息,而是挖掘数据以回答特定研究问题。Benjamin Lieberman 在最近的一篇 developerWorks 系列文章里向大家介绍了用分布式数据挖掘来处理这些分布式海量数据的技术。Benjamin Lieberman 认为拥有分布式数据的组织面临着如何发现、访问和有效地使用分布式海量数据的挑战,而这可以用分布式数据挖掘技术来解决:
- 发现信息:包括静态发现和动态发现。静态发现是手动确定数据源系统,并预先把处理系统配置好,以便其在处理过程中使用发现的源,此方法最常见但最不灵活。动态发现是 UDDI 及 OGSI(Open Grid Service Infrastructure)背后的基本思想,数据源将其功能和内容在中央注册中心进行注册,以便你可以在运行时查询中央注册中心以寻找符合处理需要的数据源。
- 安全地访问信息:获得访问权限需要对用户进行身份验证。对于分布式数据库,每个源可能使用的是不同的安全机制,这是分布式处理模型里的一个主要难题。
- 有效地传输与使用数据:数据源的庞大使得通过远程连接获取数据变得不切实际。你有两种选择:批量获取数据,然后在本地处理(如 SETI@HOME 项目);或者在远程平台上执行处理。
Benjamin Lieberman 特别提到了分布式处理中的安全性问题,他说:
通过潜在的不安全的介质(如 Internet)将信息从一点传输到另一点这一需求影响了分布式处理的安全性。解决分布式安全管理问题的一种方法是采用联邦网络模型(federated network model)。在联邦网络模型中,受信联盟中的各方均有访问共享资源的权限。安全检查是在进入联邦时执行的,安全检查之后,参与方便拥有其所在的访问组的相应的权限。这种方法的优点在于,各个数据源和处理中心不必设立唯一的安全协议,也不必对每一个数据请求重复进行身份验证。其缺点在于,一旦联邦遭破坏,基本上就无法防范非授权用户访问受控信息了。 一种防范措施是分级数据访问,它适用于任何安全模型。对许多大型数据库而言,普通用户只具有只读权限和有限的带宽或处理时间。然而,分级模式可以为所选的用户组提供更大的处理时间片或更大的传输带宽。若所选的组具有更新权限(例如一个要向中央数据库提交序列数据的研究实验室),那么可以定制该安全模型,以便在更新数据库之前对更新进行批量验证。
关于分布式处理模型中的信息传输机制,Benjamin Lieberman 提到了三种方法:
- 专用网络:各个协作组公用一个仅供内部使用的网络。专用网络是为了在合作伙伴之间共享数据而专门建立的,比如虚拟专用网(VPN)和为一个私有域而配置的网络等等。
- 公共网络:公共网络可供大众使用,因而不太安全,也不太可靠。最常见的公共网就是 Internet,其中分布的各方可以使用某种形式的安全通信(例如 sHTTP 或 sFTP)进行协作。
- 直接连接:直接连接是通过租用或购买专线在合作伙伴之间建立起来的,它用于进行点对点连接。
最后在谈到如何访问大型分布式数据库时,作者特地对 Web 服务与网格进行了一番比较:
将 Web 服务用于分布式数据管理的缺点是,在调度、资源管理和存储控制及大规模数据传输所产生的开销方面缺少对关键数据的额外支持。因此,将 Web 服务用于分布式计算是一种灵活、但颇受限制的方法。最近,WSRF 被宣布为 OGSI(开放网格系统架构)框架的后续版本,但仍然存在着有关在网格计算环境中使用 Web 服务的最佳方式的重大争论。 与 Web 服务模型类似,数据网格(有时称为计算网格)通过为授权用户提供一组处理与数据管理服务,从而提供对远程数据存储的访问。然而,数据网格通过提供调度、资源管理、存储预留、服务质量保证、监控及其他功能,从而比 Web 服务优越。这些附加服务提供了一个良好组织的共享资源模型,以实现更高效的资源利用。OGSI 和 WSRF 框架对这些服务以及远程数据源提供的接口进行了标准化。
“网格计算已出现一段时间了,并正开始被看作是大规模计算的未来趋势。管理大型分布式数据集的能力是网格工作的关键问题,”Benjamin Lieberman 总结道。随着世界上最大网格(大型强子对撞机计算网格)的投入使用,这篇关于分布式数据挖掘的文章也许可以给我们带来了不少启发。感兴趣的朋友请进一步阅读全文。
评论