论文部分内容阅读
用计算机网络将分散在各个地方的数据库连接起来,进行集中管理和控制,组成统一的数据库系统,我们把这样的数据库系统就叫做分布式数据库系统。分布式数据库系统不仅能实现对数据进行集中管理也能使各地的用户都能共享数据。在分布式数据库系统中,我们必须提供相应的恢复措施,以保证在系统出现故障时能将数据从故障状态恢复到正常并且一致的状态,以便于能继续为用户提供正常的数据库服务。
作为非关系型分布式数据库的一种,HBase目前的版本中,其恢复系统依然存在着两个问题,即如果HBase在Split期间系统发生异常,有可能会导致数据丢失的问题和快照并没有作为基本的功能被实现的问题。本文在深入研究分布式数据库HBase的基础上,针对HBase恢复系统的不足,在以下两个方面开展了研究工作:第一,提出在HBase中引入两阶段提交协议的故障恢复方法。通过在HBase中引入两阶段提交协议,针对不同的故障情况采取相应的应对措施。并且通过实验证明了与系统自带的日志故障恢复方法相比,它可以有效地解决HBase在split期间发生异常会导致数据丢失的问题。第二,针对在HBase分布式数据库中,快照并没有作为一种基本的功能予以实现的问题,深入分析了分布式数据库HBase快照实现的关键问题和设计与实现的过程。提出对HBase的内存缓存文件通过恢复日志的方法进行快照,对存放在HFile里的文件通过创建索引文件进行快照。实验表明,通过快照的创建与恢复,能够实现将HBase中的表恢复至快照创建时状态的功能。