高性能高可用键值存储系统的设计与实现

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:sscar126
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
21世纪初期,互联网进入了一个全新的发展高峰期。数据量以指数增长,提高对海量数据的管理、访问能力的需求变得越来越迫切。海量的数据和巨大的用户数量对存储资源和计算资源的可扩展性提出了巨大的挑战。传统的关系型数据库系统并不能提供这些应用所需要的高可扩展性。一种新型的、存储非关系型数据的、具有高可扩展性的键值存储系统应运而生。本文首先介绍了研究背景。其次,分析了分布式文件系统、P2P系统与键值存储系统相关的关键技术。最后,设计了一个高可靠、高扩展性、高可用的键值存储系统KV-Store。KV-Store具有的基本特征或创新点:第一基于改进的一致性哈希算法的数据分散算法,该算法成功地解决了基本的一致性哈希算法和Dynamo使用的数据分配算法存在的热点问题、数据分散和集群拓扑的紧耦合问题、存储节点的异构性问题。第二基于PG划分的负载均衡算法。使用哈希算法进行数据分散的一个根本缺点是这种映射关系是不可改变的。映射关系不能改变直接导致了数据的位置不能根据系统的负载进行动态的改变,所以一旦系统出现热点或负载失衡将束手无策。KV-Store使用了哈希算法进行数据分散,同时也创造性的实现了动态的负载均衡算法。第三基于Chubby的消息传输和集群管理。Chord,BT等P2P系统通过复杂的路由和查询协议进行消息的传输,KV-Store使用Chubby的改进版进行集群管理和消息的快速传输。第四KV-Store使得元数据和数据彻底解耦合。与传统的文件存储系统不同,KV-Store使用哈希规则来联系数据和其对应的元数据。系统进行数据迁移,查找时不需要进行资源的检索,而是自己计算得出。在KV-Store中只存在很少量的元数据信息。最后KV-Store是用erlang程序语言进行实现的。erlang是一个函数式编程语言,该语言的特性是易于分布式编程,程序设计简单,实现相同功能的代码量大约是C++语言代码量的四分之一。
其他文献
近年来网络信息随着互联网技术的发展在急剧增长,同时国家主席习近平也提出了互联网+的概念,因此在互联网中产生了大量、且具有研究价值的文本信息,如互联网参与人员发表的关
近年来,由于国内电源行业的快速发展使得电源企业规模得到不断扩大。在生产能力和经济效益小断提高的同时,企业信息化建设无法跟上企业的发展步伐,已经成为企业进一步发展的
WebGIS技术是GIS在网络技术上的应用,随着Internet的发展,WebGIS的应用已经深入到各领域,正面向标准化、开放性和跨平台方面发展。目前,很多领域已经实现了WebGIS研究,WebGIS已成
随着互联网的普及,以及电子商务的迅猛发展,网络交易日渐流行,越来越多的商品从现实交易转向虚拟交易,导致信息资源的数据种类和数据量迅速增长,推动了电子商务个性化推荐的
学位
本课题来源于上海海洋大学临港新校区的网络建设项目。本课题所实现的系统模型是在深入研究了IPv4和IPv6双协议栈及网络管理技术的基础上,根据实践过程中的网络管理系统的需求
学位
随着冷冻电镜技术的发展,对生物大分子的成像精度要求越来越高。现有技术条件下,使用冷冻电镜技术采集的生物大分子的投影图像衬度低,信噪比低,图像模糊,图像中的单颗粒与背
随着嵌入式软件测试的发展,在要求高可靠性的领域对“白盒”测试的要求也越来越高,对于实现嵌入式软件“白盒”测试的技术研究也成为IT领域的一大热点。利用插桩技术来实现“
人名歧义是一种身份不确定现象,现实中同一个姓名可能被多个实体人物所使用,这种情况都会产生人名歧义。随着Internet的发展,网页中人名同名问题开始对网络应用,特别是给搜索
随着经济一体化的发展,物流已经成为企业生产经营活动的重要组成部分,其中运输配送是物流的一个重要环节。在运输配送中如何根据客户要求合理安排车辆配送路线、降低运输成本