NoSQL存储系统的相关算法改进与性能测试
发布时间:2017-05-10 02:03
本文关键词:NoSQL存储系统的相关算法改进与性能测试,由笔耕文化传播整理发布。
【摘要】:随着云计算和大数据的兴起,尤其是近几年来海量级数据规模的应用不断涌现,非结构化数据存储和处理需求迅速增长,这些新的海量数据应用对数据存储有了新的需求。同时传统的关系型数据库已经无法满足Web2.0网站,特别是超大规模和高并发SNS类型的网站的需求,各大互联网公司和网络存储公司对维护关系数据库的成本越来越高。由于关系型数据库的架构设计问题如数据结构单一、查询过程相对复杂,暴露出一些无法克服的问题,因此急需一种新的存储性能高的数据库来补充甚至取代关系型数据库。而NoSQL存储系统则由于自身的优势,如高性能,,高可用性,可扩展性,数据模型灵活,得到了迅速发展,其非结构化分布式存储系统的性能分析与调优也成为了业界的热点研究问题。 本文首先在查阅相关NoSQL理论技术的基础上,从NoSQL数据库的优势特点出发,分析存储系统设计和实现需要遵循的原则。通过研究目前主流的NoSQL数据库存储系统,参考国外NoSQL产品的实现,设计并实现了一个基于NoSQL的存储系统,以及开发性能测试工具对系统进行了有效的性能分析与评测。本文的主要的研究内容如下: (1)通过对NoSQL数据模型的深入分析和研究,实现了基于key-value数据模型的存储系统,支持基本命令查询,支持完成一组命令的事务机制,利用设计模式中的观察者思想实现订阅信息功能,支持key-value数据存储在多个服务器集群等基本功能,并对系统中使用的API功能作了详细的分析。 (2)深入分析研究了传统NoSQL存储系统中常用数据结构和算法存在的问题,通过改进和完善一些低效的数据结构和算法,提高存储系统存储效率和降低CPU消耗,重点研究和改进了一致性哈希算法,通过加入虚拟节点,解决了传统NoSQL存储系统中一致性哈希算法平衡性的问题。 (3)通过对存储系统性能测试分析和设计,开发出基准性能测试工具menkv-benchmark,解决了NoSQL存储系统测试设备不足和测试设备性能差异性问题,产生了一系列的测试结果,通过具体的测试数据对比证明系统的平均性能每秒可以处理15000个命令,性能高于GlobalsDB存储系统,从而证明了系统性能的可靠性和有效性。
【关键词】:NoSQL 键值对 一致性哈希 性能测试
【学位授予单位】:武汉理工大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP333;TP311.13
【目录】:
- 摘要4-5
- Abstract5-9
- 第1章 绪论9-13
- 1.1 研究背景9-10
- 1.2 国内外研究现状10-11
- 1.3 论文的主要研究工作11-12
- 1.4 论文组织结构12-13
- 第2章 NoSQL 相关技术分析13-18
- 2.1 NoSQL 和 SQL 的区别13-14
- 2.2 NoSQL 数据模型的选择14-16
- 2.3 存储系统读写要求16-17
- 2.4 本章小结17-18
- 第3章 NoSQL 存储系统设计与实现18-37
- 3.1 键值对及基本命令19-24
- 3.1.1 Key-Value 键值对的设计19-20
- 3.1.2 基本命令的设计20-22
- 3.1.3 命令底层 API 设计22-24
- 3.2 事务机制24-30
- 3.2.1 事务机制的阶段性25-27
- 3.2.2 事务执行流程的实现27-29
- 3.2.3 事务的 ACID 性质29-30
- 3.3 观察者模式30-33
- 3.3.1 订阅通道的设计与实现31-32
- 3.3.2 发送信息到通道的设计与实现32-33
- 3.4 集群机制33-36
- 3.4.1 集群工作原理33-34
- 3.4.2 集群节点在线配置34-35
- 3.4.3 容错机制35-36
- 3.5 本章小结36-37
- 第4章 存储系统数据结构和算法分析37-47
- 4.1 字符串对象37-38
- 4.1.1 字符串改进数据结构37
- 4.1.2 字符串改进算法37-38
- 4.2 Bitmap 数据结构和算法分析38-40
- 4.2.1 Bitmap 数据结构38-39
- 4.2.2 算法应用分析39-40
- 4.3 一致性哈希算法40-46
- 4.3.1 基本案例场景40-41
- 4.3.2 一致性哈希算法的研究41-43
- 4.3.3 一致性哈希算法的改进43-46
- 4.4 本章小结46-47
- 第5章 NoSQL 存储系统性能测试47-62
- 5.1 影响性能测试的因素47-49
- 5.2 传统的 NoSQL 存储系统测试49
- 5.3 性能测试工具设计与实现49-53
- 5.3.1 性能测试工具设计49-51
- 5.3.2 性能测试工具实现51-53
- 5.4 不同场景系统性能测试53-60
- 5.4.1 管道包裹命令测试53-55
- 5.4.2 网络协议性能测试55-58
- 5.4.3 请求数量性能测试58-60
- 5.5 存储系统性能对比分析60-61
- 5.6 本章小结61-62
- 第6章 总结与展望62-64
- 6.1 总结62
- 6.2 展望62-64
- 致谢64-65
- 参考文献65-66
【参考文献】
中国期刊全文数据库 前4条
1 陈超;王亮;闫浩文;仇阿根;李玉祥;朱芳菲;;一种基于NoSQL的地图瓦片数据存储技术[J];测绘科学;2013年01期
2 黄秋兰;程耀东;陈刚;;分布式存储系统的哈希算法研究[J];计算机工程与应用;2014年01期
3 魏兵;姚敏;沈志荣;;Google Bigtable系统的可信性研究[J];信息网络安全;2011年12期
4 涂振发;孟令奎;张文;黄长青;;面向分布式GIS空间数据的Key-value缓存[J];武汉大学学报(信息科学版);2013年11期
中国博士学位论文全文数据库 前1条
1 刘晓茜;云计算数据中心结构及其调度机制研究[D];中国科学技术大学;2011年
本文关键词:NoSQL存储系统的相关算法改进与性能测试,由笔耕文化传播整理发布。
本文编号:353746
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/353746.html