写点什么

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

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

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

关注

评论

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

解读金融高频交易不出错的金手指:分布式事务管理

华为云开发者联盟

微服务 事务 华为云 数据一致性 分布式事务管理

工业机器视觉系统相机如何选型?

不脱发的程序猿

工业物联网 4月日更 LabVIEW 工业视觉 工业机器视觉

「 最具技术影响力企业号 TOP10 」—— InfoQ 写作平台【 1 周年盛典 】

InfoQ写作社区官方

1 周年盛典 热门活动

java中三种内存溢出错误的处理方法

Sakura

4月日更

2021金三银四面试必备?体系化带你学习:分布式进阶技术手册

比伯

Java 架构 程序人生 编程语言 技术宅

全网下载量过亿!12万字阿里内部Java面试手册有多强?

Java架构追梦

Java 架构 面试 成长笔记 阿里巴巴内部资料

Kubenav: 使用手机管理你的 K8S 集群

郭旭东

Kubernetes k8s多集群管理

区块链结合农业产业,平台全程溯源

电微13828808271

架构师训练营 模块2作业

eoeoeo

架构实战营

app启动速度优化,分享一点面试小经验,最全的BAT大厂面试题整理

欢喜学安卓

android 程序员 面试 移动开发

anyRTC 实时音视频打造安全合规壁垒

anyRTC开发者

网络安全 WebRTC RTC

Kotlin @inline内联函数

季浩田 🍙

kotlin inline

Mokito 单元测试与 Spring-Boot 集成测试

Zhang

Java 单元测试 集成测试 Mokito Spring boot starter test

源中瑞区块链Baas平台--助力区块链应用落地

13530558032

什么是自然语言处理(NLP)?

澳鹏Appen

人工智能 自然语言处理 聊天机器人 nlp 自然语言

MySQL数据库函数、DCL详解(及备份恢复操作)

若尘

MySQL 数据库 备份 DCL

Java 面试题目最全集合1000+ 大放送,能答对70%就去BATJTMD

钟奕礼

Java 编程 程序员 架构 面试

上次挂在了京东(Java岗)二面不服气,这次终于拿下offer,皇天不负有心人了也是!

钟奕礼

Java 编程 程序员 架构 面试

C统计量/ C statistic

Geek_Goldensikaiqi

翻译:《实用的Python编程》09_00_Overview

codists

Python

PHPStorm 安装Xdebug插件开启单步调试

慢慢de

win10 Xdebug PHPStorm

如何使用iMazing将iPhone的数据迁移到iPad

懒得勤快

iphone ipad 苹果 数据迁移 数据备份

项目管理之相关方管理

Geek_XOXO

项目管理 复盘 相关方管理

GopherChina 2021 定了,干货满满的来了

GoCN技术社区

Go 语言 GopherChina

安卓rxjava使用,现在做Android开发有前途吗?附面试题答案

欢喜学安卓

android 程序员 面试 移动开发

BOE(京东方)2020年报发布:营收1355.53亿元  净利润大幅增长162.46%

爱极客侠

区块链商品溯源平台--全流程捍卫食品安全

13530558032

区块链“数据上链”管理系统

电微13828808271

1000道最新整理的Java 技术考题及解答,抢先直通TMDBATJW拿高薪

钟奕礼

Java 编程 程序员 架构 面试

币安智能链智能合约Dapp系统开发技术

薇電13242772558

智能合约

DNS原理及其应用

赖猫

c++ 后台开发 网络编程 DNS 服务器开发

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