本文开始咱们会介绍HBase关于Backup/Restore的方案,虽然HBase2.0的release 版本里面并不会带有该功能,可是咱们ApsaraDB for HBase会对应的提供该功能。咱们常常会听到“某某某DBA误操做把整张表删了”,“某某磁盘故障,形成数据库的某个库的数据所有损坏了”。这种因为外在和内在的缘由形成的数据不可靠,最终会给用户带来毁灭性的灾难。因此基本上全部的数据库都会对应的提供Backup/Restore的方案,以防用户误操物理上删除了一整个表或者别的问题形成的悲剧; 通常经过定时的作备份不管是全量数据作备份仍是对增量数据作备份,此外一旦遇到上面提到“悲剧”,经过一键命令就能够恢复数据;sql
本文开始咱们大概的文章架构是:常见的数据库backup/restore方案;云HBase的Backup/Restore方案;咱们接下来的工做计划;数据库
1.常见的数据库backup/resotore方案架构
单机的数据库有Mysql,pg等,通常的话,Mysql的备份的话,能够有备份数据文件的方式到本地磁盘,也有直接进行逻辑备份,操做的sql语句;其余的单机数据库使用的技术也是差很少;spa
分布数据库的话cassandra的话,也是对数据作快照,而后copy 文件到一个备份的地方,增量备份的话使用备份wal log的方式,可是存在问题是:恢复的话,须要恢复到对等的拓扑结构的集群,再次增量备份wal的话会存在多倍的网卡开销;rest
如今来大概介绍HBase的备份和恢复的机制,和单机数据库对比的话意义不大。全量数据备份的话,HBase会对本地文件作一个snapshot,而后经过mr的方式将数据文件copy到一个特定的指定地方,增量备份的话,经过将wal log转换为Hfile,而后copy到远端一个特定备份的地方。这种增量备份是主要备份wal log,且是指定时间的作备份,一天或者一周。集群
对于恢复模块的话,能够是全量的数据恢复以及增量的数据恢复,基本的逻辑都是将文件copy到HDFS上,而后作一次bulkload便可将数据恢复回来。file
2.云HBase的Backup/Restore方案sql语句
这里分别从4个方面进行介绍,主要是:常见使用方法,全量数据备份和恢复,增量数据备份和恢复,咱们即将提供的一些特定功能。作方法
ApsaraDB for HBase提供的数据备份 能够支持备份到不一样地区的HDFS,也支持备份到OSS上面。大概的逻辑能够参考下面的图:技术