分布式键值对存储系统的设计与实现

来源 :华南理工大学 | 被引量 : 0次 | 上传用户:li438
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
互联网产生了大量的数据,这些数据具有无结构化特点,并且很大一部分数据都是小尺寸的。外部对数据存储系统的访问是高并发的,期望数据存储系统能提供数据的强一致性访问。传统的关系型数据库扩展性差,并发性能较低,并不适合应用在高并发的环境下。很多互联网公司使用扩展性更好、性能更高的键值对存储系统来存储数据,但现有的键值对存储系统在存储小尺寸数据时,存在单机存储容量受限于内存大小、高性能和高可用性不能兼得、只保证数据的最终一致性等不足之处。本文设计并实现了一个分布式键值对存储系统,主要改进了分布式键值对存储系统中的两个技术难点:1)单机存储容量不受内存大小限制。本系统基于Bitcask存储模型改进得到了Bo B存储模型,把完整索引保存在硬盘中,内存中只存储用于定位完整索引的精简索引,每个键值对数据只需要5Byte的内存来定位完整索引,1GB内存即可存储2亿条键值对数据的索引。作为代价,该模型的读写操作需要额外的一次随机硬盘读来查询完整索引,但在数据冷热分明的应用场景下,内存缓存可以有效的减少这一次随机硬盘读的开销;2)提供数据的强一致性访问。本系统基于Paxos算法设计并实现了数据强一致性的解决方案,使得本系统可以提供数据的强一致性访问,并结合键值对存储系统这一实际应用场景进行优化,一次预授权优化后的Paxos算法过程只需要4次消息交互和2次持久化的硬盘存储,大幅提高了强一致性过程的效率,从而提高系统的整体性能。本文最后对系统进行了全面的功能测试和性能测试。测试结果表明,Bo B存储模型单机可以存储十亿级的键值对数据,在存储了大规模数据后,仍能保持较高性能和高可用性;分布式键值对存储系统可以提供强一致性的数据访问,峰值写性能达到约7万请求/秒,峰值读性能达到约3万请求/秒,能满足互联网应用的性能需求。
其他文献
<正>针灸源于新石器时代。原始人在劳动与搏斗当中,偶然刺伤、碰伤或烧伤了身体的某一个部位,却使原有的某些疾病痛苦得以解除,后来人们逐渐从实践中创造出中国独有的针灸疗
目的:观察八味黄连跌打水联合手法治疗肩周炎的临床疗效。方法:将我科收治的228例肩周炎患者随机分为观察组和对照组,每组114例。对照组给予常规手法治疗,观察组在此基础上给
美国国家写作项目在四十多年的发展过程中,积累了丰富的经验,构建了比较成熟的机制,理念清晰、原则明确;机制多元、持续性强;写作主题富有时代性。项目关注参训者的个性需求,
目的:探讨CT与MRI诊断老年肺结节及肺癌分期的临床对比。方法:选取我院自2016年4月-2018年4月收治的老年肺结节合并肺癌患者共50例,随机分为两组,对照组患者采用CT诊断,研究
目前,职业病问题日益成为一个重要的公共卫生问题。从伦理与法律的视角,论述了我国当前职业病防治中的问题,指出了我国当前职业病问题存在的三个特点,较深入分析了我国当前职
<正> 编研档案史料是档案工作的一个重要方面,数据是编研档案史料最重要的基础。所以,档案史料中数据真实性问题是不可忽视的一个大问题。为确保档案史料数据的真实性,本人谈
目的:研究当归注射液对大鼠非酒精性脂肪肝的保护作用。方法:30只Wistar大鼠随机分为对照组、非酒精性脂肪肝模型组和当归治疗组。模型组与治疗组大鼠皮下注射四氯化碳与植物
目的:对灰栒子进行显微鉴别和薄层鉴别研究。方法:采用组织横截面、粉末鉴别等方法对药材的显微鉴别进行研究;采用薄层鉴别方法,以硅胶G为吸附剂,环己烷∶氯仿∶乙酸乙酯(22
本文分析目前我国商贸流通业发展现状,指出影响商贸流通效率的原因,从加快推动商贸流通业和互联网融合发展,加快发展电子商务平台,加快推动商贸流通业供给侧结构性改革,加快
刚刚过去的2018年的世界文坛,似乎因为年度诺贝尔文学奖因故停颁而显得异常冷清。而与世界文坛的“冷场”相呼应的,则是这一年久负盛名的英国曼布克文学奖入围作品清一色黑暗阴
报纸