DHT虽简单,但性能优越。DHT无需中心服务器,分布式系统中所有的DHT节点是平等的。同时,DHT继承了哈希表的主要特性,如高效定位和搜索元素。这允许DHT灵活扩展到拥有很多节点。DHT由以下两部分组成。这个基本性质使得DHT在节点加入或离开网络时的重组需求变得最小。节点按照DHT的连接策略选择邻居。DHT必须具有以下三个特性。因为DHT具备这三个特性,所以它在一些领域大受青睐。......
2023-10-28
查找问题(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 中心服务器、泛洪搜索和分布式哈希表三者的比较
有关分布式数据库技术的文章
DHT虽简单,但性能优越。DHT无需中心服务器,分布式系统中所有的DHT节点是平等的。同时,DHT继承了哈希表的主要特性,如高效定位和搜索元素。这允许DHT灵活扩展到拥有很多节点。DHT由以下两部分组成。这个基本性质使得DHT在节点加入或离开网络时的重组需求变得最小。节点按照DHT的连接策略选择邻居。DHT必须具有以下三个特性。因为DHT具备这三个特性,所以它在一些领域大受青睐。......
2023-10-28
为了集成海量的、异构的、多形态的数据,首先要将它们的描述统一起来,这就引出了对集成数据的元数据描述和管理的要求。事实上,人们对元数据的理解和认识还存在不少争议,迄今尚未形成真正统一的元数据定义。与数据字典不同,数据仓库主要是将元数据进行分析处理。2)元数据分类元数据广泛存在的多形态导致到目前还没有形成一个统一的分类标准。......
2023-10-28
SDD-1采用一种全局式的目录体系结构,它的系统目录是作为逻辑上一致的、单一的表或关系来处理的。为了提高性能,SDD-1允许局部节点暂存远程数据的目录登记项的拷贝,并要求保持它们的最新版本。该系统将目录划分为长目录和短目录。SUNDDB采用了类似R*的分布式目录体系结构,并进行了改进和修改。WDDBS-32是武汉大学设计和实现的分布式数据库管理系统。......
2023-10-28
Oracle公司的OPS环境比一般的(单实例)Oracle环境复杂得多。不同结构下的OPS的实施略有不同。图14.23OPS体系结构为了利用这些特性,需要专业人员合适的设计以及恰当的手工配置。下面对有些关键问题进行简单讨论,讨论中会涉及一些Oracle系统专用的术语,读者可参阅Oracle公司的相关文档。DLM与Oracle进程一起工作并相互通信。DLM相关的初始化参数在每个实例的SGA[12]中分配必要的结构以处理消息机制、封锁与实例相关的Cache管理,这样就为各种Oracle进程操纵提供了基础。......
2023-10-28
与数据库安全系统打交道的人员可以分为两类:数据库管理员和普通用户。DBA要对安全负责,所以他(们)要创建授权规则,定义谁可以使用哪部分数据,以及如何使用。图13.1数据库安全系统由图13.1可知,数据库安全系统里存放着授权规则,在每次数据库存取时强制满足其规则。从完整性方面考虑,数据库安全可以包含以下两方面。1)设计阶段的数据库安全在设计阶段必须关注数据库的安全性。DBA负责处理整个数据库系统里的用户账号和口令。......
2023-10-28
瞬时对象标识的实现与所使用的程序设计语言有关。对于永久对象标识,可以是物理标识也可以是逻辑标识。注意,选定对象的大小也很重要,使用小对象,导致对象标识数量大,可能会使得OID表十分大。所以,对象标识管理与对象存储技术密切相关。在对象存取期间,如果LOID里的服务器标识部分不直接用在对象定位标示上,则对象标识符起的是纯LOID的作用。在磁盘上通常采用对象标识符作为指针。......
2023-10-28
Web Service是一种跨平台、跨语言的规范,用于不同的平台,不同语言开发的应用之间的交互。但是,Web Service定义得更抽象,并不关心特定的实现协议。图12.13Web Service的技术基础●通过一种描述,包括允许的输入/输出消息最小化,以及可能的关于服务功能和数据含义的语义标注。Web Service显式地描述程序如何工作。图12.14例程调用与Web Service的不同如图12.14左面所示,在一个大的代码体里,子例程像宏一样被指向和使用。......
2023-10-28
从而,死锁是分布式数据库管理系统面临的严肃问题。要采取措施,先要分析是否出现死锁,通常称为死锁检测。等待图是帮助监测的一个有用工具。WFG是一个有向图,表示事务间的等待关系。图9.9是例9.7的WFG。WFG中有环出现就意味着有死锁存在。在分布式系统中,WFG的形式复杂得多,因为两个参与死锁的条件可能出现在不同的节点上,我们把它称为全局死锁。图9.9等待图WFG发现死锁后,就要设法打破死锁。......
2023-10-28
相关推荐