云HBase备份恢复,为云HBase数据安全保驾护航

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 介绍了阿里云HBase自研备份恢复功能的基本背景以及基本原理架构和基本使用方法。

  云HBase发布备份恢复功能,为用户数据保驾护航。对大多数公司来说数据的安全性以及可靠性是非常重要的,如何保障数据的安全以及数据的可靠是大多数数据库必须考虑的。2016 IDC的报告表示数据的备份(data-protection)和数据恢复(retention)是Nosql的最基础的需求之一。

为什么需要云HBase备份恢复?


  我们希望云HBase支持备份和恢复功能,主要原因:

  • 用户直接访问操作数据库,可能存在安全风险;
  • 项目存在合规以及监管的强需求;
  • 对数据库恢复数据到任意时间点(归档到任意时间点)需求;
  • HBase社区至今没有release备份恢复功能。
  1、用户直接访问数据库,存在安全风险

​  用户通过接口直接访问HBase数据库,这种情况下存在安全隐患的概率会比较大。一种可能性是黑客会通过黑客技术入侵数据库,对用户的数据进行肆意的“操作”,造成用户数据无法访问,然后进行勒索,参考前段时间的某某某数据库勒索事件。当然这种case 在阿里云相关数据库上是不会发生的,我们的数据库有一些安全机制进行守护,且云HBase自己也有自己的安全机制进行保障。

​  另外一种潜在的安全隐患就是:由于用户自己的误操作造成的数据丢失或者数据库不可访问,比如我们之前经常听到的“某某DBA由于误操作,造成数据库数据被物理删除,无法恢复,造成公司损失”等等等消息。

​  上述两种情况如果数据有备份的话,可以把备份的数据恢复回来,即可避免以上风险。

  2、合规以及监管需求

​  这种情况主要存在于一些特殊的项目中。由于数据的重要性或其他原因,会有监管的部门对数据是否做备份进行合规检查。比如我们曾经遇到的汽车行业的某公司,因为其每辆汽车数据的重要性,需要对这些车辆数据做实时备份,且这些数据如果存在大面积丢失则会直接带来监管审查问题。对于这种有监管需求的项目,备份恢复是必不可少的。

  3、数据库恢复到任意时间点需求

​  对数据库的数据归档到过去某一时间点也是对备份恢复的一个比较强烈的需求。假如测试脚本意外写入生产环境下的云HBase表中,那么会造成很多无效的数据产生,对于这种过去一段时间存在无效数据,不仅占用存储空间且不方便删除的情况,使用数据库的PITR能力可以将数据库数据做一种“清洗”,将数据恢复到产生无效数据之前。这里需要说一下,云HBase的恢复暂时只能支持恢复到过去10天内的时间点,且时间点的精确度是小时级别,暂时不能很精确的细化。

  4、HBase社区至今没有release备份恢复功能

​  HBase社区官方到现在没有对外发布过稳定的备份恢复功能,官方建议的备份操作的方式在生产环境是不适合执行的。所以云HBase提供一个稳定的备份恢复功能弥补了HBase社区在该方面的欠缺,也为广大HBase用户提供了一个选择。

云HBase备份恢复:赋能HBase备份恢复能力


​  云HBase备份恢复的设计之初的目的就是:赋能云HBase备份恢复的能力、百T级别(起)数据量备份恢复支持、低用户使用门槛、高性能、低备份成本、支持冷热分离、兼容HBase2.0/1.x、备份集备份、恢复以及增量备份、时间点恢复等。

​  传统数据库备份恢复的能力都是TB级别,在交易等场景下面是足够的,但面向大数据场景就捉襟见肘了。云HBase通过垂直整合高压缩、内核级优化等能力,将备份恢复的量级成功推高百倍以上,做到 百TB级别甚至更高 ,让客户在大数据量场景下也无后顾之忧。

​  我们最终给出如下架构:一种包含了全量(备份集)备份、全量(备份集)恢复、增量(实时)备份、增量(时间点)恢复几个模块,接下来就这几个模块进行介绍;

​     backuprestore

备份数据

​  备份数据分为2部分:开启备份动作时间点前的存量数据,通过Hfile的形式进行读取以及备份到目的端;时间点以及以后写入的实时数据,会以Hlog的形式被读取以及备份到远端。这里备份的远端默认选择是OSS,因为其具有11个9的数据可靠性,以及低成本等特点。上述存量数据的备份(备份集备份)会周期性的触发,暂定周期是一周;实时产生的数据(实时备份)会及时的备份到远端OSS。OSS上的数据,我们会相应保留2个周期,这样做主要是为了清理冗余数据。

​  备份数据过程中,通过调整流量控制,可以将备份带来的影响降低到极低的一个程度。无论是备份集备份还是实时备份,通过failover、takeover等机制,可以保证即使某些备份进程异常,数据依旧可以被备份到远端,这里可以承诺做到小时级别的备份精确度。此外备份过程中,通过将备份数据备份流量均匀分摊到集群中的各个机器,可以保证最高的备份效率,通过分布式的备份进而支持备份规模达到百T甚至更高级别,即只要你敢存,我们就敢备份。

恢复数据

​  从产品层面来看,如果用户执行恢复集群操作的话,云HBase会将数据恢复到一个全新的集群。这么做的目的是,尽可能的保证不侵入用户数据,守护最后一道数据底线,如果数据恢复完成,对于原的集群,用户可以自行处理。

​  数据恢复主要是将用户的数据,从远端(默认OSS)进行下载,其中包括存量的Hfile 数据以及增量的Hlog数据两部分。那么存量的Hfile数据,通过各个机器均衡下载,并各个机器执行bulkload,保证较快速的将存量数据恢复。对于Hlog 数据,同样做到分布式下载,各个机器回放相关的Hlog。通过充分利用各个机器的资源,将恢复速度做到最优。

​  恢复支持备份集恢复以及时间点恢复,如果用户想恢复到过去某一个具体时间段的数据,那么在页面选择一下相应时间段,点击恢复即可。

一些指标

​  经过我们的理论分析以及实际测试(8C32G,8Tx10),给出下列数据指标:

    1. 备份数据量可以达到百T级别甚至更高;
    2. 备份集备份最长4天,正常情况远小于4天;
    3. 备份集恢复最长1天半;
    4. 日志恢复数据精确度:1hour,最长容忍一小时的数据不准确;

​  上述第4点解释下:所谓的恢复精确度是如果用户想要将数据恢复到最新的一个时间点,恢复到的数据存在与需求的最新时间点数据最多一小时的误差,其他的恢复是没问题的,但是实际我们测试的情况远小于这个时间。

​  由于分布式备份,同等数据量下备份以及恢复速度是传统数据库的数倍。备份数据量、备份/恢复速度会随着机器数量的扩容而不断的增大。举个例子同样备份2T数据,传统数据库如果需要24小时,那么我们可以保证备份速度可以保证小于等于12小时。

云HBase和自建的区别

  HBase社区到目前为止没有release备份恢复功能,官网只介绍了如果要做备份需要的操作流程参考link,可以通过export做备份;此外社区有一个分支包含备份恢复功能,见link,但该分支开发好几年,release时间未知,且版本不稳定;在这里大概列一下云HBase备份恢复和自建的区别;

云HBase 自建HBase
备份恢复操作 操作简单,点击按钮即可 操作复杂,需要手工触发命令执行
备份过程是否依赖别的组件 依赖产品化组件,但是用户无感知,无需用户操作 依赖MapReduce,需要用户搭建或者部署
最长备份精确度时间保证 1小时 不确定
是否保证备份进程异常情况下的数据备份 没有
稳定性 多种数据量下反复测试,保证稳定性 社区方案,稳定性未知
流量控制 export方案无、分支未release方案有
备份目的端数据冗余 会有一定少量冗余数据 存在较多冗余数据
备份时间保证 有最长时间保证 未知

如何进行备份以及恢复


​  备份恢复整个操作流程都是非常简单的界面化操作,一路点点点既可以完成整个操作。

执行备份

​    1

​  用户购买完成云HBase集群以后在自己的控制台左侧栏会看到“备份与恢复”选项栏,选择该栏目,然后出现备份恢复相关的选项,第一次执行备份会需要重启集群,建议用户在一个低峰期进行开启操作,开启备份操作可能需要几分钟,请用户耐心等待。点击开启备份恢复以后,按照对应的选项指导 用户可以选择备份集备份的时间点,选择完成以后,就会周期性的在这个时刻触发一次备份集备份,至于实时数据备份在第一次开启备份的时候就触发了。

    4

​  完成上述设置以后,我们整个备份操作即可正常开启以及执行了。

执行恢复

​  云HBase的恢复包括备份集恢复以及时间点恢复。备份集恢复即恢复到过去执行的某一次备份集备份的数据,而时间点恢复即用户可以选择某一个特定的时间段(小时级别),然后云HBase的恢复程序即可将数据恢复到对应的时间点。无论是备份集恢复还是时间点恢复都是将数据恢复到一个新的集群。

​  选择是备份集恢复还是时间点恢复主要是在控制台页面选择:

    5

​  上述页面可以选择”备份点创建实列“,最后可以在下述页面选择具体的备份情况:

    7

​  完成如上操作以后,恢复程序开始执行恢复,等数据恢复完成即可。

展望


​  后期我们的备份恢复会进一步深耕,继续做的更细致,由于现阶段我们的备份恢复只能达到集群级别的备份,那么接下来需要支持更细粒度的备份和恢复,暂定细化到表级别;此外,我们还希望备份恢复的精确度可以降低到秒级别,这个事情也是需要投入精力的;再次对应备份恢复的速度我们希望可以再进行优化。

产品入口
  链接:https://cn.aliyun.com/product/hbase

云HBase备份恢复使用文档
  链接:https://help.aliyun.com/document_detail/68358.html?spm=a2c4g.11174283.6.585.5f113c2epivA3S

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
6月前
|
存储 监控 安全
日志服务SLS:为数据安全保驾护航
日志服务SLS:为数据安全保驾护航 在数字化时代,数据安全成为企业关注的焦点。阿里云日志服务SLS(Log Service)通过密钥管理服务KMS(Key Management Service)对数据进行加密存储,提供数据静态保护能力。同时,SLS支持基于SSL/TLS的HTTPS加密传输,有效防止数据在云端的潜在安全风险。
183 7
|
存储 SQL 缓存
图文详解:内存总是不够,我靠HBase说服了Leader为新项目保驾护航
大家好,我是小羽最近在工作中用到了 Hbase 这个数据库,也顺便做了关于 Hbase 的知识记录来分享给大家。其实 Hbase的内容体系真的很多很多,这里介绍的是小羽认为在工作中会用到...
213 0
|
存储 分布式数据库 数据安全/隐私保护
阿里云HBase数据安全实践
受近期“微盟员工删库事件”的影响,大量客户咨询云HBase在备份恢复方面的能力。数据是客户的核心资产,数据安全是生命线,本文总结了云HBase在数据安全方面的使用实践,希望可以帮助用户建立更完善的数据安全保护。
1446 0
阿里云HBase数据安全实践
|
存储 运维 安全
备份!备份!备份! 看阿里云HBase的企业级备份恢复如何设计
数据安全是生命线,一线人员辛苦一年的努力可能因为一时疏忽而废,升职加薪无望;一个公司或者团队辛苦几年的打拼可能一夜回到解放前。所以面对重要的事情要说三遍:备份!备份!备份!
1218 0
备份!备份!备份! 看阿里云HBase的企业级备份恢复如何设计
|
分布式计算 安全 大数据
数据保护伞—为MaxCompute平台数据安全保驾护航
数据安全是大数据发展道路上的重要挑战之一,数据,作为企业的核心资产,80%以上的核心信息是以结构化数据存储,包含个人身份证号、银行账号、电话、客户数据、医疗、交易、薪资等极其重要又敏感的信息。一旦发生数据篡改、盗取、滥用等安全事件,将给企业带来经济和声誉上的双重打击,造成的后果将不堪设想。
8989 0
|
大数据 分布式数据库 数据库
hbase 备份恢复
讲师:阿里多模型数据库专家 ——玄陵 主要内容介绍:阿里云HBase 备份恢复的设计背景、原理、实现以及与业内大数据数据库的备份恢复机制的异同。 视频回看下载地址:https://yunqivedio.alicdn.com/od/3WfyH1543920819489.mp4 PPT下载地址:https://yq.aliyun.com/download/3126 ---- 每周二下午六点都会有阿里专家在【 HBase生态+Spark社区 钉钉大群】直播,交流HBase技术。
1505 0
|
大数据 分布式数据库 Apache
HBase 备份恢复
Apsara HBase 备份恢复所有的数据库产品都有备份恢复,Apache HBase官方目前没有一个release版本的备份恢复功能,官网提出的方案和机制操作都是很复杂。所以阿里云赋能HBase的备份恢复能力并支持全量和增量的备份和恢复,同时具有高性能、低成本和低线上影响充分自动化。
2248 0
|
2月前
|
分布式计算 Java Hadoop
java使用hbase、hadoop报错举例
java使用hbase、hadoop报错举例
90 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4