NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

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

关注

评论

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

HarmonyOS 3首批正式版开始推送

Geek_2d6073

SAP CAP 项目 cds watch 生成的 index.html 的模板位置和权限控制

Jerry Wang

云原生 CAP Cloud SAP 10月月更

「经验汇总」基于TDengine的时序数据解决方案

TDengine

数据库 tdengine 时序数据库

全能型选手——华为云数据库GaussDB(for MySQL)

清欢科技

鸿蒙开发实例 | ArkUI JS飞机大战游戏开发

TiAmo

华为 鸿蒙 10月月更

Hash Map源码分析(八)

知识浅谈

hashmap 10月月更

React源码分析8-状态更新的优先级机制

goClient1992

React

8:单表查询-MySQL

Yeats_Liao

数据库 后端 10月月更

实用性强更安全,后悔没早用华为云

清欢科技

跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效

华为云开发者联盟

Python 华为云 图像处理 企业号十月 PK 榜

非父子组件之间的通信方式与mitt库🔥

渔戈

前端 Vue3 10月月更

Arctic 基于 Hive 的流批一体实践

网易数帆

hive iceberg LakeHouse Arctic 企业号十月 PK 榜

你是如何使用React高阶组件的?

beifeng1996

React

React源码分析7-state计算流程和优先级

goClient1992

React

6:列属性完整性-MySQL

Yeats_Liao

数据库 后端 10月月更

基于OneNet平台设计的多节点温度采集系统-有人云4G模块+STM32

DS小龙哥

10月月更

Redis数据结构(二)-List、Hash、Set及Sorted Set的结构实现

京东科技开发者

数据库 redis List 数据结构 hash

快递单信息抽取【三】--五条标注数据提高准确率,仅需五条标注样本,快速完成快递单信息任务

汀丶人工智能

nlp 知识图谱 关系抽取 事件抽取 命名实体识别

面试官:谈谈你知道的DOM常见的操作

CoderBin

JavaScript 面试 前端 DOM 10月月更

final、finally、 finalize 有什么不同?

共饮一杯无

Java final 10月月更

OKR之剑·理念篇04:让OKR轻松上阵

vivo互联网技术

团队管理 OKR

手写一个Redux,深入理解其原理-面试进阶

beifeng1996

React

7:数据库设计思维-MySQL

Yeats_Liao

数据库 后端 10月月更

你真的了解过插槽Slot吗🔥

渔戈

前端 Vue3 10月月更

动态组件、异步组件以及生命周期和v-model🔥

渔戈

前端 Vue3 10月月更

MobTech 修改已审核通过的秒验产品信息

MobTech袤博科技

开发者 sdk 秒验 手机验证码认证

安全沙箱隔离企业风险

Geek_99967b

小程序

AntDB-M设计之CheckPoint

亚信AntDB数据库

AntDB aisware antdb AntDB数据库 企业号十月PK榜 企业号十月 PK 榜

5:数据类型-MySQL

Yeats_Liao

数据库 后端 10月月更

前端react面试题(边面边更)

beifeng1996

React

python爬取csdn个人首页信息以及博客

木偶

Python 爬虫 10月月更

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