Яндекс, як і будь-яка інша велика інтернет-компанія, що зберігає багато, а точніше дуже багато даних. Це і користувальницькі дані з різних сервісів, і намайненные сайти, і проміжні дані для розрахунку погоди, і резервні копії баз даних. Вартість зберігання ($/ГБ) — один з важливих показників системи. У цій статті я хочу розповісти вам про один з методів, який дозволив нам серйозно здешевити сховище.

В 2015 році, як ви всі пам'ятаєте, сильно зріс курс долара. Точніше, рости-то він почав в кінці 2014-го, але нові партії заліза ми замовляли вже в 2015-м. Яндекс заробляє в рублях, і тому разом з курсом зросла і вартість заліза для нас. Це змусило нас в черговий раз подумати про те, як зробити, щоб в поточний кластер можна було покласти більше даних. Ми таке, звичайно, робимо регулярно, але в цей раз мотивація була особливо сильною. До речі, якщо після посту у вас залишаться питання, які б ви хотіли обговорити особисто, приходьте на нашу
встречу.
Кожен сервер кластера надає для нас наступні ресурси: процесор, оперативну пам'ять, жорсткі диски і мережу. Мережа тут — більш складне поняття, ніж просто мережева плата. Це ще і вся інфраструктура всередині дата-центру, і зв'язність між різними дата-центрами і пунктами обміну трафіком. У кластері для забезпечення надійності застосовувалася реплікація, і сумарний обсяг кластера визначався виключно через сумарну ємність жорстких дисків. Потрібно було придумати, як обміняти ресурси, що залишилися на збільшення місця.
Читати далі →