当前位置:问答库>论文摘要

题目:分布式环境中key-value存储系统的性能优化

关键词:分布式key-value存储系统,数据重写,负载均衡,权重

  摘要



随着web 2.0的发展,关系型数据库在处理海量数据存储时暴露了不少问题。为了解决这些问题,各大公司开始研制新的存储系统来替代关系型数据库,尤以NoSQL存储的代表分布式key-value存储系统发展最为迅速。时至今日,分布式key-value存储系统已与人们的生活息息相关。因此,对分布式key-value存储进行性能系统优化具有重要意义。

目前分布式key-value存储系统种类繁多,本文基于淘宝的分布式key-value存储系统Tair设计并实现了存储模块和负载均衡模块两部分的优化方案。

Tair的存储模块使用了谷歌的开源key-value存储引擎Leveldb。Leveldb在写入过程中,会通过合并机制来进行数据整合。这个过程中,value会随着key一起移动,造成大量不必要的数据重写。本文设计了一种key与value分开存储的结构,其中value存入单独的文件,而value在文件中的偏移和长度信息存储Leveldb。测试结果表明,本文的改进方案能够有效减少Leveldb的数据重写量,提升其合并过程的效率,并且可以提高其随机写速度。

Tair使用桶来完成负载均衡,而且桶的分配单位是服务器,这不适用于集群中服务器性能存在差异的情况。本文设计实现了基于权重的分配策略,为性能差的服务器分配较少的桶,减少其处理的数据量,使其不至于成为系统的性能瓶颈。测试结果显示本文改进能够提升系统的整体性能,提升效果取决于服务器的性能和负载以及权重配比的设置。