Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据存储系统的 80/20 法则

数据存储系统的 80/20 法则

作者头像
CSDN技术头条
发布于 2018-02-09 03:00:41
发布于 2018-02-09 03:00:41
1.8K0
举报
文章被收录于专栏:CSDN技术头条CSDN技术头条

80/20法则通常被认为是源于意大利经济学家维尔弗雷多·帕累托。帕累托出生于1848年,他是(至少被认为是)占领运动的早期成员之一。他发现意大利国家财富的80%是掌握在几乎少于20%的人口手中的。由此发散开来看,80/20法则在其他方面的应用同样值得注意,也是很有趣的:因为帕累托观察发现他的园子里的80%的豌豆产自于20%的作物上(他似乎更喜欢数豌豆而不是其他豆子,哈哈)。无论如何,帕累托是不相信均匀分布的理论的。

帕累托原则,以及由此而来的统计学观点“帕累托分布”被看作是统计学幂率的一个实例,它在理解存储器访问模式上也有出人意料的相关性。这就是为什么应用负载、访问磁盘的问题更接近于帕累托分布而不是均匀的随机分布:即大部分的I/O请求访问少量的热门数据,而大量的冷门数据的访问频率远低于此。

我们的系统是由冷数据和热数据混合组成的,这是一个众所周知的事实。混合介质存储系统技术引起了热烈的争议,它也被应用于为Facebook这种规模的应用程序设计存储系统。问题就在这里:通过给数据分配不均等的资源可以给类似帕累托分布的结构更好的支持。使用多种存储介质来代替同介质存储系统,这样的分配就可以让我们从那些不经常访问的数据处夺来资源补贴给那些经常被访问的数据。

对帕累托原则的误解导致了构建和度量存储系统时的诸多混乱。例如有些闪存芯片供应商坚持认为在单一、同介质的闪存芯片上构建完全基于闪存的存储系统就能很好的满足工作负荷的要求。从这个角度来看,同介质纯闪存的系统还是高效的“共产主义”存储呢。他们理想化的决定投资这种给所有数据分配均等资源的方案,这导致了资源层面的开支与数据访问层面的开支严重不对等,哎,还是在这里多关注一些吧。

让我们看一下真实的工作数据

为了解释存储的工作负载数据到底有多么的不一致,我们来看一组真实的数据。我们最近对11个开发者桌面存储数据进行了为期一年的跟踪记录。随着时间的推移,对这些数据集的分析变得很有趣,因为它包含了一个很长时间段内的大量数据:存储的轨迹记录,比如SNIA保存的数据就非常的小(一天内的总小时)或者精确度也很低。总的来说,为期12个月的跟踪记录了大概76亿次的IO操作和在5TB存储数据上进行的超过28TB传输量。

我想通过快速的总结这些数据,指出一些有趣的东西,获取能对你的思考如何规划你的数据存储有些帮助。

上面第一个图表,显示的是所有存储数据在结束trace时的时间。5.1TB的数据被存储在11个桌面,3.1TB的数据在整整一年中没有被访问。因此,可以通过一整年都没有被改变数据来决定那些冷数据被存储在哪个位置。

在另一方面,我们看到仅有627GB,或者大约21%的数据有在一个月内被访问。在更短的时间段里,我们看到类似的级数增长。这个初始容量/时间分析,仅仅是用于验证我们对于访问分布的假设,那么,现在让我们看一个更有趣的现象…

32 GB 4.5 TB (35%) 64 GB 5.9 TB (46%) 128 GB 8.0 TB (62%) 256 GB 10.7 TB (84%) 512 GB 12.6 TB (98%) 1 TB 12.8 TB 缓冲大小… …对应的请求量.

如上图所示,我把一年来实际的访问量同逐渐递增的“热门”数据进度条对应起来。通过上图,我们对一年来的访问数据有了两个方面的新认知。第一个认知是:这张图罗列出了所访问的数据量,通过它我们可以计算出命中率。如果使用“最近最少访问”(LRU)模型作为填充高速内存方法,那么我们就可以推断图中上半部分(即缓冲)所提供的请求率是多少。如果你把鼠标滚动到上图中,你就能看到命中率是怎样随着系统中高速内存的增加而增长的。

第二个认知是:通过这张图,我们可以计算出数据的一般性访问成本。不是推断每GB存储上我们所花费的费用,而是看看纯粹访问所花费的费用。我完全随意地选择了最小缓冲的大小,即以32GB为高速缓存的最小单位,此时我计算出每访问1GB的数据所花费为1美元。为了提高命中率,我们不断地增加高速存储的数量,现在我们看看这种情况下会出现怎样的情形。为了提高命中率,你不得不一而再再而三成倍地增加高速缓冲的时候,你会发现实际的数据访问量却在相对的减少。因此,你就会很容易地得出访问数据的成本将会更贵。在我们的例子里,要实现100%的命中率所花费的金钱是我们最初使用最小高速缓存实现35%命中率所花费的11倍多。

确定进行不同投入

现在,我们要弄清楚我上面所讨论的事情:我讨论的不是你应当满足35%的命中率。相反,我讨论的是:你花费在访问存储条尾部的资金–即花费在提高根本就没有任何访问的3.1TB性能方面的资金-可能没有花费到正确的地方。我认为资金花费在提高较热门数据访问性能方面会更好一些。

这就是近来我在存储讨论日的第六期或多或少提到的,同时在Coho office的一系列生动的博客日志中提出来的论点。我还说明了当今存储技术方面正在发生的某些显著的技术革新,尤其是现在三种大量使用的固态存储的连接方式(SATA/SAS SSDs,PCIe/NVMe和NVDIMM),它们每一种的费用和性能都差别非常大。

因此,为了获得优异的性能,即便不使用磁盘,存储系统仍然需要使用多种介质,实现混合存储。我发现这就是”混合存储“和”全闪存阵列”(AFA)被误解的原因。对仍然使用磁盘做存储者来说,混合存储系统并不是一个廉价存储系统,它只是一个把更多的钱花费在存放热门数据的高性能存储上的一种存储框架。与此类似,全闪存阵列(AFA)也可以由三个(或者更多)种存储介质组合而成,这也是混合存储。

Coho的存储栈持续不断地监视和描绘工作负载,并适当地分配存储以提高性能,同时汇报你所运行的应用的工作性能。不久前,我们在顶级系统研究会议上发布了令人激动的新算法。如果你想了解更多,(上面链接处)我的存储讨论日展示概要地介绍了工作负载监控和自动分级设计,即分层设计。

非均匀分布无处不在。正是由于帕雷托的观察,各种类型的系统设计才得益于集中力量尽可能高效地做最流行的事情这样的理念。类似这样的设计也使得高速公路和乡间公路设计、中心城市交通系统设计、互联网核心路由设计以及许多Netflix入门级系列课程设计上都有所不同。存储系统也不例外,而且建设存储系统需要仔细地对工作负载响应进行分析,这样才能正确地确定存储规模,适应存储工作区的特性。

结尾语:

这篇文章最顶端的图片是一张旧的讽刺斯科特纸巾商业公司的图片。其社交网页上对其的评论。

非常感谢Jake Wires和Stephen Ingram,他们投入了大量的工作对这篇文章所采用的数据进行跟踪采集、处理和分析。这儿进行的大量分析是对Coho的Counter Stack引擎查询后得到的结果。还要感谢Stephen帮助开发和调试了界面功能,它使用了由Mike Bostock开发的优秀的D3js库。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSDN技术头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用YCSB进行HBase性能测试
在集群上运行任何性能基准测试工具时,关键的决定始终是应该使用什么数据集大小进行性能测试,并且在这里我们演示了为什么在运行HBase性能时选择“合适的”数据集大小非常重要在您的集群上进行测试。
大数据杂货铺
2021/01/08
3.2K0
使用YCSB进行HBase性能测试
一文读懂温冷数据存储的技术选型
目前,在对象存储领有很多的使用场景。通常来说,支持AWS的S3协议,就可以把它归类于对象存储。对象存储还有一些特征,比如没有目录数的结构,所以理论上可以存储无限量的对象或者是文件,而且性能不会有太大的降低。
昆腾Quantum
2023/10/27
5300
一文读懂温冷数据存储的技术选型
今日软荐:25.4K Star 高效内存数据存储!特别好用的Redis 和 Memcached 替代品:Dragonfly!
Dragonfly 是一款全新的高性能内存数据存储系统,专为高并发、低延迟的应用场景设计。
Python兴趣圈
2024/09/24
1820
今日软荐:25.4K Star 高效内存数据存储!特别好用的Redis 和 Memcached 替代品:Dragonfly!
KIOXIA:灵活数据放置(FDP)- 存储架构师必知的技术
在现代存储系统中,数据的高效管理和存储优化是提升性能和延长设备寿命的关键。随着存储介质的多样化和技术的不断进步,如何在复杂的存储环境中实现数据的灵活放置,成为了存储架构师们关注的焦点。
数据存储前沿技术
2025/02/11
3030
KIOXIA:灵活数据放置(FDP)- 存储架构师必知的技术
FAM与CXL:HPC存储架构的未来机遇
在高性能计算(HPC)领域,存储技术的创新一直是推动计算能力提升的关键。随着数据规模的不断增长和计算需求的日益复杂,传统的存储架构已逐渐无法满足需求。HPE通过其创新的FAM(Fabric-Attached Memory)和CXL(Compute Express Link)技术,为HPC存储架构带来了新的可能性。本文将深入探讨这些技术的核心原理、应用场景以及未来的发展机遇,帮助读者全面理解FAM和CXL在HPC中的重要性。
数据存储前沿技术
2025/02/21
1600
FAM与CXL:HPC存储架构的未来机遇
Solidigm:NVMe SSD 在AI存储中的价值
文章探讨人工智能和机器学习(AI/ML)数据管道中的存储解决方案,强调了固态硬盘(SSD)尤其是NVMe SSD在不同阶段的应用价值。
数据存储前沿技术
2025/02/11
3040
Solidigm:NVMe SSD 在AI存储中的价值
Samsung:大容量QLC-SSD 的若干问题
固态硬盘(SSD)作为高性能存储的主流选择,其容量也在不断突破极限。为了满足这一需求,存储行业正积极推动更高密度 NAND 闪存技术的应用,其中四层单元(QLC)技术因其更高的存储密度而备受关注。然而,QLC 技术在带来容量飞跃的同时,也带来了性能、耐用性和服务级别协议(SLA)等方面的挑战。理解这些挑战并探索相应的解决方案,对于充分发挥高容量 SSD 的潜力至关重要。本文将深入探讨高容量 QLC SSD 的技术特性、面临的挑战,以及行业为应对这些挑战所做的努力,特别是大块大小(LBS)等创新技术如何影响未来的存储格局。
数据存储前沿技术
2025/05/06
1470
Samsung:大容量QLC-SSD 的若干问题
分布式缓存
是介于数据访问者和数据源之间的高速存储,当数据需要多次读取的时候用于加快读取速度。
BUG弄潮儿
2023/02/24
6890
分布式缓存
Samsung:FDP +CacheLib 改善写放大与时延
本文介绍了在CacheLib中实现FDP(Fast Data Placement)集成的研究方法和结果。
数据存储前沿技术
2025/02/11
2550
Samsung:FDP +CacheLib 改善写放大与时延
NVIDIA:LLM集群存储IO行为(实测数据)
按:本文含NV-H100计算集群真实数据,实测训练时:文件写入、训练期间、检查点写入三个主要阶段的存储系统IO/带宽特征,并讨论了基于异步写入扩展检查点写入带宽。
数据存储前沿技术
2025/02/11
1320
NVIDIA:LLM集群存储IO行为(实测数据)
LogDevice:一种用于日志的分布式数据存储系统
说到日志,它就是一个将有序序列的不可变记录记下来,并将此记录可靠地保存下来的最简单的方法。如果想要构建一套数据密集型分布式服务,你可能需要一两套日志。在Facebook,我们构建了许多用来存储和处理数据的大型分布式服务。在Facebook,我们如何做到想要即连接数据处理管道的两个阶段,又无需担心数据流管控或数据丢失的呢?就是让一个阶段写入日志,另一个阶段从这个日志读取。那么如何去维护一个大型分布式数据库的索引呢?就是先让索引服务以适当的顺序应用索引更改,然后再来读取更新的日志。那要是有一个系列需要一周后再以特定顺序执行的工作呢?答案就是先将它们写入日志,让日志使用者滞后一周再来执行。一个拥有足够能力进行写入排序的日志系统,可以将你希望拥有分布式事务的梦想成为现实。既然如此,要是有持久性方面的顾虑?那就去使用预写日志吧。
山月
2020/05/26
1.1K0
LogDevice:一种用于日志的分布式数据存储系统
挑战存储“不可能之三角”:用自研技术引领存储性能突破
然而,随着非结构化数据在生产业务中的广泛应用,各行各业正在经历数据量的爆炸式增长。虽然分布式存储在大众认知内具有高性价比和高扩展性,却未被赋予高性能的标签。
科技云报道
2024/01/10
3190
挑战存储“不可能之三角”:用自研技术引领存储性能突破
10万人的邮箱存储系统,应该这么搭
邮件系统平台作为每个企业不可或缺的业务系统,已经不仅仅是单纯的信息传送工具,更是关系到企业决策流程、数字资产管理的核心关键业务系统。
用户6543014
2019/12/31
1.6K0
10万人的邮箱存储系统,应该这么搭
当“数据为中心”时代来临
熟悉存储发展趋势就会知道:如今冯·诺依曼架构备受挑战,简单说,当数据为中心时代到来,要求计算围着数据转,以减小数据搬移带来的性能瓶颈以及功耗,所谓解决“存储墙”问题,而冯·诺依曼架构是一个以计算为中心的架构,新的时代要求创新的架构。
用户5498443
2021/08/25
1.3K0
Kudu:一个为大数据快速分析量身定制的新型Apache Hadoop存储系统
Apache Hadoop提供了一系列数据存储与处理的组件,覆盖了多种多样、应用于企业级关键服务的用户案例。在Cloudera,我们一直在努力探索Hadoop的各种可能性,拓展Hadoop的边界——使得Hadoop更快、更好用、更安全。
IT阅读排行榜
2018/08/13
6600
Kudu:一个为大数据快速分析量身定制的新型Apache Hadoop存储系统
月之暗面:存储换算,倍增LLM推理效率
在AI大模型时代,用户对实时交互体验的要求与日俱增。大型语言模型(LLM)的推理延迟成为制约用户体验的核心痛点,其关键参数TTFT(首Token时延)和TBT(令牌间时延)直接决定着对话流畅度。传统系统在处理长上下文查询时面临三大困境:GPU算力不足、缓存复用率低、存储带宽瓶颈。
数据存储前沿技术
2025/03/17
5050
月之暗面:存储换算,倍增LLM推理效率
存储性能加速引擎之预读
顺序预读(prefetch,在Linux中也称为预读,read ahead)是一种用于提升顺序读性能的技术,用于缩小存储设备和应用程序之间巨大的效率差距。Linux内核在通用预读框架中执行顺序文件预读,它主动拦截VFS层中的文件读取请求,并将顺序的请求转换为异步预读请求,为即将到来的请求引入数据块,并在大块中进行。
焱融科技
2020/07/20
2.6K0
存储性能加速引擎之预读
GooseFS 在云端数据湖存储上的降本增效实践
GooseFS 是腾讯云对象存储团队面向下一代云原生数据湖场景推出的存储加速利器,提供与 HDFS 对标的 Hadoop Compatible FileSystem 接口实现,旨在解决存算分离架构下的云端大数据/数据湖平台所面临的查询性能瓶颈和网络读写带宽成本等问题。使得基于腾讯云 COS/CHDFS 的大数据/数据湖平台在现有生产集群上获得等同甚至超越本地 HDFS 性能的计算体验。其设计应用场景如下:
云存储
2022/06/14
3.6K5
GooseFS 在云端数据湖存储上的降本增效实践
全面拆解实时分析数据存储系统 Druid
作者 | Micah Lerner 译者 | 明知山 策划 | 蔡芳芳 本文对论文“Druid:一个实时分析数据存储系统”进行了概括总结,对 Druid 的架构、存储格式、查询 API 等进行了简要介绍。如需深入了解更多的细节,请查看论文原文。 这篇论文研究的是什么 Druid 是一个开源数据库,可以实现低延迟的近实时和历史数据分析。Druid 最初是由广告技术公司 MetaMarkets 开发的,后来被 Snap 收购,现在已被 Netflix、Confluent 和 Lyft 等公司应
深度学习与Python
2023/03/29
9580
全面拆解实时分析数据存储系统 Druid
谁让存储的未来不再忧伤?我们来细品一二
半导体技术的出现和普及,让存储介质与存储模式发生了翻天覆地的变化,使用二进制记录和存储数据成为整体存储模式的主流。
用户6543014
2020/03/10
5300
谁让存储的未来不再忧伤?我们来细品一二
推荐阅读
相关推荐
使用YCSB进行HBase性能测试
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档