hadoop—hdfs中的高吞吐量与低延迟

lymgl2op  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(1227)

我试着用我自己的话来定义hdfs中的高吞吐量和低延迟意味着什么,并给出了以下定义:
hdfs经过优化,可以更快地访问数据集的批处理(高吞吐量),而不是访问该数据集中的特定记录(低延迟)
有道理吗?:)
谢谢!

olqngx59

olqngx591#

我认为您所描述的更像是针对不同访问模式(顺序、批处理与随机访问)进行优化之间的区别,而不是纯粹意义上的吞吐量和延迟之间的区别。
当我想到一个高延迟系统时,我并不是在考虑访问哪个记录,而是考虑访问任何记录都会有很高的开销。从hdfs中访问文件的第一个字节也可能需要大约一秒钟或更长的时间。
如果你更倾向于定量,你可以考虑访问一系列记录所需的总时间 T(N)=aN+b . 在这里, a 表示吞吐量,以及 b 表示延迟。对于hdfs这样的系统,n通常非常大 b 变得无关紧要,取舍低 a 是有益的。与此形成对比的是低延迟数据存储,在这种存储中,每次读取通常只访问一条记录,然后针对低延迟进行优化 b 这样更好。
话虽如此,你的说法并不错误;确实如此,通常情况下,批访问存储具有高延迟和高吞吐量,而随机访问存储具有低延迟和低吞吐量,但严格来说并非总是这样。

jdg4fx2g

jdg4fx2g2#

我要试试这个。
低延迟数据访问:我按enter键(或submit按钮),最多在几秒钟内得到结果。我的数据库查询时间应该是次秒。高吞吐量的数据:我想扫描数百万行的数据和计数或总和一些子集。我预计这将需要几分钟(或更长的时间取决于复杂性)才能完成。想想更多的批式工作。
注意:这实际上也是一个map/reduce问题。m/r作业的设置和处理需要一些开销。现在有几个项目正在朝着降低延迟的数据访问方向发展。
此外,hdfs将数据存储在块中,并将它们分布在多个节点上。这意味着(几乎)总是需要一些网络数据传输来获得最终答案,这会“减慢”速度,这取决于吞吐量和其他各种因素。
希望有帮助。:)

相关问题