基于LevelDB的分布式数据库的研究与实现
发布时间:2021-03-25 17:43
由于互联网的飞速发展,数据规模呈爆炸式增长,海量数据的存储与管理给数据库系统带来了严峻的挑战,单机数据库已经无法应对。传统关系型数据库由于其关系模型和ACID特性,不适合在分布式环境运行。No SQL数据库应运而生,它舍弃了关系型数据库的很多限制,强调可扩展性和可用性,支持超大规模数据的存储与管理。本文基于键值型No SQL数据库Level DB,并与数据一致性算法Raft、数据分片和负载均衡相结合,设计并实现基于Level DB的分布式数据库。本文的主要工作包括:1、修改Raft算法读取策略,将只允许从Leader读取修改为允许从Follower读取,减轻Leader负担,在读负载远远大于写负载时增加读取吞吐量,减少请求平均延迟;增加预选举机制,在发起正式选举之前首先发起预选举,只有收到大多数的回复之后才正式发起选举。解决Raft算法在网络分区时可能出现的对已提交日志丢弃问题。2、实现基于关键字区间分布的数据分布功能,为顺序读写提供友好地支持;实现负载均衡功能,通过分区拆分、分区迁移,动态地调整系统负载;添加中间层,实现在单个存储实例上为多个用户提供逻辑独立的存储空间。3、设计并实现...
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:89 页
【学位级别】:硕士
【部分图文】:
dlevel_server.proto考虑到服务器端提供的操作接口包含多个,因此需要识别客户端具体的发送操
region_info结构体
raft.proto下标commited_index;回复的内容包括节点term号,是否成功复制is_success以及最后一条日志下标last_log_index
【参考文献】:
硕士论文
[1]分布式键值对存储系统的设计与实现[D]. 林枫.华南理工大学 2017
本文编号:3100053
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:89 页
【学位级别】:硕士
【部分图文】:
dlevel_server.proto考虑到服务器端提供的操作接口包含多个,因此需要识别客户端具体的发送操
region_info结构体
raft.proto下标commited_index;回复的内容包括节点term号,是否成功复制is_success以及最后一条日志下标last_log_index
【参考文献】:
硕士论文
[1]分布式键值对存储系统的设计与实现[D]. 林枫.华南理工大学 2017
本文编号:3100053
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3100053.html