写点什么

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

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

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

关注

评论

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

搞服务器开发竟不知道宝塔为何物,有点说不过去呀!

liuzhen007

5月日更

腾讯校招都会问些什么?| 五面腾讯(Java岗)经历分享

Java架构师迁哥

2021金三银四面试经历:阿里七面(已拿offer),面试经历+真题分享

Java 编程 程序员 架构 面试

终于来了!这份阿里P9纯手写的Java并发核心手册,把我没学会的高扩展、高性能、高可用全部讲清楚了

Java 程序员 架构 面试

有无社保缴纳识别接口

ALone

图说丨一图看懂浪潮云“1231”业务战略

关于打的 umd 包在使用时,报 require is not defined 错误的问题出处

blueju

架构实战营模块四作业

竹林七贤

高性能 JavaScriptの笔记(三)

空城机

JavaScript 大前端 5月日更

被解救的代码 - 代码即服务时代来了!

阿里巴巴云原生

容器 微服务 开发者 云原生 开发工具

中国区块链第一村的价值裂变

CECBC

从基础到实战一应俱全,这份全网首发的Kafka技术手册,超详细!

Java架构师迁哥

如何给产品定价

石云升

创业 产品 职场经验 5月日更

完蛋,好像病了

IT蜗壳-Tango

5月日更

“碳中和”目标下的绿色金融探索

CECBC

金融

爱奇艺世界大会|开幕式速览:智能制作助推影视工业化,匠心构筑行业健康生态

爱奇艺技术产品团队

Flink消费Kafka

大数据技术指南

大数据 flink 5月日更

新融合,新跳板:智能云网如何让企业数字化转型,起步即领先?

脑极体

架构实战营模块四总结

竹林七贤

Netty常用解码器学习笔记

风翱

Netty 5月日更

业界率先支持 MCP-OVER-XDS 协议,Nacos 2.0.1 + 1.4.2 Release 正式发布

阿里巴巴云原生

容器 微服务 云原生 k8s 中间件

“技术+应用”驱动金融科技创新融合

CECBC

金融

爱奇艺世界大会|刘文峰:科技创新如何为用户和艺术家服务?

爱奇艺技术产品团队

从0到1数字化转型的“精益落地”模式

高瑞

用ABAP 生成二维码 QR Code

汪子熙

二维码 SAP abap

CRM Transaction处理中的权限控制

汪子熙

CRM SAP abap

2021最热门的20个数据库学习总结,你会用哪几个?

北游学Java

Java MySQL 数据库 后端

五岳核心版上线!这份阿里开发手册核心版又将被多少人疯狂转载?

Java 编程 程序员 架构 面试

5分钟速读之Rust权威指南(三)

wzx

rust

4年Java开发经验,经常被问到高并发、性能调优方面的问题,该怎么办?

Java架构师迁哥

数据挖掘从入门到放弃(四):手撕(绘)关联规则挖掘算法

数据社

机器学习 5月日更

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