我试图用我自己的话来定义HDFS中高吞吐量和低延迟意味着什么,并给出了以下定义:
HDFS被优化为更快地访问批量数据集(高吞吐量),而不是在该数据集中的特定记录(低延迟)。
这有道理吗?)
谢谢!
发布于 2013-05-23 21:26:10
我认为,您所描述的更像是对不同访问模式(顺序访问、批处理访问和随机访问)进行优化之间的区别,而不是最简单意义上的吞吐量和延迟之间的差异。
当我想到一个高延迟的系统时,我并不是在考虑我正在访问的是哪一条记录,而是认为访问任何记录都有很高的开销。从HDFS访问文件的第一个字节也需要花费大约一秒钟或更多的时间。
如果您更倾向于从数量上考虑访问许多记录N作为T(N)=aN+b所需的总时间。在这里,a代表吞吐量,b代表延迟。对于HDFS这样的系统,N通常是如此大,以至于b变得无关紧要,有利于低a的权衡也是有益的。相比之下,低延迟数据存储通常只访问单个记录,然后对低b进行优化会更好。
尽管如此,您的声明并不是不正确的;它肯定是正确的,而且通常是批处理访问存储具有高延迟和高吞吐量,而随机访问存储具有低延迟和低吞吐量,但并不总是如此。
发布于 2014-01-05 22:03:01
我要在这一场比赛中挥杆。
低延迟数据访问:我按下enter键(或submit按钮),最多几秒钟就能得到结果。我的数据库查询时间应该是秒级的。高吞吐量的数据:我想扫描数以百万行的数据和计数或和一些子集。我预计这将需要几分钟(或更长的时间取决于复杂性)来完成。考虑更多批处理式的作业。
注意:这也是一个地图/减少问题。M/R作业的设置和处理需要一些开销。现在有几个项目正在朝着低延迟数据访问的方向发展。
此外,HDFS将数据存储在块中,并在多个节点上分发数据。这意味着(几乎)总是需要一些网络数据传输才能得到最终答案,而“慢”的事情会稍微慢一点,这取决于吞吐量和其他各种因素。
希望这能有所帮助。:)
https://stackoverflow.com/questions/16718095
复制相似问题