您当前所在位置: > 爆料站 > 有深度

与时间赛跑:微盟的数据恢复为什么需要这么长时间

时间:2020-03-02 00:45:40  来源:  作者:网络

原标题:与时间赛跑:微盟的数据恢复为什么需要这么长时间

作者:茹炳晟,业界知名实战派软件质量和研发工程效能专家,中国商业联合会互联网应用技术委员会智库专家,畅销书《测试工程师全栈技术进阶与实践》的作者,InfoQ 极客时间“软件测试52讲-从小工到专家的实战心法”的专栏作者。现任Dell EMC中国研发集团资深架构师,历任eBay中国研发中心测试基础架构技术负责人,HP软件中国研发中心资深架构师、性能测试专家,Alcatel-Lucent高级技术主管,Cisco中国研发中心资深工程师等职位,具有超过16年的软件研发经验和技术管理经验。

微盟“删库跑路“事件已经过去好几天了,据悉,微盟的服务已经全部恢复,对于新用户,已经能够正常开始所有相关的业务活动了,但是对于老用户,数据依然没能全部恢复,根据其官网的信息,目前恢复了商家账户和权益数据,截止到2月28日晚上,大约会有七成的数据完成恢复。

作为B端用户以及广大吃瓜群众,都会有这样的好奇,现在的云计算,容器化部署,弹性扩缩容,数据备份技术等技术已经非常先进了,为什么整个恢复周期还会需要这么长时间。那么今天我就从技术的维度来聊聊我的理解。

正式聊技术前,我想先说说今年罗胖的跨年演讲《时间的朋友》,罗胖谈到“躬身入局”让我这个常年和IT技术打交道的”我辈中人“深有感触,很多时候当我们站在局外的时候,感觉很多事情都不复杂,但是当你投入其中之后,就会发现原来我们只是看到了冰山一角,很多事情要远远比你想的要复杂和困难。

举个很形象例子,人们通常喜欢采摘低垂的果实,因为就大脑的反馈来讲,低垂的果实是很容易采摘的,但是一个果实看起来低,它未必是真的低,很有可能是你离它太远了,当你走进一些,你会发现它比你最初看起来要高,当你再走进一些,你会发现根本高不可及。

这就像一座山,当你离它很远的时候,会觉得山不高,只有当你亲自走到山脚下,才会认识到自己更本不可能爬上去。这里我配了张图,是我当年在珠穆朗玛峰北坡登山大本营的照片,当时的海拔是5300米左右,我的身后就是传说中海拔8848的世界之巅珠穆朗玛峰,你也许看起来觉得似乎不高啊,那是应为我离得还足够远。换句话说,当你觉得一件事情很简单的时候,往往不是真的简单,而很可能是因为你不懂。

回到这次微盟事件,也是一样的道理,现代的大型互联网产品,无论是toC的还是toB的,站在用户的角度来看,使用都很简单,但是其背后的架构复杂性就是属于冰山下面的部分,其复杂程度会远远超过你的想象,我就常说一句话“认知限制了你的想象力”。所以,我相信,此时此刻,微盟一定在冰山下面尽着自己最大的努力来推动数据早日恢复。

好了,接下来聊聊偏技术的话题。很显然,目前微盟的主要问题是在数据库的恢复上,由于官方并没有公布具体的技术细节,我在网上也只找到一张非常顶层的架构示意图,并没有能获得系统基础架构,尤其是数据库架构方面的详细信息,所以只能从个人经验的角度做一些可能的猜想,目的是想让你能够理解其中的技术复杂程度。

首先让我们了解一下数据库的运行环境,简化来讲主要有以下三种:

“不上云”:建立在自己的数据中心,完全自己管理硬件、软件和数据,这是云平台普及以前的主流实践。在这种模式下,所有相关的数据库高可用性,容量扩展,数据备份都要有自己非常专业的团队(DBA团队和运维团队)来管理和维护,对企业的技术要求是比较高的。

“全上云”:完全建立在云端环境之上。注意,这里的云可以是公有云,也可以是私有云。云厂商会提供全套的解决方案来支持高可用性,容量扩展和数据备份等特性。可以说,随着云计算的普及以及泛数据库类服务( DBaaS)的快速发展,越来越多的新兴企业会选择这个方案。

“假上云”:这种方案是最奇葩的,有点像用Louis Vuitton的包来装菜,但在行业内也不在少数,应该说这是一个过渡阶段的产物。这种方式就是把云方案当做虚拟机来使用。这种方式和上面的“不上云”很类似,完全没有用好云端的优势,只是把数据中心的机器移到了云端而已。云方案所能提供的容灾、扩容等功能都被阉割了。

对于上面三种方式,“不上云”和“假上云”对于数据的风险相比“全上云”会更大,运维人员在“不上云”和“假上云”的情况下更容易有机会去执行类似“rm -rf /*”和“fdisk”类型的极端操作,而“全上云”,就比较难有机会从操作系统层面执行此类命令,数据库数据也就不会被rm -rf /给删掉。

如果删除操作不是发生在操作系统的数据文件层面(备份通常是以文件形式存在的),那么我们利用数据库自身的特性来恢复误删数据的效率会大大提高。

同样,面对数据的误操作问题(比如,错误地批量update表中数据的某个字段),“全上云”也比“不上云”和“假上云”有明显的优势。这个我是有切身经历的,以前有个项目使用自建数据库,由于某个DBA的误操作,在生产环境的数据库上执行了一条没有加where条件的update语句,直接造成竞拍商品的出价记录字段全部丢失,而后就是艰难的全量回滚和binlog重放,最终耗时4个多小时才恢复。后来同样的误操作发生在了云端数据库,回滚恢复的时间只花了几分钟。

从之前腾讯云对外的回应中,我们可以大概看到微盟被删的数据不在腾讯云上,再结合目前数据恢复的速度来看,我们几乎可以判定很大概率微盟没有采用“全上云”的架构,或者是只有部分数据在云端,而且很可能发生了比较极端的“rm -rf /*”和“fdisk”情况。那么在这种情况下,所有的主从库文件,全量备份文件,增量备份文件以及binlog都一起丢失了。

要在这种情况下恢复全部数据,可想而知技术难度是很大的。根据我的粗略理解,至少要跨过下面这些技术的槛。

  • 获取全量备份,如果存在异地的冷备或者灾备,那是比较理想的情况,但是由于全量备份通常非常庞大,所以需要较长的时间完成文件的传输和校验。如果没有异地的全量备份可供使用,那么就必须采取更耗时,而且不能保证一定100%全量成功的磁盘恢复手段。为什么说磁盘恢复会更加耗时,我一会儿来解释。这里还有一个问题就是全量备份可能太“旧”了,这也给后面的恢复带来了更多的时间成本。
  • 获取增量备份,很多时候增量备份没有来得及做异地容灾备份,所以很大概率要从磁盘恢复,这又是大量的时间消耗,而且同样不能保证100%完全恢复。
  • 获取binlog,binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE等)以及表数据修改(INSERT、UPDATE、DELETT等)的二进制日志文件,通常以索引文件(后缀为.index)和日志文件(后缀为.00000*)的形式存在磁盘上,通常为了保证binlog记录数据变更的准确性,一般都是采用row格式的binlog,因此文件尺寸也不小,而且文件个数也很多。

有了上面这些作为基本的输入,才能开始数据库层面的数据导入和恢复工作,这个过程也需要花费大量的时间,而且这是基于上述文件都可以100%得到为前提的,如果上述备份文件中出现数据问题,那由此带来的额外时间成本将会变得更大。

最后来说说磁盘文件的恢复。当我们对磁盘等存储介质上的文件进行删除操作,甚至是格式化操作(低级格式化除外)时,磁盘上的数据并没有真正从磁盘上消失,而只是在文件分配表中标注了一下而已,位于数据区的数据本身并没有被立即抹掉。只要文件的数据区没有被后面写入的信息覆盖,那么这些被删除的文件就是可以恢复的,这就是磁盘文件在删除后可以恢复的理论基础。

但是数据库的数据文件和备份文件往往很大,那么只要有个别数据区出现了重写,那么恢复出来的文件就是不完整的,这个时候就需要人为介入来进行修正,这个工作量以及技术难度就会很大,有时还会需要借助专用的仪器设备。在更复杂的情况下,还会采用数据雕刻技术(File Carving),数据雕刻技术是数字取证研究中频繁使用的一种文件恢复技术,它从表面上无差别的二进制数据集即原始磁盘映象中提取文件,而不利用磁盘的文件系统类型。

除此之外,像微盟如此庞大的系统,各个垂直事业部可能都有各自的业务数据库,这些数据库甚至可能采用了不同的方案,这种架构上的异构性也会给恢复过程带来极大的挑战。另外,即使部分数据恢复完成之后,也不能立即上线,而要等其他相关数据恢复,并且做好数据的的交叉校验,确保数据的万无一失,这些都需要大量的时间。

这些只是我能想到的一些情况,我站的也很远,也是从旁观者的维度在看问题,所以,我相信实际情况会比我所描述的更为复杂。我们还没法对最终的恢复结果作出推断,能够做的只有等待。游戏网

相关下载

玩家评论

上网课后长时间耍手机被批评12岁男孩负气出走,在外流浪一夜

原标题:上网课后长时间耍手机被批评 12岁男孩负气出走,在外流浪一夜 3月8日早上9点,经过一夜的搜寻,四川北川县一名12岁的男孩在出走21小时后终于被找详情>>

阅读: 2
日期: 2020-03-08
搞笑GIF:这还要过多长时间啊!堵车都这么长时间了!_毛绒熊

开挖掘机开上雪山,大家猜猜这是在干什么? 求他们爸妈的心理阴影面积 这还要过多长时间啊!堵车都这么长时间了! 你们到底画的是什么?怎么一人一个样啊! 详情>>

阅读: 2
日期: 2020-03-02
专家:居家健身不宜长时间大强度锻炼

原标题:专家:居家健身不宜长时间大强度锻炼 3月1日,国务院联防联控机制召开新闻发布会,介绍依法有效防控海外疫情输入有关情况。 他说,长时间大强度运详情>>

阅读: 2
日期: 2020-03-01
搞笑GIF:妹子,长点心吧!长时间坐着不动看手机,对眼睛不好_洗衣服

妹子,长点心吧!长时间坐着不动看手机,对眼睛不好 机车妹子,太带感了,风一般的感觉啊你能品味的历史,国脚1973。。。哈哈哈哈 这么光的头还用洗发水,真是太浪详情>>

阅读: 8
日期: 2020-01-22
“哈利波特”自爆曾因长时间没刮胡子被路人当成乞丐

【导读】丹尼尔·雷德克里夫(Daniel Radcliffe),1989年7月23日出生于伦敦,英国影视演员。-->   丹尼尔·雷德克里夫曾主演《哈详情>>

阅读: 5
日期: 2020-01-14
分手了这么长时间,阚清子和纪凌尘的变化好像都挺大的_余小晚

原标题:分手了这么长时间,阚清子和纪凌尘的变化好像都挺大的 本文由明星粉丝团作者芦笙原创,未经允许不得转载 阚清子和纪凌尘已经分手了很长时间了,详情>>

阅读: 9
日期: 2019-12-22
触不到的恋人?手游《LovePlusEvery》出问题,进入长时间维护

博士在十月份的时候和大家分享了文章《国民女友回归,科乐美旗下手游<LovePlus Every>即将推出》,讲述了科乐美(Konami) 制作的手机游戏《LovePlus Ever详情>>

阅读: 11
日期: 2019-11-07
话题丨长时间不洗头是什么体验?_时候

《叮铃铃铃下班了》今日话题:长时间不洗头是什么体验? 哈哈哈哈!发现没?苏麒的话题越来越重口味… 长时间不洗头最直接的感受就是:洗发水都嫌弃你,因为再洗的时候详情>>

阅读: 7
日期: 2019-11-05
幽默笑话:老公,通过对你长时间的观察,我发现你特别优秀!_老婆

【幽默笑话】工资都被女朋友收刮走了,回家跟老爸借点江湖救急。老爸告诉我:男人就要硬气一点,不能被女人管住,像他在家里从来地位一直很高......正说的口沫横飞之详情>>

阅读: 16
日期: 2019-10-20
Faker赛后谈huni:这么长时间再次赛场上遇到,还是很有趣的_比赛

原标题:Faker赛后谈huni:这么长时间再次赛场上遇到,还是很有趣的 S9世界赛小组赛,SKT在今天迎来第一轮的收官战对阵CG,本以为这是一场很精彩的比赛,但是详情>>

阅读: 4
日期: 2019-10-16
Faker赛后谈huni:这么长时间再次赛场上遇到,还是很有趣的

原标题:Faker赛后谈huni:这么长时间再次赛场上遇到,还是很有趣的 S9世界赛小组赛,SKT在今天迎来第一轮的收官战对阵CG,本以为这是一场很精彩的比赛,但是详情>>

阅读: 10
日期: 2019-10-16
长时曝光拍下飞机起飞降落轨迹

详情>>

阅读: 3
日期: 2019-07-31
他时长时短时快时慢 LOL中的奇葩英雄

英雄联盟当中技能的CD相对来说是比较固定的。一般都是随着技能等级的提升,这个技能cd会逐渐的变小。可是有详情>>

阅读: 1
日期: 2018-10-13
某玩家刺激战场长时间未登录游戏,直接被光子拿去充当机器人?

之前很多人都吐槽刺激战场在低端局的时候机器人太多,经常会给玩家一种自己很强的感觉,其实话说回来,新手如果详情>>

阅读: 5
日期: 2018-09-30
当你成为小队长时是不是就可以这样啦

当你成为小队长时是不是就可以这样啦详情>>

阅读: 4
日期: 2018-09-10
小行星撞击不会长时间影响生态,为何恐龙灭绝后生态难以恢复?

如果生命遭到重创,那么恢复到以前的状态是需要更长的时间,而最近发表在杂志的一篇有关古生物学的研究声称,宇宙其中更多的行星撞击并不会影响生物的恢复,它可能会影响生态过程。在恐龙消失的小行星撞击事件之后详情>>

阅读: 8
日期: 2018-08-27
净利增幅忽高忽低 航天信息董事长时旸如何驾驭这艘“大船”?

原标题:净利增幅忽高忽低航天信息董事长时旸如何驾驭这艘“大船”?运营商世界网廖有丽/文近日,航天信息发布2018年上半年业绩预减公告,披露其净利润减少的原因是由于航天信息对中油资本确认的公允价值变详情>>

阅读: 5
日期: 2018-08-27
预备党员的预备期。最多多长时间,最少多长时间?????急用 谢谢

小编为您搜罗的答案:党章规定,预备党员的预备期为一年,从支部党员大会通过为预备党员之日算起。情况1,预备期满被延长预备期,最长为一年,一年后不能通过即取消预备党员。情况2,在预备期满后,15天内召开支详情>>

阅读: 15
日期: 2018-08-26
灯灵Vs华夫 当你在暴打会长时

灯灵Vs华夫 当你在暴打会长时详情>>

阅读: 1
日期: 2018-08-25
王者荣耀赠送对方皮肤 如果对方长时间未领取 会消...

小编为您搜罗的答案:不会,经过最近峡谷更新,bag可以说是没有了"详情>>

阅读: 6
日期: 2018-08-24
考教练证怎么考需要多久多少钱多长时间

小编为您搜罗的答案:要考取健身教练国家资格证书,考试两种方式:第一是自己直接报考,就是自学,但是也要经过总局7天的培训。第二是通过培训机构系统的学习,但考试之前还是要经过7天的培训,7天的培训是必须的详情>>

阅读: 4
日期: 2018-08-23
汽车长时间不开怎么办?

小编为您搜罗的答案:1.深度清洗有备无患车辆长时间不开如何保养和检查每个人都希望在外出后,回来能看到一辆崭新的车,而不是一款满身污垢的车子。所以在出差之前对车辆做一次深度清洗是很有必要的,不仅让爱车详情>>

阅读: 7
日期: 2018-08-21
搜集一些武道后天十重境界等级,自己想的更好。 例子:后天一重,练体期:通过长时间的各种锻炼,身体明

小编为您搜罗的答案:体阶强者,主练身体的强度。仙阶强者,强调境界好比修仙。神阶强者,强调域能,成神之后域能越强实力越强。比如成为火神,那么火的域能越多,实力越强。仙境,神域,就是这个代表。小编为您搜罗详情>>

阅读: 4
日期: 2018-08-20
我的世界:欢乐跳瓶欢乐竞争赛 ,猪人经过长时间的努力终于有所成就

我的世界:欢乐跳瓶欢乐竞争赛 ,猪人经过长时间的努力终于有所成就详情>>

阅读: 5
日期: 2018-08-20
WIN7待机长时间后 出现administrator已锁定

小编为您搜罗的答案:桌面任意位置-右键--属性-屏幕保护程序-电源--电源使用方案选项卡----关闭监视器(从不)---都从不!!!OK控制面板也能进!小编为您搜罗的答案:在个性化-屏幕保护程序详情>>

阅读: 2
日期: 2018-08-20
冬天汽车长时间不开,多少天热一次车?

小编为您搜罗的答案:最少要一周热一次车,温度要达到八九十度。实在没时间的话,干脆把电瓶拆下来,以免长时间自放电使电瓶损坏。详情>>

阅读: 8
日期: 2018-08-16
实况足球2013绿茵传奇当中开始选择仅自己成长时别的球员会...

小编为您搜罗的答案:会,不仅会老,还会退役,但是不久后就又在青训队里面出现了详情>>

阅读: 12
日期: 2018-08-15
请教大家一个关于CF角色长时间不玩会不会被删除的问题。都...

小编为您搜罗的答案:您好,很荣欣能回答您的问题,<br/>对于您的提问,是因为你的在安徽一区的角色已经长达6个月以上未登录,<br/>导致系统冻结您在安徽一区的帐号以及角色。&详情>>

阅读: 12
日期: 2018-08-14
冒险岛阴阳师开召唤鬼神,地图刷怪速度会在多长时...

小编为您搜罗的答案:刷怪速度跟个人的技能等级和装备水平有关吧。召唤鬼神这个技能的伤害不是很高,提升量很小啊。"详情>>

阅读: 265
日期: 2018-08-14
cf北京2区战队丿One灬Time_收个女管理哦!声音要好听的!长时...

小编为您搜罗的答案:你好,Yy44496590,北京2战队收人,对名狠霸道,推荐加入,就是人少了点,谢谢。详情>>

阅读: 8
日期: 2018-08-13
开机长时间不动电脑就会死机是怎么回事???急 先谢谢

小编为您搜罗的答案:是休眠状态,只要再按一下主机的开关就可以恢复到正常工作了,<br/>如果不能解决的话可能是你的系统或者是主板有问题了,<br/><br/>fa详情>>

阅读: 6
日期: 2018-08-13
EDG终结连败,赛后采访厂长时还唱出了自己最拿手的歌曲

BO3第二局:蓝色方EDG,红色方WE。EDGPick:上单酒桶、打野巨魔、中单发条、下路韦鲁斯、辅助详情>>

阅读: 6
日期: 2018-08-12
经过长时间玩电脑,皮肤变差了、毛孔变大了、黑头有多了、还...

小编为您搜罗的答案:电脑有辐射不知道吗?你说的只是表面现象,长时间面对电脑,身体处于亚健康状态,冬天还是要多出去活动活动,现在的阳光是最珍贵的。详情>>

阅读: 8
日期: 2018-08-03
50天婴儿黄疸还没全退,我现在已经多让她晒太阳了,请问多长时...

小编为您搜罗的答案:孩子黄疸退的都是比较慢的,不要太担心了,多给孩子喝一点水,经常晒太阳,如果实在不行的话就给他七天黄疸用。详情>>

阅读: 7
日期: 2018-07-25
王者荣耀的英雄长时间在泉水,英雄自己动自己攻击,会自己动,我...

小编为您搜罗的答案:系统做的因为你没掉线又没动所有系统帮你动详情>>

阅读: 8
日期: 2018-07-22
【第五人格】当园丁匹配到超温柔的厂长时!

【第五人格】当园丁匹配到超温柔的厂长时!详情>>

阅读: 8
日期: 2018-06-30
精彩推荐