知识卡片

一个存储系统至少需要十年才能真正稳定:评估新兴存储技术成熟度的经验法则

普通读书笔记卡

内容

面对”最近很多声音说不要再用MongoDB,你怎么看”这类问题,给出的回答除了对具体技术态度的个人看法,还包含一条更具普遍价值的经验法则:”一个存储,最少需要10年才能稳定”——文中还举了一个真实案例佐证这条经验:曾遇到一个游戏客户,用的某个NoSQL数据库出现数据文件损坏、无法恢复的严重事故。这条经验法则的背景,是很多新兴NoSQL产品早期为了在性能测试和市场宣传中占据优势,往往会把默认配置设置得比较激进(牺牲一部分数据安全性去换取更好看的性能数字),而这些性能取舍带来的风险,开发者往往不会主动、明确地告诉用户——如果真的把配置改成更安全的模式,这些新兴存储的性能优势可能就没有比传统关系数据库强多少了;这类问题往往不会在系统刚上线、数据量还不大的早期阶段暴露出来,而是要经过相当长时间的真实生产环境考验(各种边界场景、各种故障组合、各种数据规模增长带来的压力)才会逐渐浮现,这也是为什么”稳定”这件事需要以年为单位、而且是接近十年这个量级的时间才能真正被验证。这个案例给出了一条评估新兴存储技术风险的重要提醒:一项存储技术在早期性能测试或者小规模试点中表现亮眼,并不等同于它已经具备了在生产环境长期稳定运行的可靠性——存储系统作为承载企业最核心资产(数据)的基础设施,它的可靠性验证天然需要经历足够长的时间跨度和足够多样的真实故障场景,选择一项相对年轻的存储技术用于核心业务时,应当对这类”看起来性能很好,但成熟度和长期稳定性还未经过充分验证”的风险保持足够的警惕,而不能仅凭早期的性能数字或者市场热度就做出决定。

参考来源

- 位置:《高可用架构(第1卷)》第6章《大数据与数据库》"6.7 从NoSQL历史看未来"节,"6.7.8 疑问与解惑"(源文件:_epub-src/OEBPS/Text/Chapter6_7_9.xhtml) - 结论依据:原文说明"一个存储,最少需要10年才能稳定。前些天刚碰到一个游戏客户说某NoSQL数据文件损坏无法恢复,问我们有没有办法,我说,在下次选择时要谨慎点,性能不是唯一要考虑的因素",直接支撑本卡片结论。 - 原始内容:一个存储,最少需要10年才能稳定。前些天刚碰到一个游戏客户说某NoSQL数据文件损坏无法恢复,问我们有没有办法,我说,在下次选择时要谨慎点,性能不是唯一要考虑的因素,这次请节哀。