Почему блок в HDFS такой большой?

Может кто-нибудь объяснить этот расчет и дать ясное объяснение?

Быстрый расчет показывает, что если время поиска составляет около 10 мс, а скорость передачи составляет 100 МБ/с, чтобы сделать время поиска 1% от времени передачи, нам нужно сделать размер блока около 100 МБ. По умолчанию на самом деле 64 МБ, хотя многие установки HDFS используют блоки 128 МБ. Этот показатель будет по-прежнему пересматриваться в сторону увеличения, поскольку скорости передачи растут с новыми поколениями дисковых накопителей.

Ответ 1

Блок будет храниться как непрерывный фрагмент информации на диске, а это означает, что общее время его полного считывания - это время, чтобы найти его (время поиска) + время, чтобы прочитать его содержимое, не делая больше запросов, т.е. sizeOfTheBlock / transferRate = transferTime.

Если мы сохраняем отношение seekTime / transferTime маленьким (близко к 0,01 в тексте), это означает, что мы читаем данные с диска почти так же быстро, как физический предел, наложенный на диск, с минимальным временем, затраченным на поиск информации,

Это важно, так как на картах сокращения заданий мы обычно просматриваем (считываем) весь набор данных (представленный файлом HDFS или папкой или набором папок) и выполняем на нем логику, так как нам приходится тратить полный transferTime в любом случае, чтобы вывести все данные с диска, попытайтесь свести к минимуму время, затрачиваемое на поиск и чтение большими кусками, следовательно, большой размер блоков данных.

В более традиционном программном обеспечении для доступа к диску мы, как правило, не читаем весь набор данных каждый раз, поэтому мы скорее потратим больше времени на выполнение большого количества запросов на меньших блоках, вместо того, чтобы потерять время, передавая слишком много данных, которые мы не будем необходимость.

Ответ 2

Так как 100mb разделено на 10 блоков, вы должны сделать 10 запросов и скорость передачи (10/100) мб/с для каждого файла. (10 мс * 10) + (10/100 м/с) * 10 = 1,1 с. который в любом случае больше 1.01.

Ответ 3

Так как 100 МБ разделен на 10 блоков, каждый блок имеет 10 МБ, только если он HDFS. Тогда это должно быть 10*10ms + 10mb/(100Mb/s)= 0.1s+ 0.1s= 0.2s и еще меньшее время.