Я работаю с множеством наборов данных размером в десятки ГБ, обычно разделенных на несколько файлов. Выполнение любых операций с данными (grep, sed, поиск, чтение / запись в / из баз данных и Hadoop) с этими файлами, конечно, очень медленное и требует много времени. До сих пор я использовал любой HD, который я мог получить по хорошей цене - обычно Seagates при 5400 или 7200 об / мин.
Пришло время обновить HD. На какие параметры следует обращать внимание для описываемого мной типа работы? Скорость вращения шпинделя? Интерфейс? Ищете время и производительность? Я читал разные вещи, некоторые из которых не имеют значения, поэтому я запутался.
Я могу предоставить дополнительную информацию, если этого недостаточно.
По возможности используйте более одного диска - разделите их на уровне ОС или заставьте Hadoop распределять данные по нескольким дискам - поиск нескольких шпинделей значительно повысит производительность и будет дешевле, чем SSD.
Время поиска не так важно для операций сканирования / анализа полных данных (при условии, что вы используете плоские файлы или современную масштабируемую базу данных, такую как Hypertable, вместо традиционной базы данных на основе B-Tree *, которая потребует значительных случайных поисков для сканирования больших таблиц. при случайном вводе-выводе жестких дисков для работы с большим набором данных вы определенно сделаете это неправильно.
Наиболее важными факторами для этого типа работы являются необработанная устойчивая (некэшируемая) последовательная пропускная способность чтения / записи и возможность обрабатывать несколько сканирований одновременно без ухудшения до случайных шаблонов ввода-вывода. На одном из этих сайтов есть хороший тест для дисков SATA емкостью 1+ ТБ. Он показал, что цифровые накопители Seagate и Western довольно хорошо справляются с обработкой нескольких сканирований, в то время как диски Samsung резко деградируют, когда выполняется более одного сканирования.
Скорость шпинделя, безусловно, важна, как и время поиска. Но самая важная вещь для работы с большими файлами базы данных - это возможность произвольного чтения / записи (то есть получение большого количества данных из всех различных областей диска, в отличие от последовательного чтения / записи, где все данные находятся в порядок на диске)
В этом SAS абсолютно превосходит другие. С обычным диском IDE или SATA, если у вас есть четыре непоследовательных фрагмента данных, а запросы принимаются в определенном порядке, то накопитель должен совершить полный оборот, чтобы получить каждый отдельный фрагмент данных.
При использовании SAS контроллер упорядочит запросы в том порядке, в котором они могут быть лучше всего обслужены, а затем упорядочит их так, чтобы несколько фрагментов данных могли быть получены за один оборот, если это возможно. Так что только потому, что запросы поступают как A B C D, диск SAS может обслуживать их в A D C B, потому что это порядок, в котором они находятся на физическом диске. Обычный диск SATA / IDE может обслуживать их только A B C D, даже если это не оптимальный порядок.
Твердотельные накопители здесь действительно помогут, если вы можете себе их позволить.