Який найкращий спосіб пояснити проблеми зберігання розробникам та іншим користувачам


40

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

Як можна пояснити розробникам складність зберігання, щоб вони зрозуміли, чому накопичувач на 1 ТБ від Walmart просто не працюватиме.

ps Я розробник і хочу знати також:)


5
Або "Я можу отримати сховище за 0,15 долара за гігабайт від Amazon S3, в чому проблема?"
Кріс Upchurch

@Chris Upchurch: Але проблема полягає в тому, що вам, можливо, доведеться писати звіт про те, чи вибрати Amazon S3, Google App Engine чи ... Боже, це може бути неабияким. ;)
dance2die

6
Я можу це перетворити на вас. Моя робота приносить прибуток, і мені потрібно трохи більше місця для ефективного виконання своєї роботи. Це солідна інвестиція, тому чому ви не можете просто придбати більше місця для зберігання?

1
@Chris: Звичайно, це завжди залежить від ситуації, що склалася, але я (через дорогий) досвід виявив, що використання Amazon S3 для базового зберігання не є точно рентабельним. S3 набагато краще використовувати для управління піками трафіку, так що вам не доведеться інвестувати в систему, яка може обробляти найрідкісні гірші сценарії - але якщо ви почнете використовувати це для щоденних операцій, ви можете виявити, що вам набагато краще оплата капітальних витрат ...
Mihai Limbăşan

Відповіді:


53

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

Споживчі жорсткі диски пропонують великі обсяги місця, щоб навіть найвибагливіший користувач * кашлю * потокового носія * кашлю * міг придбати достатньо для зберігання колекції з кількох терабайт. Насправді ємність диска зростає швидше, ніж транзистор розраховує на кремній вже пару десятків років.

Зберігання "Enterprise" - дещо складніша проблема, оскільки дані мають вимоги до продуктивності та цілісності, що диктують дещо складніший підхід. Дані повинні мати певну гарантію доступності у випадку збоїв апаратних засобів, і їх, можливо, доведеться ділити з великою кількістю користувачів, що генерує набагато більше запитів на читання / запис, ніж один користувач.

Технічні рішення цієї проблеми можуть бути в багато, у багато разів дорожчі за гігабайт, ніж рішення для зберігання споживачів. Вони також потребують фізичного обслуговування; необхідно робити резервні копії та часто зберігати їх поза межами сайту, щоб пожежа не знищила дані. Цей процес додає поточні витрати.

Продуктивність

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

На дисковому масиві з 14x дисками 72 Гб у вас є 14 голов над дисками (скажімо) 15000 об / хв або приблизно 250 оборотів в секунду. Це дає вам теоретичний максимум 3500 випадкових операцій вводу / виводу в секунду * (знову ж таки, дещо менше на практиці). За інших рівних копій файлів буде багато, у багато разів швидше.

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

Привід 7200 об / хв 1 Тб, ймовірно, буде досить швидким при послідовному вході / виводі. Дискові масиви, відформатовані за смугастою схемою (RAID-0, RAID-5, RAID-10 тощо), як правило, можуть читати не більше однієї смуги за обертання диска. За допомогою смужки 64К ми можемо читати 64Kx250 = 16 Мб або близько того даних за секунду, виключаючи диск з 15000 об / хв. Це дає послідовну пропускну здатність близько 220 Мб в секунду на масиві 14 дисків, що не набагато швидше на папері, ніж 150 МБ / с або приблизно так, що цитується на сучасному 1 ТБ SATA диску.

Для потокової передачі відео (наприклад), масив із 4 SATA-дисків в RAID-0 з великим розміром смуги (деякі RAID-контролери підтримуватимуть розміри смуг до 1 МБ) мають досить багато послідовних пропускних можливостей. Цей приклад теоретично може передавати близько 480 Мб / сек, що є достатньо зручним для редагування відео в режимі реального часу, нестисненого HD. Таким чином, власники Mac Pros та подібного обладнання можуть виконувати завдання з компонування відео у форматі HD, які потребували б машини з волоконним масивом прямого приєднання лише кілька років тому.

Справжня перевага дискового масиву полягає в роботі бази даних, яка характеризується великою кількістю малих, розсіяних запитів вводу / виводу. На цьому типі продуктивність роботи обмежується фізичною затримкою шматочків металу в диску, що йде навколо і назад. Цей показник відомий як IOPS (операції вводу / виводу за секунду). Чим більше у вас фізичних дисків - незалежно від ємності - тим більше IOPS ви можете теоретично зробити. Більше IOPS означає більше транзакцій в секунду.

Цілісність даних

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

Інфраструктура для дискових масивів (і SAN в більш крайньому випадку) не є саме предметом масового ринку. Крім того, це один з бітів, який насправді, справді, не може вийти з ладу. Таке поєднання стандарту складання та менших обсягів ринку не є дешевим.

Загальна вартість зберігання, включаючи резервне копіювання

На практиці найбільші витрати на підтримку 1 ТБ даних, ймовірно, становлять резервне копіювання та відновлення. Стрічковий накопичувач та 34 набори стрічок SDLT або ultrium для повноцінного циклу резервного копіювання та відновлення, ймовірно, обійдуться дорожче, ніж це зробив дисковий масив на 1 ТБ. Додайте витрати на зберігання за межами сайту та зарплату навіть однієї стрічки-мавпи, і раптом ваші 1 ТБ даних не такі вже й дешеві.

Вартість дисків часто є справедливим способом зниження ієрархії домінуючих витрат на зберігання. В одному банку я мав нагоду працювати для зберігання даних в SAN за ціною 900 фунтів / Гб для системи розвитку та 5000 фунтів / ГБ для диска на виробничому сервері. Навіть за цінами постачальників підприємств фізична вартість дисків становила лише незначну частку. Інший приклад, який мені відомо, має (відносно) скромно налаштований IBM Shark SAN, який коштував їм десь понад 1 мільйон фунтів. Тільки фізична пам’ять на цьому тарифікується близько 9 фунтів / гігабайт, або приблизно 9000 фунтів стерлінгів за місце, еквівалентне вашому жорсткому диску 1 TB.


40

Просто скажіть: "Так, і я можу отримати програміста Java офшор за 5 доларів на годину".


8
Тепер це добре!
Джон Дайер

3
Це досить дотепне зауваження, але я, здається, не підтверджую його, оскільки він насправді не відповідає на запитання, на яке я прагну дізнатися відповідь
dance2die

1
@ dance2die Я думаю, що це відповідає досить чітко.
Джо Філіпс

11
Я думаю, що це правильна відповідь. Справа в тому, що в кожного з нас є власні області знань, і члени команди повинні довіряти один одному. Повернення запитання до розробника на зразок цього допоможе їм зрозуміти, наскільки безглуздо намагатися вгадати одне одного.
Портман

2
Іншою вагомою відповіддю було б те, що хлопець в Geek Squad, ймовірно, міг зрозуміти, як це зробити, зробити це дешевше і мати набагато краще ставлення до цього. Серйозно, чому це відповідь на це запитання? Під час її читання у мене було гарне посміховисько, але якщо це станеться тим, як члени сайту відповідають на наївні запитання, я буду дотримуватися обміну Google та експертів.
dfjacobs

14

Можливо, поставте їм кілька запитань щодо їх приводу Walmart:

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

... Порівняйте ці відповіді з накопичувачем, який працює як частина масиву RAID 5 у добре керованому центрі обробки даних.

(Розкриття: Я теж розробник - я просто здогадуюсь!)


1
+1 за хороший, всебічний підхід до питання "чому".
Avery Payne

4

Можливо, вам слід розглянути диференційоване сховище.

Вашому розробнику може знадобитися більше місця, але, можливо, це не простір дискового простору «класу підприємства». Можливо, йому просто потрібно мати місце для зберігання файлів .vhd та ISO, що стосується аварії диска, можна знову завантажити з MSDN. Можливо, для тестових прогонів потрібні великі вимоги до перехідного простору, які повинні бути там лише протягом тривалості тестового пробігу. Для всіх цих пристроїв накопичувач Wallmart за 50 доларів може бути правильним рішенням.


3

Перше, що потрібно усвідомити людям щодо пам’яті, це те, що між потужністю та IOPS існує велика різниця. Такі речі, як довговічність тощо, як правило, суперечать, це майже завжди зводиться до IOPS проти потужності.


4
IOPS: Операції вводу / виводу за секунду
Сем Хаслер

2

Це залежить від того, які саме сервери запитують. Для базового розробника або тестувального сервера, мабуть, достатньо одного ТБ накопичувача від Wallmart. Якщо ви маєте справу з сервером високого класу, який не використовує компоненти на полиці, запитайте їх, чи не будують вони гоночний автомобіль і купують шини в магазині автозапчастин, щоб заощадити кілька доларів.


1
Я б рекомендував не використовувати цю техніку для менеджерів. Відповідь цілком може бути "так".
Джейсон Бейкер

1

Те, як я поясню це, це так. Якщо ваш шеф підпишеться на покупку. Я поставлю знак на Wal-Mart диск, який говорить ..

"Sys Ad було доручено поставити це сюди проти своєї волі та кишок". А коли диск помре, тоді я передаю привід і відзначу деві і запитаю їх, як робити свою роботу цього разу ..

Я погоджуюся з Портменом ... довіряю команді, або залишаю.


0

Проста однорядкова відповідь: 1 Тб накопичувачі зазвичай є SATA, але ваш сервер - SCSI. (Навіть якщо сервер не є SCSI, це може зупинити лінію запиту ... поки що.)

SCSI-накопичувач на 300 Гб зазвичай коштує в 4 рази, тоді є резервне копіювання наявних даних, організація простоїв, проведення встановлення, щось може піти не так, понаднормовий робочий час тощо. Загалом, просте оновлення пам’яті може призвести до всіх різновиди болю - жоден з яких не несе відповідальність безпосередньо за розробку. Казати, що ви можете придбати позаштатний привід, який задовольняє поточну потребу, безнадійно спрощений.

Але ти знаєш, що ти мав би поставити великі диски на чортові сервери, коли ти їх купував, і ти зараз б'єш себе! Але ви хотіли, щоб сервери були встановлені, і вони додали б до першої вартості, і це, можливо, довелося б пройти додатковий раунд схвалення ... Ласкаво просимо у світ болю sysadmin ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.