P2P体系结构(数据库)
时间:2022-11-05 16:30:01 | 来源:信息时代
时间:2022-11-05 16:30:01 来源:信息时代
P2P体系结构 : 一种分布式数据库体系结构,它把众多远程节点聚集为一个资源丰富的计算社区。在P2P(peer-to-peer)数据库体系结构中,每个对等节点(peer,如用Internet连接的PC)都拥有对等的功能与责任,既可充当服务器为其他节点提供数据与服务功能,又可作为客户机享用其他节点提供的数据与服务功能,节点间的交互直接对等。此外,任何一个节点可随时加入或离开该系统,形成一个真正的动态网络环境。据已经取得的研究成果表明,这类系统具有许多潜在优良特性,如系统可伸缩性好、资源丰富、性能高等。P2P数据库体系结构是随着计算机技术的发展而产生的,在当今的软、硬件技术环境下,客户/服务器模型已不能满足需求,其单点故障和热点问题已经变得越来越不可接受,P2P这种体系结构模型的许多优势有助于解决目前计算机技术和系统应用中遇到的问题。
1. P2P体系结构
P2P模型是一种具有较高扩展性的分布式系统结构,P2P体系结构的实质在于将互联网的集中管理模式引向分散管理模式。相对于传统的集中式C/S模型,P2P弱化了服务器的概念,系统中的各个节点不再区分服务器和客户端的角色关系,每个节点既可请求服务,也可提供服务,节点之间可以直接交换资源而不必通过服务器。P2P体系结构最大的特点就是用户之间直接资源共享,它已经成为一个共享大量数据的媒介。一般将P2P分为三种模型:纯P2P分布式(见图1)、集中式P2P(见图2)和超级节点模式P2P(见图3)。
图1 纯P2P分布式体系结构
图2 集中式P2P体系结构
图3 超级节点模式P2P体系结构
2. P2P体系结构的优势和特点
(1) P2P系统的每个成员均可贡献数据和计算资源(如未用的CPU周期和存储资源),新成员的加入可能引入系统中原来缺乏的特殊数据或资源,随着系统成员的增加,系统的丰富性、多样性等各种有益的特性得以扩充。
(2) P2P系统的分散性、健壮性、可用性和性能可能随着节点的数量增加而有所扩充。
(3)通过在许多节点间路由请求和复制内容,系统可以隐藏数据的提供者和消费者的身份,使个人的隐私得到保护。
因此,P2P被认为是未来重构分布式体系结构的关键技术,它在P2P覆盖网络模型、分布式存储应用、分布式科学计算,数据管理、文件共享和即时通信、搜索引擎、语义网、协作信息过滤等领域具有广阔的应用前景。
3. P2P数据管理
尽管P2P已经成功应用于文件共享和存储领域(如国外的Gnutella、Napster、BitTorre,国内北京大学的Maze和清华大学的Granary等),其系统只对整个文件进行管理,不需要提供复杂数据类型的语义,也缺乏对复杂数据的管理能力,如关系结构数据。它们只支持基于关键字的简单查询,几乎不支持基于内容的复杂查询。可见在缺乏语义支持下,P2P系统既不能很好地满足用户的需求,也不能有效地利用系统的资源。由于P2P系统的大多数问题都可归结为数据放置和检索问题,数据库研究人员加入到P2P计算研究的行列,出现了PeerDB、Hyperion、Piazza等P2P数据管理项目,引起P2P系统从文件共享向复杂查询处理的转化,促进了P2P计算向更广阔的领域发展。
P2P上的数据管理主要包括以下内容:
(1)数据定位: 如何找到数据资源。
(2)查询处理:设计有效的索引结构以及对应的查询路由算法,保证资源查找的效率和系统资源的使用效率。
(3)数据集成:对于不同模式的数据,使用统一的表达形式,使得资源搜索完全,结果集合完整。
(4)数据一致性维护:消除由于数据复制带来的数据不一致性。
(5)数据访问安全: 抵制恶意攻击。
4. P2P数据管理参考体系结构
参考体系结构把整个系统按功能分为用户接口、数据管理和P2P网络子层三个部分(见图4)。用户接口负责提交用户查询,数据管理层负责控制查询处理,P2P网络子层负责原数据信息和P2P网络的连接。
图4 P2P数据管理参考体系结构
查询经用户接口或数据管理API提交给数据管理子层,并且在数据子层进行处理。查询可能涉及在系统局部或全局存储的数据。查询请求由查询管理模块处理,当系统集成了异构数据源时,查询管理模块处理往往需要从语义映射库中检索语义映射信息。语义映射库中包含了一些元数据,利用这些元数据查询管理器可以找到存储查询相关数据的节点,并且把查询语句用这些节点能够理解的词汇重新组织。一些P2P系统或许利用特定某个节点存储这些语义信息,处理查询语句时,查询管理器将和该节点进行通信或者把查询语句传递给该节点,由其执行查询语句。当一个远程节点请求某节点的数据时,该节点的查询管理器也负责执行局部查询。在数据管理层和局部数据源之间引入包装器(wrapper),这样可以隐藏两者之间在数据、查询语言和其他方面的非兼容性。当数据被更新时,更新管理器在存有数据副本的节点之间协调更新的执行。P2P网络子层主要是为数据管理层提供通信服务。
5. P2P数据管理的目标
(1)可扩展性:查询处理的性能和服务质量不会因网络规模扩大而显著下降。
(2) 自治性:查询处理算法应在一定程度上尊重节点的自治性。
(3)效率: 以消耗的绝对资源(带宽、处理能力、存储等)度量效率,为了保证高吞吐量,必须有效使用资源,降低系统开销。
(4)服务质量:它是用户可感知的质量,可以用不同的指标(结果的数量、响应时间等)度量。
(5)健壮性:包括对故障健壮和对攻击健壮,在面临节点故障、离开、攻击时系统保持可用性、服务质量和效率。
(6)支持语义异构节点:语义异构是节点自治的结果,各节点用自己的模式组织和呈现数据,为了互操作,需要适应P2P动态即兴环境的解决方案。
(7)查询处理能力:可以从其支持的被查询的数据类型和查询算子类型来体现,因此支持对关系数据的关系完备查询具有普遍性,同时适用于数据库查询和文本搜索。