分类筛选
分类筛选:

关于可用性论文范文资料 与基于Raft一致性协议的高可用性实现有关论文参考文献

版权:原创标记原创 主题:可用性范文 科目:毕业论文 2024-03-17

《基于Raft一致性协议的高可用性实现》:此文是一篇可用性论文范文,为你的毕业论文写作提供有价值的参考。

摘 要:随着互联网的快速发展和大数据时代的来临,传统数据库的局限性开始逐渐显现,而支持海量数据存储和高并发访问的分布式数据库系统越来越流行.在此背景下阿里巴巴集团研发了一款适用于海量数据存储的分布式数据库系统(OceanBase),并提供单集群和多集群两种部署模式.但多集群部署模式下的可用性较低,无法满足关键性应用的需求,包括:发生故障时不支持主备集群的自动切换;主备集群之间无法保证日志的强同步.针对上述问题,本文分析了传统数据库的高可用方案,针对OceanBase架构的特点,结合了Raft算法的思想,设计并实现了基于时间戳的分布式选举模块、自动化的集群切换模块和基于QUORUM策略的日志强同步模块.经实验验证,以上模块的实现能够提高系统整体的可用性.

关键词:分布式数据库;高可用性;Raft一致性协议;日志同步

中图分类号:Q948文献标识码:ADOI:10.3969/j.issn.10005641.2015.05.015

0引言

数据库管理系统是存储和访问具有内在关系的数据的系统软件,例如DB2,Oracle,SQLServer等数据库系统,它们被广泛应用于银行、商品交易、电信、电力等对可用性和可靠性要求非常高的领域,在生产和生活中起着至关重要的作用[1].

随着移动互联网的普及和发展,数据库的数据量和访问量呈指数级增长,传统数据库已难以满足高并发、海量存储的需求.因此许多互联网公司将高可扩展的分布式技术引入到数据库系统中,研发出许多分布式数据库系统,例如Google的Bigtable[2],Spanner[3],Yahoo!的Dynamo[4]系统等.同时一批开源的NoSQL分布式数据库也逐渐开始流行起来,例如HBase、MongoDB等,这些数据库系统通过分布式的数据存储机制保证了数据的可靠性和可扩展性,使用了一些常见的容错机制来保证系统的可用性.

技术发展的同时,信息安全也越来越被人们重视.作为存取数据的基础软件设施,数据库管理系统在金融、政府等机构的信息系统中处于至关重要的地位.然而数据库系统产品的市场长期被国外垄断,在信息安全方面存在着巨大的隐患,这种现状促使国产软件的发展上升为了国家战略[5].

在这样的市场需求和国家战略的背景下,阿里巴巴集团推出了一款支持海量数据存储的高性能分布式数据库系统OceanBase[6].它实现了数千亿条记录、数百TB数据上的跨行跨表事务,能满足当前海量存储需求的应用,在可扩展性、可用性和数据一致性方面都有非常好的表现,并且已经成功应用到了阿里集团内部很多业务系统中.OceanBase的高可用性并没有依赖于底层的高可用硬件,而是采用了低廉的普通PC服务器,在软件层面上实现了系统内部故障对外部使用者不可见,这种方式可以在不牺牲强一致性和高可用性的情况下有一个低成本的使用方案[7].

OceanBase最新的开源版本(0.4.2)有两种集群部署模式:单集群模式和多集群模式.单集群模式下所有的机器都必须在一个机房内,它没有防范区域性自然灾害的能力.多集群模式下,各个集群可以部署在不同地区的机房内,具有容灾的能力,但这种部署模式的可用性并不高.当主集群出现故障导致系统不可用时,必须通过人工介入的方式来将备集群切换为主集群.即使人工介入了也有可能发生由于日志不一致而导致的主备集群切换失败的情况,这是由于主备集群间的不可靠日志同步策略导致的.

针对OceanBase的多集群模式的可用性不高的缺陷,本文基于Raft一致性协议[8],设计并实现了一些功能来提高它的可用性:

①实现了基于日志时间戳的选主协议,使之适用于OceanBase的使用场景;

②实现了自动切换主备集群的功能,当系统得到选举结果后,能够实时感知到主备集群的状态,从而自动切换主备集群,保证了数据库服务的持续可用性;

③设计并实现了基于QUORUM策略[9]的日志强同步技术,在日志同步过程中兼顾了同步日志的效率和数据的可靠性,在多集群的部署模式下日志同步能够保证集群的异常恢复机制,最大化整个系统的可用性,并且保证了在异常恢复的过程中数据的一致性和完整性;

实验证明基于日志时间戳的选主协议以及集群切换过程是正确且高效的,日志同步能够保证数据的完整性和一致性.

本文第一部分介绍了传统数据库高可用方案以及OceanBase的架构和相关一致性算法背景.第二部分介绍了选主协议实现、主备集群切换的实现以及UpdateServer的日志强同步的实现.第三部分对这些已实现的功能进行测试实验.第四部分是本文的总结以及对未来的发展方向的阐述.

1相关工作

可用性是指系统在面对各种异常时依然可以提供正常服务的能力.数据库系统一般采用冗余硬件和数据的策略来实现高可用性.然而,数据一致性问题随之产生.以下将分三个部分介绍本文的相关工作.

1.1传统数据库的高可用方案

作为一个典型的传统数据库,Oracle提供了以下两种高可用解决方案[10]:真正应用集群(Real Application Cluster,RAC)[11],数据卫士(Data Guard,DG)[1213].

在RAC方案中,为了达到最高级别的服务器保护模式,一般有两台以上的服务器架构在共享存储设备之上,所有服务器均可直接访问共享存储中的数据.这种方式使得在低成本服务器上构建高可用性数据库系统成为可能,但是RAC方案的缺陷在于系统的可用性受制于共享存储的可用性.

在DG方案中,一个主服务器提供服务,多个备服务器作为热备份,主服务器需要将日志数据实时同步到备服务器上.DG方案提供了三种数据保护模式:

(1) 最大保护模式:任何事务日志必须先成功同步到所有备服务器上,最后才会在主服务器上执行成功,然后应答客户端成功;

可用性论文参考资料:

性论文

综述性论文格式

性课题开题报告

综述性论文怎么写

综述性论文范例

性论文范文

结论:基于Raft一致性协议的高可用性实现为大学硕士与本科可用性毕业论文开题报告范文和相关优秀学术职称论文参考文献资料下载,关于免费教你怎么写可用性方面论文范文。

和你相关的