基于RocksDB引擎的分布式存储系统设计与实现
发布时间:2023-04-16 11:50
随着信息社会的发展,互联网进入高速发展的新时期,互联网上的数据量出现爆炸式的增长。随着数据量的快速增长,传统的关系型数据库已经无法应对当前海量数据规模的应用,因此NoSQL数据库应运而生。近些年来,对于NoSQL技术的研究从未间断,并且已经取得一定的成果,不同种类的NoSQL数据库层见迭出,包括key-value数据库、图数据库、列数据库和文档数据库等,NoSQL数据库中最重要的一个分支就是key-value数据库。数据库的存储引擎作为数据库存储系统中的重要组成结构,它的性能优劣将直接决定整个数据库存储系统的读写快慢。目前出现的写入性能极好的基于LSMTree的存储引擎LevelDB,该存储引擎使用LSM树作为存储结构,避免了大量的随机写入问题;对于特定的读,即内存中的热数据,也能达到不错的性能。Facebook维护了一个活跃的LevelDB的分支,即RocksDB存储引擎。RocksDB是在LevelDB代码基础上进行二次开发,相比LevelDB有了很多的改进,比如多线程压缩、分层自定义压缩、多个MemTable等,比LevelDB性能更好。本文主要有三个方面的工作:(1)首先概括了...
【文章页数】:82 页
【学位级别】:硕士
【文章目录】:
摘要
abstract
第一章 绪论
1.1 课题背景及研究意义
1.2 国内外研究现状
1.2.1 存储引擎
1.2.2 分布式NoSQL存储
1.3 课题研究内容
1.4 论文组织结构
1.5 本章小结
第二章 理论基础及相关技术
2.1 RocksDB
2.2 OCF
2.2.1 基本原理
2.2.2 基础网络通信引擎
2.2.3 RPC系统
2.3 分布式NoSQL存储
2.3.1 数据分布策略
2.3.2 可用性和可扩展性
2.3.3 数据一致性
2.4 本章小结
第三章 需求分析及总体设计
3.1 需求分析
3.1.1 功能需求
3.1.2 性能需求
3.2 总体架构
3.2.1 整体架构及各模块说明
3.2.2 系统各模块用例图
3.3 本章小结
第四章 系统详细设计与实现
4.1 控制节点详细设计与实现
4.1.1 数据分布表
4.1.1.1 数据分布表的详细设计
4.1.1.2 数据分布表的具体实现
4.1.2 负载均衡策略
4.1.3 交互模块详细设计与实现
4.1.3.1 Interaction网络协议
4.1.3.2 InteractionPerformer服务模块
4.2 数据节点详细设计与实现
4.2.1 心跳模块
4.2.2 请求处理和数据存储模块
4.2.2.1 重组key
4.2.2.2 数据存储
4.2.3 数据传输服务
4.2.3.1 Transport网络协议
4.2.3.2 TransportPerformer服务
4.2.4 数据迁移模块
4.2.5 数据复制模块
4.3 客户端详细设计与实现
4.3.1 获取数据分布表
4.3.2 客户端接口
4.4 读写执行流程
4.4.1 数据写流程
4.4.2 数据读流程
4.5 本章小结
第五章 系统测试
5.1 测试环境
5.2 功能测试
5.2.1 数据添加
5.2.2 数据查找
5.2.3 数据删除
5.3 性能测试
5.3.1 数据节点上的数据分布测试
5.3.2 系统吞吐能力测试
5.3.2.1 测试场景
5.3.2.2 测试结果及分析
5.4 本章小结
第六章 结论与展望
致谢
参考文献
攻硕期间取得的研究成果
本文编号:3791310
【文章页数】:82 页
【学位级别】:硕士
【文章目录】:
摘要
abstract
第一章 绪论
1.1 课题背景及研究意义
1.2 国内外研究现状
1.2.1 存储引擎
1.2.2 分布式NoSQL存储
1.3 课题研究内容
1.4 论文组织结构
1.5 本章小结
第二章 理论基础及相关技术
2.1 RocksDB
2.2 OCF
2.2.1 基本原理
2.2.2 基础网络通信引擎
2.2.3 RPC系统
2.3 分布式NoSQL存储
2.3.1 数据分布策略
2.3.2 可用性和可扩展性
2.3.3 数据一致性
2.4 本章小结
第三章 需求分析及总体设计
3.1 需求分析
3.1.1 功能需求
3.1.2 性能需求
3.2 总体架构
3.2.1 整体架构及各模块说明
3.2.2 系统各模块用例图
3.3 本章小结
第四章 系统详细设计与实现
4.1 控制节点详细设计与实现
4.1.1 数据分布表
4.1.1.1 数据分布表的详细设计
4.1.1.2 数据分布表的具体实现
4.1.2 负载均衡策略
4.1.3 交互模块详细设计与实现
4.1.3.1 Interaction网络协议
4.1.3.2 InteractionPerformer服务模块
4.2 数据节点详细设计与实现
4.2.1 心跳模块
4.2.2 请求处理和数据存储模块
4.2.2.1 重组key
4.2.2.2 数据存储
4.2.3 数据传输服务
4.2.3.1 Transport网络协议
4.2.3.2 TransportPerformer服务
4.2.4 数据迁移模块
4.2.5 数据复制模块
4.3 客户端详细设计与实现
4.3.1 获取数据分布表
4.3.2 客户端接口
4.4 读写执行流程
4.4.1 数据写流程
4.4.2 数据读流程
4.5 本章小结
第五章 系统测试
5.1 测试环境
5.2 功能测试
5.2.1 数据添加
5.2.2 数据查找
5.2.3 数据删除
5.3 性能测试
5.3.1 数据节点上的数据分布测试
5.3.2 系统吞吐能力测试
5.3.2.1 测试场景
5.3.2.2 测试结果及分析
5.4 本章小结
第六章 结论与展望
致谢
参考文献
攻硕期间取得的研究成果
本文编号:3791310
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3791310.html