写点什么

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

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

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

关注

评论

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

#不吐不快# CV千千条,修改最重要。代码不规范,伙伴两行泪!

程序员小航

奇葩的经历 不吐不快

SpringBoot:整合Swagger3.0与RESTful接口整合返回值(2020最新最易懂)

比伯

Java 编程 架构 面试 计算机

一次 Java 进程 OOM 的排查分析(glibc 篇)

996小迁

Java 编程 架构 面试 计算机

区块链,音乐,流媒体和版税

CECBC

区块链 艺术

Nginx-技术专题-技术介绍

洛神灬殇

Jira停售Server版政策客观解读——如何最小化风险?

爱吃小舅的鱼

项目管理 研发管理 Jira Atlassian

Glide.with(view)挂在了谁的生命周期上

mengxn

生命周期 Glide Activity Fragment

#不吐不快# 三观很正的Boss,你遇到过么?

架构精进之路

职场成长 奇葩的经历 不吐不快

DàYé的CTO姗姗学步路

曲水流觞TechRill

管理 CTO

SQL数据库:窗口函数

正向成长

窗口函数

圆通快递回应内鬼泄露用户信息:严打数据倒卖灰色产业

石头IT视角

区块链在债券市场如何应用

CECBC

区块链 债券

什么是云服务?

anyRTC开发者

音视频 WebRTC 云服务 RTC

【活动回顾】WebRTC服务端工程实践和优化探索

ZEGO即构

WebRTC 服务端工程

什么是低代码(Low-Code)?

移动研发平台EMAS

工具 研发效能 低代码 开发 代码

一瞬间让我秒变“快男”!腾讯内部强推Java性能优化手册,快了不止一点点。

Java架构追梦

Java 架构 jdk 面试 性能优化

《垃圾回收的算法与实现》.pdf

田维常

垃圾回收

太赞了!腾讯T3-3架构师整理了5000页的Java学习手册免费开放下载

Java架构之路

Java 程序员 架构 面试 编程语言

Dubbo 接口,导出 Markdown ,这些功能 DocView 现在都有了!

程序员小航

markdown idea插件 IntelliJ IDEA 文档生成 Doc View

CSS 排版与正常流 —— 重学CSS

三钻

CSS 排版

前嗅教你大数据——什么是代理IP?

前嗅大数据

爬虫 数据采集 静态IP 代理IP 动态IP

synchronized 到底该不该用

古时的风筝

Java synchronized

云原生2.0时代下,DevOps实践如何才能更加高效敏捷?

华为云开发者联盟

云计算 数字化 华为云

小学妹问我:如何利用可视化工具排查问题?

田维常

可视化

MySQL从库维护经验分享

Simon

MySQL 主从复制

高性能利器!华为云MRS ClickHouse重磅推出!

华为云开发者联盟

数据库 Clickhouse MRS

IoT企业物联网平台,从设备端到云端业务系统全链路开发实战

不吃米饭

阿里云 最佳实践 物联网 IoT

科普干货|漫谈鸿蒙LiteOS-M与HUAWEI LiteOS内核的几大不同

华为云开发者联盟

华为 鸿蒙 IoT

年轻人不讲武德不仅白piao接口测试知识还白piao接口测试工具会员

测试人生路

接口测试

【涂鸦物联网足迹】涂鸦云平台消息服务—顺带Pulsar简单介绍

IoT云工坊

人工智能 物联网 云服务 Apache Pulsar 云平台

分布式事务太繁琐?官方推荐Atomikos,5分钟帮你搞定

互联网应用架构

分布式事务 springboot

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