写点什么

存储系统设计中的二八定律

  • 2015-01-07
  • 本文字数:1144 字

    阅读完需:约 4 分钟

二八定律又名帕累托法则、不平衡原则等,它是一种不均匀分布的理论,已被广泛应用于社会学、企业管理学以及经济学中。同样,该定律也适应于计算机科学领域,如应用负载、磁盘访问、存储系统设计等也都是不均匀的随机分布。近日,存储服务初创公司 Coho Data 的联合创始人兼 CTO Andy Warfield 发表了一篇关于在存储系统设计中二八定律应用的博文。在博文中,Andy Warfield 对二八定律进行了介绍,并指出 Facebook 为大规模的应用程序而设计的存储系统也利用了这种原理。

Andy Warfield 指出他们首先对最近 11 个开发者的台式机存储数据进行了为期一年的跟踪记录,这些记录包括大概 76 亿次的 IO 操作和在 5TB 存储数据上进行的超过 28TB 传输量。Andy 通过初始容量与时间比例分析发现,这些数据很不均匀,如 11 台台式机上共存储有 5.1TB 的数据,这其中还有 627GB(大约 21%)的数据在一个月内很少被访问,3.1TB 的数据在整整一年中没有被访问, 如下图所示:

通过以上分析结果图,Andy 还得出了以下两个新观点:

首先,使用 LRU (最近最少使用算法)作为一个填充快速内存的模型能够估算来自服务(或缓存)的请求比例。另外,随着将快速存储介质添加到系统中,访问命中率也在增长。

其次,通过该图还可以计算出基于访问的标准成本,而不是基于每 GB 的存储成本。伴随着缓存的不停增加,访问命中率却在下降。要实现 100% 的命中率所花费的金钱是最初使用最小高速缓存而实现 35% 命中率所花费的 11 倍多。因此,数据访问的成本将会变得更加昂贵。

关于如何解决分布不均匀的问题,Andy 认为不应该把资金花费在提高冷数据的访问性能上,而应该将资金花费在如何提高热数据的访问性能上。

Andy 认为当前的存储领域也发生了巨大变化,固态存储已不单单有 SATA/SAS SSD、PCIe/NVMe 和 NVDIMM 三种选择,且每个选择的成本和性能都有很大的差别。因此,即使没有磁盘,存储系统仍需要混合介质,只有通过混合形式才可以实现高性能与卓越的价值。一个混合存储系统仍然需要使用磁盘,且应该把热数据存储在高性能的内存中。同样,一个全闪存阵列 AFA 可能由三个甚至更多不同类型的混合存储介质。为了最大程度地提高混合存储的性能,Andy 还研究了一个新算法

最后,Andy 还指出不均匀分布的广泛性以及正因为二八定律才使得系统设计能够服务于最受关注的事物上(如高速公路和农村公路、核心互联网路由器、中心城市交通运输系统等的设计),并提供高性能的服务。对于存储系统的设计也不例外,构建存储系统尤其需要细心地对工作负载进行响应式分析,以确定存储规模并满足实际应用的需要。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-01-07 03:385574
用户头像

发布了 92 篇内容, 共 51.8 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

Java开发框架Struts相关知识分享

@零度

struts JAVA开发

更好用的Web端H265播放技术架构

百度开发者中心

智能视频

详解布隆过滤器的原理和实现

万俊峰Kevin

golang 微服务 微服务架构 布隆过滤器 go-zero

测试 —— DevOps 快速交付的最大瓶颈

飞算JavaAI开发助手

聊聊Java底层那些事

码农参上

内容合集 签约计划第二季 技术专题合集 技术专区合集

学python,怎么能不学习scrapy呢,这篇博客带你学会它

梦想橡皮擦

12月日更

前端开发JS框架之jQuery的基础知识分享

@零度

大前端 ​jQuery

ios技术分享| iOS 发布 framework 到 Cocoapods 以及常见问题

anyRTC开发者

ios 音视频 WebRTC CocoaPods Framework

【量化】资产组合理论:鸡蛋不能放在一个篮子里

恒生LIGHT云社区

量化投资 量化

关于RocketMQ事务方面Demo

企业管理升级,如何加速信息化转型?

雯雯写代码

企业管理 信息化

对话中国人寿:DevOps实践经验分享

龙智—DevSecOps解决方案

DevOps 中国人寿

鸿蒙智联设备开发,这五大法宝你应该拥有|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

【Promise 源码学习】第十四篇 - 实现工具方法 promisify

Brave

源码 Promise 12月日更

喜报 | 旺链科技获批张江国家自主创新示范区专项发展资金!

旺链科技

区块链 数字经济 产业区块链

信息网络向价值网络演进过程中产品形态的思考

拍乐云Pano

大数据开发之Kafka 存储选型

@零度

大数据 kafka

Tapdata Cloud 版本上新!新增ClickHouse,ADB MySQL等5个数据源支持

tapdata

MySQL oracle

字节码引用检测原理与实战

vivo互联网技术

编程语言 字节码编程 引用

给弟弟的信第5封|从高中到大学的体会

大菠萝

28天写作

华云大咖说 | 华云校园信创云解决方案

华云数据

华云数据

百度文库新一代文档阅读器!核心技术点全解析!

百度Geek说

大前端 文档 百度文库

WebView秒开方案探索

得物技术

CSS JavaScript html webview 大前端

kubernetes系列随笔03:kubernetes的发展和设计思想

Geek_cd6rkj

Docker Kubernetes 声明式

直播预告丨“Hello Ability:从页面跳转开始”周三晚不见不散

HarmonyOS开发者

HarmonyOS

2021年财经中国年会暨第十九届中国财经风云榜

大咖说

直播 财经 财经峰会

Android C++系列:Linux线程(四)线程同步

轻口味

android 28天写作 12月日更

元气部落盲盒芒趣一番赏盲盒app开发搭建

风行无疆

高并发线下沙龙不容错过!

Qunar技术沙龙

高并发

存储系统设计中的二八定律_语言 & 开发_李士窑_InfoQ精选文章