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

作者:茹炳晟 , 业界知名实战派软件质量和研发工程效能专家 , 中国商业联合会互联网应用技术委员会智库专家 , 畅销书《测试工程师全栈技术进阶与实践》的作者 , InfoQ极客时间“软件测试52讲-从小工到专家的实战心法”的专栏作者 。 现任DellEMC中国研发集团资深架构师 , 历任eBay中国研发中心测试基础架构技术负责人 , HP软件中国研发中心资深架构师、性能测试专家 , Alcatel-Lucent高级技术主管 , Cisco中国研发中心资深工程师等职位 , 具有超过16年的软件研发经验和技术管理经验 。
「云头条」与时间赛跑:微盟的数据恢复为什么需要这么长时间
文章图片
微盟“删库跑路“事件已经过去好几天了 , 据悉 , 微盟的服务已经全部恢复 , 对于新用户 , 已经能够正常开始所有相关的业务活动了 , 但是对于老用户 , 数据依然没能全部恢复 , 根据其官网的信息 , 目前恢复了商家账户和权益数据 , 截止到2月28日晚上 , 大约会有七成的数据完成恢复 。
【「云头条」与时间赛跑:微盟的数据恢复为什么需要这么长时间】作为B端用户以及广大吃瓜群众 , 都会有这样的好奇 , 现在的云计算 , 容器化部署 , 弹性扩缩容 , 数据备份技术等技术已经非常先进了 , 为什么整个恢复周期还会需要这么长时间 。 那么今天我就从技术的维度来聊聊我的理解 。
正式聊技术前 , 我想先说说今年罗胖的跨年演讲《时间的朋友》 , 罗胖谈到“躬身入局”让我这个常年和IT技术打交道的”我辈中人“深有感触 , 很多时候当我们站在局外的时候 , 感觉很多事情都不复杂 , 但是当你投入其中之后 , 就会发现原来我们只是看到了冰山一角 , 很多事情要远远比你想的要复杂和困难 。
「云头条」与时间赛跑:微盟的数据恢复为什么需要这么长时间
文章图片
举个很形象例子 , 人们通常喜欢采摘低垂的果实 , 因为就大脑的反馈来讲 , 低垂的果实是很容易采摘的 , 但是一个果实看起来低 , 它未必是真的低 , 很有可能是你离它太远了 , 当你走进一些 , 你会发现它比你最初看起来要高 , 当你再走进一些 , 你会发现根本高不可及 。
这就像一座山 , 当你离它很远的时候 , 会觉得山不高 , 只有当你亲自走到山脚下 , 才会认识到自己更本不可能爬上去 。 这里我配了张图 , 是我当年在珠穆朗玛峰北坡登山大本营的照片 , 当时的海拔是5300米左右 , 我的身后就是传说中海拔8848的世界之巅珠穆朗玛峰 , 你也许看起来觉得似乎不高啊 , 那是应为我离得还足够远 。 换句话说 , 当你觉得一件事情很简单的时候 , 往往不是真的简单 , 而很可能是因为你不懂 。
「云头条」与时间赛跑:微盟的数据恢复为什么需要这么长时间
文章图片
回到这次微盟事件 , 也是一样的道理 , 现代的大型互联网产品 , 无论是toC的还是toB的 , 站在用户的角度来看 , 使用都很简单 , 但是其背后的架构复杂性就是属于冰山下面的部分 , 其复杂程度会远远超过你的想象 , 我就常说一句话“认知限制了你的想象力” 。 所以 , 我相信 , 此时此刻 , 微盟一定在冰山下面尽着自己最大的努力来推动数据早日恢复 。
好了 , 接下来聊聊偏技术的话题 。 很显然 , 目前微盟的主要问题是在数据库的恢复上 , 由于官方并没有公布具体的技术细节 , 我在网上也只找到一张非常顶层的架构示意图 , 并没有能获得系统基础架构 , 尤其是数据库架构方面的详细信息 , 所以只能从个人经验的角度做一些可能的猜想 , 目的是想让你能够理解其中的技术复杂程度 。
「云头条」与时间赛跑:微盟的数据恢复为什么需要这么长时间
文章图片
首先让我们了解一下数据库的运行环境 , 简化来讲主要有以下三种:
“不上云”:建立在自己的数据中心 , 完全自己管理硬件、软件和数据 , 这是云平台普及以前的主流实践 。 在这种模式下 , 所有相关的数据库高可用性 , 容量扩展 , 数据备份都要有自己非常专业的团队(DBA团队和运维团队)来管理和维护 , 对企业的技术要求是比较高的 。