Как лучше всего объяснить проблемы с хранилищем разработчикам и другим пользователям?


40

Когда на сервере не хватает памяти, разработчики начинают стонать: «Я могу получить 1 ТБ накопитель в Walmart за 100 баксов, в чем проблема».

Как объяснить сложность хранилища разработчикам, чтобы они поняли, почему накопитель емкостью 1 ТБ от Walmart просто не работает.

ps я разработчик и тоже хочу знать :)


5
Или «Я могу получить хранилище за $ 0,15 за гигабайт от Amazon S3, в чем проблема?»
Крис Апчерч

@Chris Upchurch: Но проблема в том, что вам, возможно, придется написать отчет о том, выбрать ли Amazon S3, Google App Engine или ... Черт возьми, это может быть болезненно. ;)
dance2die

6
Я мог бы повернуть это вокруг вас. Моя работа приносит доход, и мне нужно немного больше памяти, чтобы эффективно выполнять свою работу. Это солидная инвестиция, так почему вы не можете просто купить больше хранилища?

1
@Chris: Конечно, это всегда зависит от ситуации, но из (дорогостоящего) опыта я обнаружил, что использование Amazon S3 для базового хранилища не совсем экономично. S3 гораздо лучше используется для обработки пиков трафика, так что вам не нужно вкладывать деньги в систему, которая может обрабатывать редкие наихудшие сценарии - но если вы начнете использовать его для повседневных операций, вы можете обнаружить, что вы гораздо лучше
Оплата

Ответы:


53

Некоторые домашние истины о хранении, или почему корпоративное хранилище так дорого стоит?

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

«Корпоративное» хранилище является несколько более сложной проблемой, поскольку к данным предъявляются требования к производительности и целостности, которые диктуют несколько более тяжелый подход. Данные должны иметь некоторую гарантию доступности в случае аппаратных сбоев, и их, возможно, придется передавать большому количеству пользователей, что вызовет гораздо больше запросов на чтение / запись, чем одному пользователю.

Технические решения этой проблемы могут быть во много-много раз дороже на гигабайт, чем решения для хранения данных. Они также требуют физического обслуживания; резервные копии должны быть взяты и часто храниться за пределами площадки, чтобы пожар не уничтожил данные. Этот процесс добавляет текущие расходы.

Спектакль

На вашем 1-Тбайтном накопителе или даже корпоративном накопителе у вас есть только одна голова. Диск вращается со скоростью 7200 об / мин или 120 оборотов в секунду. Это означает, что вы можете получить максимум 120 операций ввода-вывода с произвольным доступом в секунду в теории * и несколько меньше на практике. Таким образом, копирование большого файла на одном томе объемом 1 ТБ происходит относительно медленно.

На дисковом массиве с 14x 72 ГБ дисками у вас есть 14 голов над дисками со скоростью, скажем, 15000 об / мин или примерно 250 оборотов в секунду. Это дает вам теоретический максимум 3500 случайных операций ввода-вывода в секунду * (опять же, на практике несколько меньше). При прочих равных условиях копия файла будет во много, много раз быстрее.

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

Диск 7200 об / мин на 1 ТБ, вероятно, будет достаточно быстрым при последовательном вводе / выводе. Дисковые массивы, отформатированные в чередующейся схеме (RAID-0, RAID-5, RAID-10 и т. Д.), Обычно могут считывать не более одной полосы на оборот диска. С полосой 64K мы можем читать 64Kx250 = 16 МБ или около того данных в секунду с диска 15000 об / мин. Это дает последовательную пропускную способность около 220 МБ в секунду на массиве из 14 дисков, что не намного быстрее на бумаге, чем 150 МБ / с или около того, что указано для современного диска SATA 1 ТБ.

Для потоковой передачи видео (например) массив из 4 дисков SATA в RAID-0 с большим размером полосы (некоторые контроллеры RAID поддерживают размеры полосы до 1 МБ) имеют довольно большую последовательную пропускную способность. Этот пример теоретически может передавать около 480 МБ / с, что достаточно для редактирования несжатого HD-видео в реальном времени. Таким образом, владельцы Mac Pro и аналогичного оборудования могут выполнять задачи композитинга HD-видео, которые потребовались бы машине с оптоволоконным массивом с прямым подключением всего несколько лет назад.

Настоящим преимуществом дискового массива является работа с базой данных, которая характеризуется большим количеством небольших разбросанных запросов ввода-вывода. При этом типе рабочей нагрузки производительность ограничивается физической задержкой битов металла в диске, проходящих по кругу и назад и вперед. Этот показатель известен как IOPS (количество операций ввода-вывода в секунду). Чем больше физических дисков у вас есть - независимо от емкости - тем больше теоретических операций ввода-вывода в секунду. Больше IOPS означает больше транзакций в секунду.

Целостность данных

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

Инфраструктура дисковых массивов (и SAN в более экстремальном случае) не является предметом массового рынка. Кроме того, это один из кусочков, который действительно не может потерпеть неудачу. Эта комбинация стандарта сборки и меньших объемов рынка не обходится дешево.

Общая стоимость хранения, включая резервное копирование

На практике наибольшая стоимость обслуживания 1 ТБ данных, вероятно, будет резервной копией и восстановлением. Ленточный накопитель и 34 комплекта лент SDLT или ultrium для полного цикла резервного копирования и восстановления, вероятно, будут стоить дороже, чем дисковый массив емкостью 1 ТБ. Прибавьте стоимость хранения за пределами площадки и зарплату даже одной ленточной обезьяны, и вдруг ваши 1 ТБ данных станут не такими дешевыми.

Стоимость дисков часто является справедливым путем вниз по иерархии доминирующих затрат на хранение. В одном из банков, где я работал, хранилище SAN стоило 900 фунтов / ГБ для системы разработки и 5000 фунтов / ГБ для диска на производственном сервере. Даже по ценам корпоративных поставщиков физическая стоимость дисков составляла лишь небольшую часть этого. Другой известный мне пример имеет (относительно) скромно сконфигурированную IBM Shark SAN, которая обошлась им где-то более чем в 1 миллион фунтов стерлингов. Стоимость физического хранилища составляет 9 фунтов стерлингов / гигабайт, или около 9 000 фунтов стерлингов за место, эквивалентное вашему жесткому диску потребителя объемом 1 ТБ.


40

Просто скажите: «Да, и я могу получить Java-программиста в оффшоре за 5 долларов в час».


8
Теперь это хорошо!
Джон Дайер

3
Это довольно остроумное замечание, но я не могу его выразить, потому что на самом деле оно не отвечает на вопрос, на который я с нетерпением
жду

1
@ dance2die Я думаю, что это отвечает на вопрос довольно четко.
Джо Филлипс

11
Я думаю, что это правильный ответ. Дело в том, что у каждого из нас есть свои собственные области знаний, и члены команды должны доверять друг другу. Подобный ответ на вопрос разработчика поможет им понять, как бессмысленно пытаться угадать друг друга.
Портман

2
Другим обоснованным ответом было бы то, что парень из Geek Squad, вероятно, мог бы понять, как это сделать, сделать это дешевле и гораздо лучше относиться к этому. Серьезно, почему это самый голосующий ответ на этот вопрос? Во время чтения у меня был приятный смешок, но если это будет так, как участники сайта отвечают на наивные вопросы, я буду придерживаться Google и Experts Exchange.
dfjacobs

14

Возможно, задайте им несколько вопросов об их приводе Walmart:

  • каково его среднее время до отказа?
  • что произойдет, если это не удастся катастрофически?
  • как часто это резервное копирование?
  • сколько хранилища потребуется 12 месяцев для резервного копирования?
  • как это может быть сохранено вне сайта?
  • как это можно восстановить? (в целом? один файл? пара каталогов?)
  • сколько стоит хранить резервные копии?
  • как он будет гарантировать, что резервные копии хранятся в безопасности? безопасности?
  • какая страховка у него есть, чтобы покрыть потерю жизненно важных данных?

... Сравните эти ответы с диском, который работает как часть массива RAID 5 в хорошо управляемом центре обработки данных.

(Раскрытие: я тоже разработчик - я просто догадываюсь!)


1
+1 за хороший, всесторонний подход к «почему» вопроса.
Эйвери Пейн

4

Может быть, вы должны рассмотреть дифференцированное хранилище.

Вашему разработчику может потребоваться больше места, но, возможно, это не место на диске "корпоративного класса", которое ему нужно. Возможно, ему просто нужно иметь место для хранения .vhd и ISO, которые в случае сбоя диска могут быть снова загружены из MSDN. Возможно, тестовые прогоны требуют больших переходных пространственных требований, которые должны присутствовать только на протяжении тестового прогона. Для всех этих дисков привод Wallmart за 50 $ может быть правильным решением.


3

Первая вещь, которую люди должны понять о хранилище, это то, что между емкостью и IOPS существует большая разница. Такие вещи, как долговечность и т. Д., Как правило, спорные, это почти всегда сводится к IOPS в зависимости от емкости.


4
IOPS: операции ввода-вывода в секунду
Сэм Хаслер

2

Это зависит от того, о каких серверах там спрашивают. Для базового разработчика или тестового сервера достаточно одного накопителя в ТБ от Wallmart. Если вы имеете дело с высококлассным сервером, который не использует готовые компоненты, спросите их, построят ли они гоночную машину и купят шины в магазине автозапчастей, чтобы сэкономить несколько долларов.


1
Я бы порекомендовал не использовать эту технику на менеджерах, хотя. Ответ вполне может быть «да».
Джейсон Бейкер

1

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

«Системному объявлению было дано указание поставить это здесь против его воли и интуиции». И когда диск умрет, я передам диск и записку разработчику и спрошу их, как на этот раз выполнить мою работу.

Я согласен с Портманом ... доверяй команде или уходи.


0

Простой однострочный ответ: диски емкостью 1 ТБ обычно представляют собой SATA, а ваш сервер - SCSI. (Даже если сервер не SCSI, это может остановить строку запроса ... пока.)

Накопитель SCSI объемом 300 ГБ обычно в 4 раза дороже, тогда есть резервное копирование существующих данных, организация простоев, установка, что-то может пойти не так, сверхурочные и т. Д. И т. Д. В общем, простое обновление хранилища может привести ко всем виды боли - ни за что разработчик не несет прямой ответственности. Сказать, что вы можете купить готовый диск, который удовлетворяет текущую потребность, безнадежно упрощенно.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.