Оптимизация стоимости хранения данных в объектном хранилище, или Когда больше == меньше
Доклад принят в программу конференции
Целевая аудитория
Тезисы
Объектное хранилище Dispersed Object Store (DOS) родилось в недрах корпоративной почтовой системы Mailion. Для корпоративной переписки характерно большое количество частично или полностью совпадающих писем. Дедупликация писем и их фрагментов на уровне объектного хранилища позволяет многократно снизить потребление дискового пространства и IO. При этом в DOS реализована не только дедупликация, но и другие механизмы, снижающие избыточность данных (чанкинг и компрессия). Оборотной стороной этих механизмов является рост накладных расходов: увеличивается количество метаданных, хранящихся на SSD, растёт утилизация CPU. Встаёт вопрос определения оптимального баланса аппаратных ресурсов. Что выгоднее — включить максимальный уровень сжатия и дедупликации данных, чтобы сэкономить диски, но при этом потратиться на топовый CPU, или отключить все вычислительно сложные оптимизации, но расплатиться за это покупкой большого количества медленных дисков?
Ответить на этот вопрос не так просто: разные аппаратные ресурсы компьютера имеют разную цену, в то же время алгоритмы дедупликации и компрессии обладают большим объёмом настроек, сложным образом определяющих финальную стоимость хранения данных. Мы воспользовались методами black-box-оптимизации, чтобы определить комбинацию настроек, соответствующую минимальной стоимости хранения, и выяснили, что минимальное и максимальное значения стоимости могут отличаться на 1 порядок: цена выбора неправильных настроек очень высока. При этом применение настроек, которые интуитивно кажутся более логичными и правильными, зачастую приводит к неоптимальной стоимости хранения данных.
В ходе доклада мы рассмотрим:
* архитектуру современного объектного хранилища;
* методы оптимизации, подходящие для поиска оптимальных настроек и исследования эффективности программных систем;
* практический пример оптимизации стоимости эксплуатации объектного хранилища.
Работает в IT-индустрии около 10 лет, пишет на Go, Python и С++, длительное время занимался DevOps. Увлекается распределёнными системами и базами данных.
МойОфис
Видео
Другие доклады секции
Базы данных и системы хранения