首页 理论教育DHT中数据的分布管理与检索:分布式数据库技术

DHT中数据的分布管理与检索:分布式数据库技术

【摘要】:这种泛洪蔓延式的搜索就称为泛洪搜索。数据的定位取决于当前的DHT状态。分布式哈希表提供数据在节点上分布的全局视图。三种策略中,分布式哈希表优势明显,最吸引人。表16.1中心服务器、泛洪搜索和分布式哈希表三者的比较

查找问题(lookup problem)是P2P系统的一个重要问题。例如:某个节点A想在分布式系统中存放一个数据项D,D可能是一个小数据项,是某个大数据内容的位置或坐标数据,如A的当前状态或当前IP地址。那么,当节点B希望检索数据项D会怎样呢?这时,会出现以下问题。

●A向哪里存放数据项D?

●其他节点如何发现数据项D的位置?

●分布式系统如何实现可伸缩性和高效性?

对此,有三种基本策略可用,它们是中心服务器(central server)、泛洪搜索(flooding search)和分布式哈希表(distributed Hash table)。

1.中心服务器

中心服务器就是第一代P2P系统,如Napster使用的策略。其思想是,在一个中心服务器里存放数据项的当前位置。所以,查找问题就变成询问中心服务器。其优点是,搜索复杂性为O(1),即只要知道中心服务器就可。此外,模糊查询和复杂查询也是可能的。其缺点是,中心服务器变成整个系统风险最大的短板,一旦出现问题,整个系统就瘫痪。

2.泛洪搜索(www.chuimin.cn)

泛洪搜索不设中心服务器,节点上存放数据项内容,而关于数据项位置的显式信息不存放在其他节点上。要检索一个数据项D,唯一的办法是问大家:谁拥有这个数据项。这种泛洪蔓延式的搜索就称为泛洪搜索。一旦节点接收到查询,就会将消息泛洪般传递给其他节点,直至超过指定的跳数。一个基本假设是数据内容在网络里有多个副本,因此可以在少量跳数里被找到。

3.分布式哈希表

分布式哈希表是一种分布索引技术。中心服务器和泛洪搜索的缺点很明显,因此提出了分布索引技术,即分布式哈希表方法。P2P系统里,这样的系统称为结构化P2P系统。数据的定位取决于当前的DHT状态。分布式哈希表提供数据在节点上分布的全局视图。

三种策略中,分布式哈希表优势明显,最吸引人。

表16.1是中心服务器、泛洪搜索和分布式哈希表三者的比较。

表16.1 中心服务器、泛洪搜索和分布式哈希表三者的比较