用Redis数据闪回按时间点恢复数据

访客4年前黑客文章1159

阿里云数据库Redis具有数据闪回功能,可以按时间点恢复数据。开启数据闪回功能后,在备份文件的保存期内,您可以恢复指定时间点的Redis数据,从而避免误操作带来的数据损失,或者在频繁回档的业务场景快速完成数据切换。

在传统关系型数据库中(如Oracle)提供了数据闪回功能,帮助客户完成数据的按时间恢复。而在主流的高速缓存产品Redis、Memcached上却鲜有类似的功能,原因主要是考虑到作为缓存产品,其中的数据可以丢失,而通过背后配备的持久化、事务性的关系型数据库可以对缓存进行重新加载。但是,随着大量客户对于低延迟的业务应用性能要求不断的提高,对于一些对延迟要求极高的场景下,例如游戏行业,越来越多的客户选择化简架构,将Redis直接作为内存数据库来使用,这便对Redis的数据安全可恢复提出了更大的挑战。阿里云Redis作为行业内的领军产品,拥有国内强大的Redis产品系列,在托管社区Redis版本的同时大力发展自主研发、兼容Redis协议增强型键值存储产品Tair(阿里云Redis企业版)。

“更安全”是阿里云Redis向广大客户提供服务的重要部分,阿里云在Tair中的性能增强版上特别推出了数据闪回功能,帮助客户实现在其指定时间点上恢复指定Redis实例数据的能力,提前为客户可能出现的风险准备好一剂“后悔药”。功能示意如下图所示:

使用这个能够帮助用户穿越数据变迁的黑科技只需简单几步。

  • 开通阿里云Redis企业版性能增强版实例
  • 开启数据闪回功能
  • 正常读写Redis数据库
  • 一旦发生即时数据恢复要求,选择对应实例和欲恢复的时间点,产生新实例
  • 切换应用连接的实例地址

下面以一个简单的示例演示:
首先,我们先对一个阿里云Tair实例写入一些数据,写入脚本如下:

% cat preparerepldata.sh

#!/bin/bash

echo “started at: `date +%m%d%H%M%S`”

for i in `seq -f “%010g” 1 $1`

do

namerand=$[ $RANDOM % 3 ]

timerand=`date +%m%d%H%M%S`

nationrand=$[ $RANDOM % 3 ]

redis-cli -h   r-t4nq2viog3z4rshoxxpd.redis.singapore.rds.aliyuncs.com -a ‘gnuhpc:Pa$$w0rd’   hsetuserprofilefoo$timerand $namerand

    sleep 0.75 #consider the   latency for connection establish

done

echo “ended at:   `date +%m%d%H%M%S`”

我们运行上述脚本以大约一秒的速率写入带时间戳的KV到一个叫做userprofile的hash结构中,一共写入120个Key,代表业务写入。

% bash preparerepldata.sh   120

OK

OK

% redis-cli -h hosts -a ‘username:password’   hkeysuserprofile | wc -l

     120

% redis-cli -h hosts -a ‘username:password’   hkeysuserprofile | sort -n

foo0803202709

foo0803202909

如命令执行所示,我们是在08月03日20:27:09 –08月03日 20:29:09 写入了120条数据。

随后在业务运行中,发现08月03日20:28:10之后,上述业务运行中发生数据风险,我们需要将新创建一个数据库,将原数据库在此时间点之前的数据恢复到这个新的数据库实例中。

我们到阿里云Redis控制台的备份恢复功能,选择数据闪回功能,点击“马上闪回”按钮,选择克隆源类型是“过去时间点”,然后选择要恢复的时间点:

新建的实例就是我们要将指定时间点数据恢复到的目标实例,这里值得一提的数据闪回只要求目标实例容量大于等于源实例,而架构则可以与源实例不同,也就是说用户可以自由选择目标实例为标准主从、集群或者读写分离架构的任何一个。

点击支付后等待片刻后实例创建完毕并完成数据恢复。

我们连接新创建的实例,看看究竟数据恢复的情况如何?

% redis-cli -h hosts -a ‘username:password’   hkeysuserprofile | wc -l

62

% redis-cli -h hosts -a ‘username:password’   hkeysuserprofile | sort -n

foo0803202709

foo0803202810

可以看到,我们已经成功的恢复数据到了08月03日 20:28:10的数据,在此时间点之后的数据修改均没有生效,用户完美地规避了指定的时间点之后发生的数据风险。

相关文章

海航迟发缓发工资怎么回事?海航迟发缓发工资的原因是什么

“2020年是海航化解流动性风险的决胜之年。”12月30日,海航集团发布了董事长陈峰2020年新年献词,献词中,陈峰坦诚,2019年海航资金短缺的情况仍未解决,并存在工资迟发、缓发的现象。 海航在迎...

成都桂花巷桂花树成片被砍怎么回事 官方回复说了什么

成都桂花巷桂花树成片被砍怎么回事 官方回复说了什么

9月7日晚10点左右,针对成都市青羊区桂花巷的桂花树被砍伐一事,青羊区发布了最新官方回复:9月7日上午,据媒体反映桂花巷有人砍伐行道树,青羊区公园城市和更新局立刻前往现场进行调查。经查,该处正在开展桂...

录音比特率多少合适

  比特率这个词有多种翻译,好比码率等,暗示颠末编码(压缩)后的音频数据每秒钟需要用几多个比特来暗示,而比特就是二进制内里最少的单元,要么是0,要么是1。。   张迎龙可是视频码率我就不知道取几多符合...

用亲身经历告诉你学好SEO不是难事

用亲身经历告诉你学好SEO不是难事

关于我是怎么进修SEO的工作,那还得从几年前说起了。2011年我来到武汉读大学,至于说什么大学,在这里我也欠盛情思多讲,因为这是一个很难过的问题,横竖就是一个比高中要大一些的学校了。跟大大都的伴侣一样...

阿芙怎么样(阿芙怎么样辨真假)

阿芙怎么样(阿芙怎么样辨真假)

记者 假如成功收购后,对于“阿芙”来说,您觉得他的未来会面临什么样的问题呢? 马涛老师: 未来的问题应该还是两个团队的融合问题,这也是业内大家都担心的吧。 记者: 嗯,我看到已经有人爆料...

养老机构的服务优化与体验升级

养老机构的服务优化与体验升级

无论是从商机角度还是老年人的需求,养老都已经成为资本竞相追逐的新“风口”。 中国社会科学院的研究报告指出,到2030年,中国将成为世界上老龄化程度最高的国家。 老龄人口逐年攀升,空巢老人和慢性病老年...