AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

  • 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:385214
用户头像

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

关注

评论

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

我做了个《联机桌游合集: UNO+斗地主+五子棋》无需下载,点开即玩!叫上朋友,即刻开局!不看广告,不做任务,享受「纯粹」的游戏!

HullQin

CSS JavaScript html 前端 8月月更

直播商城系统——直播和电商的合理有效结合

开源直播系统源码

软件开发 直播系统源码 直播带货系统 直播商城系统 直播app系统

低代码实现探索(四十八)后端服务

零道云-混合式低代码平台

阿里云鲍文乐:基于事件的自动化运维最佳实践

阿里云弹性计算

事件 自动化运维 CloudOps

迄今为止最完整的DDD实践

阿里技术

DDD 经验分享

CSS

武师叔

8月月更

开源一夏 | 使用 JavaScript 将文本转换为文件

海拥(haiyong.site)

JavaScript GitHub 开源 前端 8月月更

借我 1 小时,与 1000 人一起参与开源

腾源会

开源 腾源会

付费会员之我见(43/100)

hackstoic

商业模式

云原生(二十) | 深入了解Kubernetes(k8s)Service

Lansonli

云原生 k8s 8月月更

3 分钟温故知新 RxJS 【创建实例操作符】

掘金安东尼

前端 函数式编程 8月月更

应用缺少POI数据,如何开发地点深度信息?

HarmonyOS SDK

腾讯发布第二季度财报,腾讯云数据库收入同比增长超过30%

科技热闻

什么是文件存储?与对象存储有什么区别?

wljslmz

文件存储 8月月更

设备管理|风机的日常运行与维护

PreMaint

企业设备管理 预测性维护 设备健康管理 风机的日常运维

少儿编程是智商税吗?不花钱让孩子赢在起跑线!

博文视点Broadview

怎么分辨企业转型是“真数字化”还是 “伪数字化”?

雨果

数字化转型

【LeetCode】课程表Java题解

Albert

LeetCode 8月月更

圣庭医疗联合创始人谷红仓:高通量基因测序在药物研发和靶向治疗中的应用

阿里云弹性计算

HPC 高性能计算 生命科学 基因测序

Promise.allSettled 的 Polyfill 处理

汪子熙

JavaScript Promise Async 8月月更 web编程

GitHub标星139K的:“嵌入式Linux系统开发教程”

收到请回复

Java Linux 程序员 嵌入式 #运维

寻找海量数据集用于大数据开发实战(维基百科网站统计数据)

程序员欣宸

大数据 数据集 8月月更

悟了,应该都了解分布式架构下负载均衡器吧

知识浅谈

负载均衡 8月月更

基于CC2530(ZigBee)设计的景观照明控制系统+配套手机APP

DS小龙哥

8月月更

Web登录很简单?开玩笑!

TimeFriends

8月月更

Go-Excelize API源码阅读(十三)—— GetSheetVisible、SetSheetFormatPr

Regan Yue

Go 开源 源码解析 8月日更 8月月更

组件解析:基础组件button的实现

独来独往

大前端 低代码 可视化 组件化 低代码平台

预约直播 | 基于预训练模型的自然语言处理及EasyNLP算法框架

阿里云大数据AI技术

深度学习 阿里云 算法框架

AntDB基于WAL日志的DML数据闪回实现

亚信AntDB数据库

AntDB 国产数据库 AISWare AIDB

计算机网络(二、物理层)

计算机网络 8月月更

五分钟给你的 gRPC 服务加上 HTTP 接口

万俊峰Kevin

Go 微服务 gRPC web开发 go-zero

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