Бесконечность — не предел: как мы масштабируем единое хранилище Яндекса на десятки эксабайт

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

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

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Все сервисы Яндекса для хранения своих данных используют единое хранилище. На сегодня оно держит 1,5M RPS и хранит 4 ЭБ данных. Доклад про архитектурную трансформацию: от централизованной легаси-системы к «умным» дискам, повышенной надежности и автоматическому восстановлению после отказов.

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

Разработчики, архитекторы, DevOps и SRE.

Тезисы

Все сервисы Яндекса используют единое объектное хранилище MDS — от Я.Диска и Почты до Yandex Object Storage. Сейчас это 4 эксабайта данных на тысячах серверов с RPS 1,5M и требованиями доступности 99,99% и надежности 99,999999999%.

Проблема: архитектура старой версии MDS не позволяла масштабироваться дальше:
* централизованный control-plane ограничивал рост числа серверов;
* клиентская репликация приводила к проблемам согласованности при отказах;
* поломки требовали ручного вмешательства, снижая надежность.

Как решали:
* децентрализация — перенесли логику в «умный» дисковый слой, избавились от единой точки отказа;
* Raft-репликация — заменили клиентскую репликацию на простой и надежный алгоритм;
* Self-healing — внедрили декларативное управление и автоматизировали починку типовых отказов;
* расскажу про graceful degradation при масштабных сбоях, почему не взяли Ceph/Minio и какие альтернативы не сработали.

Что заберете:
* принципы проектирования exascale-хранилищ;
* паттерны автоматизации эксплуатации (self-healing, декларативность);
* метрики мониторинга здоровья кластера из тысяч серверов.

Александр Снопов

Yandex Infrastructure

Старший разработчик в общем сторадже Яндекса и S3.

Видео

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

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