Миллион rps в YDB: история одного переезда метрики Базы данных и системы хранения

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

Разработчик С++. Группа разработки движка Яндекс.Метрики.

telegram aprudaev
Антон Барабанов
Яндекс

Руковожу разработкой движка Яндекс.Метрики. Занимаюсь проектированием и программированием высоконагруженных систем более 10 лет.

Тезисы

В Яндекс.Метрике существует сборка визитов пользователей на сайте, для этого необходимо хранить историю всех событий и склеивать их друг с другом на лету.

Для этого использовалась конвеерная распределенная система, со своим самописным локальным хранилищем и своей логикой репликации и шардирования. По мере роста нагрузки мы уперлись в производительность отдельного шарда, при этом продолжать наращивать их количество без принципиальной перестройки архитектуры было крайне болезненно.

Приняли решение перестраивать и сформулировали следующие требования:
1. новое хранилище должно быть прозрачно масштабируемым как по месту, так и по производительности
2. обработчики должны быть stateless
3. количество обработчиков должно наращиваться "по кнопке"

В рамках доклада мы расскажем:
1. Почему остановились на YDB, как переезжали, что сломали.
2. Как научились работать с таблицей в 40ТБ и 1 миллионом запросов в секунду.
3. Как тестировали и масштабировали

Другие доклады секции Базы данных и системы хранения