Нам нужно выполнять произвольное чтение (поиск) блоков по 5 КБ из огромного файла (150 гигабайт). Какой жесткий диск лучше всего подходит для этого типа? Какова ожидаемая производительность SSD в этом сценарии?
Я слышал, что SSD отлично справляется с произвольным чтением, но, возможно, не при таком маленьком размере блока.
Дэйв Чейни дал отличный ответ, сделав акцент на штрафах SSD за запись.
Если диск используется почти исключительно для чтения, твердотельные накопители имеют абсолютное значение. «Лучшие» диски в целом, с учетом зрелости контроллера и встроенного ПО, стабильной производительности и цены, - это Intel X25-M (ainstream). G2 и X25-E (xtreme).
X25-E использует флэш-память SLC и предназначен для использования на сервере. Однако, если нагрузка записи очень мала, вы также можете рассмотреть X25-M для более интенсивного использования. Основное преимущество флеш-памяти SLC в E - это значительно улучшенная стойкость к записи.
Вы можете увидеть случайное чтение блока размером 4 КБ производительность обоих приводов здесь. Обратите внимание на механический привод со скоростью 10 000 об / мин в нижней части таблицы. Я быстро резюмирую результаты Anantech:
На пути к рынку есть несколько интересных SSD-накопителей, но они еще не совсем готовы. Intel не собирается обновлять свои твердотельные накопители до четвертого квартала этого года. Поэтому я бы выбрал текущую линейку Intel, возможно, подключенную к (быстрому, современному) RAID-контроллеру.
Fusion I / O - самые быстрые накопители, доступные на данный момент. Я думаю, что в будущем все высокопроизводительные твердотельные накопители будут использовать шину PCI-Express, как это уже делает Fusion I / O. Прямо сейчас Fusion I / O чертовски дорог, но его стоит задуматься, если ваша рабочая нагрузка транзакционная с большим количеством операций записи.
У меня возникнет соблазн использовать диск FusionIO (КЛИКИ), мы протестировали их, и они ОГЛУШАЮЩИЙ даже по сравнению с самыми быстрыми твердотельными накопителями, но они недешевы, при этом, помимо RAM-диска, они примерно такие же быстрые, как вы можете получить (> 600 МБ / с), независимо от размера блока.
SSD отлично читают случайные блоки любого (разумного размера), где они падают, записывает данные. Традиционные жесткие диски с вращающейся ржавчиной позволяют перезаписывать данные на уровне секторов (традиционно 512 байт, хотя сейчас доступны более крупные размеры секторов), то есть минимальные данные, которые вы можете записать на диск, физически составляют 512 байт. Даже если вы измените 1 байт файла, ОС перезапишет весь сектор (возможно, даже весь блок размером 4096 байт).
SSD имеют представление о страницах, которые больше (где-то более сотен килобайт). Страница может быть записана в размер сектора, но только стереть в страница размер. Поэтому, если вы хотите изменить данные, уже записанные на SSD, накопитель должен прочитать всю страницу, стереть ее (очень медленная операция), а затем записать всю страницу обратно.
SSD-накопители преодолевают это, используя дополнительную емкость страниц, не доступных непосредственно операционной системе, и использование выравнивания износа, но это только задерживает неизбежную операцию стирания страницы, а не предотвращает ее.
RAM-диск может быть более подходящим и экономичным, чем SSD, если ваш файл занимает всего несколько гигабайт.