Расширение хранилища мета-информации для распределённой базы данных на примере YTsaurus
Доклад отклонён
Целевая аудитория
Тезисы
YTsaurus - ключевая платформа хранения и обработки данных в Яндексе. Центральной компонентой является мастер-сервер, реализованный с использованием алгоритма RAFT для достижения отказоустойчивости и ответственный за хранение метаинформации о местоположении данных на машинах кластера и о дереве распределённой файловой системы, а также за общую координацию других компонент.
С ростом количества активных пользователей и объёмов хранимых данных мы начали сталкиваться с проблемами в производительности. Основными виновникоми оказались несколько узких мест в мастер-сервере. С целью оптимизации использования CPU мы сначала распределили нагрузку между лидером и фолловерами, а потом несколько раз пошардировали состояние между несколькими независимыми кворумами. И конечно столкнулись с множеством подводных камней, начиная от сложности дизайна и заканчивая нетривиальными алгоритмами синхронизации состояния между несколькими RSM.
В этом докладе я расскажу:
- как мы выровняли нагрузку между лидером и фолловерами в RSM;
- как мы смогли пошардировать мастер-сервер, чтобы хранить на два порядка больше данных;
- с какими сложностями сталкиваешься, когда ты начинаешь хранить больше эксабайт данных в системе.
С 2021ого года я работаю в службе разработки мастер-сервера в YTsaurus.
Яндекс
Видео
Другие доклады секции
Базы данных и системы хранения