Профессиональная конференция для Go-разработчиков

Расширение хранилища мета-информации для распределённой базы данных на примере YTsaurus

Базы данных и системы хранения

Отказоустойчивость
Распределенные системы
Хранилища
YTSaurus

Доклад отклонён

Целевая аудитория

Разработчики распределённых систем Администраторы open-source инсталляций YTsaurus

Тезисы

YTsaurus - ключевая платформа хранения и обработки данных в Яндексе. Центральной компонентой является мастер-сервер, реализованный с использованием алгоритма RAFT для достижения отказоустойчивости и ответственный за хранение метаинформации о местоположении данных на машинах кластера и о дереве распределённой файловой системы, а также за общую координацию других компонент.

С ростом количества активных пользователей и объёмов хранимых данных мы начали сталкиваться с проблемами в производительности. Основными виновникоми оказались несколько узких мест в мастер-сервере. С целью оптимизации использования CPU мы сначала распределили нагрузку между лидером и фолловерами, а потом несколько раз пошардировали состояние между несколькими независимыми кворумами. И конечно столкнулись с множеством подводных камней, начиная от сложности дизайна и заканчивая нетривиальными алгоритмами синхронизации состояния между несколькими RSM.

В этом докладе я расскажу:
- как мы выровняли нагрузку между лидером и фолловерами в RSM;
- как мы смогли пошардировать мастер-сервер, чтобы хранить на два порядка больше данных;
- с какими сложностями сталкиваешься, когда ты начинаешь хранить больше эксабайт данных в системе.

С 2021ого года я работаю в службе разработки мастер-сервера в YTsaurus.

Яндекс

Крупнейшая российская IT компания с самой большой долей поиска в РФ.

Видео

Другие доклады секции

Базы данных и системы хранения