P2P分布式数据库研究
1引言
1.1研究背景
在广域网和Internet环境下,数据资源共享成为研究的热点问题。提出的解决方法有多种,如,分布式数据、多数据库系统、信息集成、虚拟数据库、数据网格等等。
P2P(Peer-to-Peer:对等计算)是一种具有高度可扩展性、良好的分布性、鲁棒性,为Internet环境下的应用提供了可靠的分布式平台。但是P2P网络具有动态性和缺乏复杂数据语义表示方法和查询手段。P2P的这些缺陷恰恰是数据库技术的优点,二者的结合,既克服了P2P的不足,又具有丰富的数据管理手段,使得利用P2P技术管理广域网环境下的数据成为可能。
1.2国内外研究现状
国外,对P2P研究起步较早,并且提出了一些P2P网络模型,如:以Napster,Gnutella,CAN, CHORD, Pastry, Tapestry等。在这些网络模型的基础上,开发了,如文件共享、分布式数据存储、数据管理、数据集成等等应用系统。Sun公司以Java技术为背景,开展了JXTA项目;Microsoft公司成立了Pastry项目组,主要负责P2P计算技术的研究和开发工作。
现在,国际上对基于P2P的数据管理和分布式数据库处于研究起步阶段,如基于Sun公司的P2P开发平台的EDUTELLA,伯克利大学的PIER系统等等提供了对复杂数据的管理。新加坡国立大学的PeerDB项目。
我国对P2P研究起步较晚,例如有北京大学网络实验室开发了Maze系统,主要应用是文件共享;清华大学开发的Granary分布式存储系统。可以看出我国对P2P领域的研究和国外相比有一定的差距。我们的课题目标是利用P2P网络作为基础网络模型,来研究复杂数据的在Internet广域网中的管理问题,该领域具有较高的科研价值和应用前景。
1.3本课题的研究方向
本课题的主要目的是研究在P2P分布式网络环境中,如何来管理复杂数据。
首先,我们研究一些典型的P2P数据管理系统,如,PIER, EDUTELLA, PeerDB等等,主要这种分析他们的P2P覆盖网络,数据分布策略、查询处理等等方面。
(本文创新点)
在此基础上,我们提出自己的P2P分布式数据管理系统。该系统以结构化DHT P2P网络作为Internet分布式平台,同时要保持数据语义间的联系,避免了Hash对数据语义的破坏;对数据使用规则进行分割,并复制到网络中去,提高系统的可靠性和并行性;提出一种分层索引机制使得数据请求节点可以高效的资源定位;利用协调规则来协调局部数据库之间的数据交换,实现及查询方法,以此来管理结构化数据类型。我们主要从体系结构、P2P网络、分层索引机制、查询处理等几个方面说明我们的系统。
2 分布式数据库
2.1 概述
(主要讲述现在P2P应用和传统分布式数据库的区别,及相互间的融合)
传统的分布式数据库系统研究的主要课题是:事务,分布式查询优化,网络分割,异构数据源的互操作和节点的可靠性等,系统中节点和数据的位置一般是固定的。由于它具有的复杂性和不灵活性,系统的规模受到限制,在处理大规模应用时力不从心。而在P2P系统中数据模型和查询语言简单,节点可以自由离开和加入,数据的位置往往是不固定的,它只执行本地修改。这样的特点使得P2P系统没有复杂的事务概念,没有复杂的查询优化,网络分割对系统没有影响, 容易执行异构数据源的互操作, 因此,它具有灵活性和简单性,这正是P2P系统处理大规模应用的魅力所在。
2.2 分布式数据库技术
(本节主要讲述P2P应用中采用分布式数据技术:数据分片及数据分布;查询处理和优化。P2P分布式数据库是为了多个局部数据源之间的数据共享,P2P数据库和多数据库、虚拟数据库和信息集成目的相似,因此P2P数据库使用了或借鉴了它们的某些技术)。
多数据库系统和P2P数据管理最大的不同在于:多数据库系统向用户提供全局概念模式,供用户透明的访问整个系统中的数据资源;而P2P数据管理系统没有一个全局概念模式,需要整合P2P模型、协调规则来和资源定位方法来达到数据共享的目的。
简述信息集成和虚拟数据库的技术特点。
2.3 P2P结构
2.3.1 P2P简介
介绍P2P的基本概念、P2P特点及P2P和Client/server的区别。
2.3.2 P2P网络拓扑结构
简述集中式P2P,非结构化完全分布式P2P, 混合式P2P, 结构化P2P。重点分析P2P结构的优点和不足(节点动态性、缺乏表示复杂数据的方法、查询方式简单)
DHT结构能够自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性、结点ID分配的均匀性和自组织能力。由于重叠网络采用了确定性拓扑结构,DHT可以提供精确的资源发现。只要目的结点存在于网络中DHT总能发现它,发现的准确性得到了保证。但是,DHT在保证查询的精确性的同时,因为Hash函数的特点,使得数据语义完全丧失。因而现在的基于DHT的P2P网络多数仅仅支持关键字匹配查询。(我们的目的是找出一种方法使之支持复杂查询机制,如Range Query)。
3 Peer-to-Peer数据管理研究
3.1 P2P和数据管理
P2P数据管理的定义、特点及其与文件共享系统的区别。
3.2 Peer-to-Peer数据管理体系结构
P2P数据管理体系结构把整个系统按功能分为用户接口、数据管理和Peer-to-Peer网络子层。用户接口负责提交用户查询,数据管理控制查询处理和元数据信息(目录服务),Peer-to-Peer网络子层管理Peer-to-Peer网络的连接。
3.3典型P2P数据管理系统研究
主要从网络结构、元数据管理、数据分布、查询处理来分析这些典型的P2P数据管理模型。
3.3.1 基于BestPeer的信息检索系统体系结构
3.3.2 PeerDB
3.3.3 PIER(Peer-to-Peer Information Exchange and Retrieval)
3.3.4 Edutella
(本文的主要创新点)
5 P2P数据库
尽管DHT P2P结构能够自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性、结点ID分配的均匀性和自组织能力。但是,Hash使得数据语义完全丧失,并且缺乏管理和表示复杂数据的能力和方法。P2P的确定恰恰是数据库技术所具有的优点。本章的目的是结合分布式数据库技术,设计P2P环境下的数据分布、分层索引、协调规则和复杂查询手段,从而使得各局部数据源之间协同操作和数据共享。
我们提出自己的P2P分布式数据管理系统。该系统以结构化DHT P2P网络作为Internet分布式平台,同时要保持数据语义间的联系,避免了Hash对数据语义的破坏;对数据使用规则进行分割,并复制到网络中去,提高系统的可靠性和并行性;提出一种分层索引机制使得数据请求节点可以高效的资源定位;利用协调规则来协调局部数据库之间的数据交换,实现及查询方法,以此来管理结构化数据类型。我们主要从体系结构、P2P网络、分层索引机制、查询处理等几个方面说明我们的系统。
5.1 P2P数据库体系结构
5.1.1 概述
讲述P2P数据库的定义、特点及与分布式数据库的区别。
P2P数据库是LDB、P2P网络及协调规则三者的统一体<LDB,P2P,Coordinator>,其中LDB管理局部数据,包括共享数据部分和私有数据部分;P2P网络提供Peers间的通信、路由及数据传递;Coordinator(协调规则)由一组映射组成,协调各LDB合作为用户的请求提供数据服务。
5.1.2 分层体系结构
四层体系结构:应用层,数据管理层,P2P网络层和局部数据库层。(这里我们以结构化DHT P2P网络Chord作为分布式平台)
5.2 分布式HASH表和Chord路由算法
讲述分布式Hash表的定义和作用;详细论述Chord 路由算法,元数据放置机制和资源搜索方法。
5.3 数据复制和数据放置
5.3.1 数据复制的影响因素
P2P概念往往是基于理想的环境,实际应用中P2P往往受到诸多限制,例如带宽、资源多样性、及信息的传播延迟等等。对数据放置影响因素有一下几个方面:数据的异构性、网络的动态性、数据分布粒度。主要讨论这几个方面对数据复制和放置的影响。
我们设计的系统主要是根据数据粒度提出两种数据复制策略。
5.3.2基于关键字的复制方法
假如系统中有关系表T, T的模式为 ,其中k是元组的关键字。对k求hash函数值得到 ,这样存在一个映射 ,把KI及 存储到KI的直接后继(Successor)节点中,KI可以看作是该元组的hash索引。这种复制方法我们称之为基于关键字的复制方法。
5.3.3副本分层索引
局部LDB索引、关系表片断和关系表(使用关系表逻辑名的Hash值表示),逻辑名称到物理标识的映射集组成分层索引机制。
5.3.4副本分割及标识
关系表R,其元组集合R= 是其元组集合, (k<N),使用规则集合 对关系R进行分割,可以使用某一条规则把R分割为 ,比如,某学校学生信息表Student,可以根据学生所在科系或成绩区间把该表分割为一系列子集。这些子集为数据复制单位,在不进行数据分割时整个关系表则为复制单位。
5.3.5副本放置策略
依据Chord路由算法,每一个节点peer可以直接与其指针表中的节点直接通信,节点peer的数据R,其副本 只能分布到直接通信节点上。标识这些副本的元数据(上图中的索引集合)放置到RID(Hash(LDB.R=RID))的直接后继节点上。这样主要是为了加快查询速度和保持数据源与其副本间的一致性。
5.4 LDB间的协调规则
在P2P分布式数据库系统中,Coordinator(协调规则)由一组映射或逻辑规则组成,协调各LDB协作为用户的请求提供数据服务。协调规则的主要目的是协调存在数据语义关系的一组节点间的数据交互,这些节点间的联系比较紧密,数据交换比较频繁。
5.4.1协调规则
讲述LRM(局部关系模型)(参考了A. Bernstein;data management for P2P Computing: A Vision)的协调规则。
5.4.2协调规则实施策略
存在语义关联的一组关系表,我们称之为关联组(Relationship Group)<LDB1.P(x), LDB2.Q(x), ..., LDBn.T(x)>, 他们之间的关系使用映射表表示:
Initiator | Source | Operation |
LDB2.p(x) | LDB1.Q(x) | GetValue(LDB2.P(x)) |
LDB2.p(x) | LDB3.T(x) | DistributionData(LDB2.p(x)) |
Initiator:任务的发起者;Source数据源;Operation:操作
例如,表的第一行表示LDB2.p(x)向LDB1.Q(x)发出请求GetValue操作,该过程是一个查询操作;表的第二行表示LDB2.p(x)执行DistributionData操作,也就是把LDB2.p(x)发送到LDB3.T(x)中,可以看作是插入操作。
5.5 P2P数据库查询处理
本章主要讲述P2P数据库资源定位方式、P2P查询处理及其优化。P2P数据库查询和分布式数据库查询相似,分为查询解析、资源定位、产生子查询、发布子查询和执行局部查询。
5.5.1 peer-to-peer资源定位概述
分析集中式、分布式、混合式资源定位方式缺点;主要论述分层索引副本定位方法。
5.5.2 查询处理
主要讲述基于关键字的精确匹配查询、范围查询(Range Query)和联接查询,三种查询方式。
5.5.3 联接查询优化
讨论联接查询优化方法,主要使用Semi-Join进行查询优化。把查询结果缓存,当再次发起相同的查询时,加快查询速度。
6 结论及展望
本为在分析、研究了P2P网络及P2P数据管理系统的基础上提出了一种基于机构化DHT P2P的分布式数据模型;该P2P数据库系统提供了数据副本复制、分层索引机制、基于DHT数据定位方法和复杂查询手段。
6 结论及展望
本为在分析、研究了P2P网络及P2P数据管理系统的基础上提出了一种基于机构化DHT P2P的分布式数据模型;该P2P数据库系统提供了数据副本复制、分层索引机制、基于DHT数据定位方法和复杂查询手段。
展望:P2P环境下保证数据副本一致性问题;P2P数据库和数据网格的关系;讨论P2P数据库的发展方向。
主要参考文献
[1] Wolfgang Hoschek, A Unified Peer-to-Peer Database Framework and its Application for Scalable Service Discovery,1211 Geneva 23, Switzerland
[2] Wee Siong Ng Beng Chin Ooi,PeerDB: A P2P-based System for Distributed Data Sharing,Proceedings of the 19th International Conference on Data Engineering (ICDE’03) 1063-6382/03 17.00 © 2003 IEEE
[3] Ng, Beng Chin Ooi, Kian-Lee Tan: Data Management in Peer-to-Peer Environment: A Perspective of BestPeer. J. Comput. Sci. Technol. 18(4): 452-461 (2003)
[4] L. G. ALEX SUNG, A Survey of Data Management in Peer-to-Peer Systems, Web Data Management, Winter 2005, Pages 1–50.
[5] Ryan Huebsch Joseph,Querying the Internet with PIER,Proceedings of the 29th VLDB Conference,Berlin, Germany, 2003
[6] WS Ng, BC Ooi and KL Tan, Bestpeer: A self-configurable peer-to-peer system, International Conference on Data Engineering (ICDE'2002), San Jose , April 2002
[7] 王珊、张新宇, Peer-to-Peer数据共享研究, 计算机应用与软件, 2003 Vol.20 No.11
[8] 杨巍, 基于DHT的层次化P2P资源定位方法研究, 东北大学硕士论文, 2004
[9] 凌 波 陆志国 黄维雄 钱卫宁 周傲英, PeerIS:基于Peer-to-Peer的信息检索系统 l.15, No.9 2004 Journal of Software 软 件 学 报
[10] 吴国新,网络文件存储和共享系统的资源搜索研究和实现,东南大学,20040301
[11] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan,Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications SIGCOMM’01, August 2731,2001, San Diego , California , USA .
[12] CATES, J. Robust and efficient data management for a distributed hash table. Master's thesis, Massachusetts Institute of Technology, May 2003.
[13] Wolfgang Nejdl,and Wolf Siberski,Michael Sinte, Design Issues and Challenges for RDF- and Schema-Based Peer-to-Peer Systems SIGMOD Record, Vol. 32, No. 3, September 2003
[14] Wolfgang Nejdl, Boris Wolf, Changtao Qu,EDUTELLA:A P2P Networking Infrastructure Based on RDF,ACM 1581134495/02/0005.
[15] Brunkhorst, H. Dhraief, A. Kemper, W. Nejdl, and C. Wiesner. Distributed queries and query optimization in schema-baed p2p-systems. In International Workshop On Databases, Information Systems and Peer-to-Peer Computing, VLDB 2003, Berlin , Germany , September 2003.
[15] Patrick Valduriez, Esther Pacitti ,Data Management in Large-scale P2P System
[16] Ryan Huebsch, Brent Chun, Joseph M. Hellerstein, Boon Thau Loo, Petros Maniatis,Timothy [17] Roscoe, Scott Shenker, Ion Stoica and Aydan R. Yumerefendi;The Architecture of PIER: an Internet-Scale Query Processor;Proceedings of the 2005 CIDR Conference