Конференция завершена. Ждем вас на HighLoad++ в следующий раз!

Стендбай в бою: масштабируем приложение в топ 2 мировом классифайде. Базы данных и системы хранения

Доклад отклонён
Константин Евтеев
Авито

DBA Unit Leader.
Карьеру начал с PostgreSQL версии 7.4 и Microsoft SQL Server 2000. До Авито занимался миграциями нагруженных проектов с MSSQL Server на PostgreSQL и администрированием обоих СУБД. В Авито пришел в 2014 году на роль разработчика баз данных, в настоящий момент возглавляю команду DBA.
Активно участвую в жизни PostgreSQL community.

DBA в Авито:
Поддерживают и развивают персистентные системы
- OLTP:PostgreSQL
- NOSQL: MongoDB, Tarantool, Redis
- OLAP: Clickhouse
- системы очередей и потоковой обработки данных: Kafka, RabbitMQ
- сопутствующая инфраструктура: backup, failover, database discovery, различные proxy, мониторинг, алертинг
- Выдают базы данных из поддерживаемого списка по запросу команд, строят DBaaS
- Консультируют команды по любым вопросам, связанным с персистеными системами
- Помогают с выбором хранилища и архитектуры, проводят аудит существующих решений и поиском узких мест

PS
https://www.avito.ru/company/job/dp-eng - есть вакансия :)

Тезисы

В данном докладе я хочу поделиться опытом Авито, полученным за годы эксплуатации бинарной репликации и стендбаев. Мы многое переосмыслили, разработали свои подходы и техники, планы восстановления после аварий в распределенных системах.
Первая часть о подходе для горизонтального масштабирования с помощью репликации. Это может быть очень эффективно и не требует больших трудозатрат, но есть нюансы и вызовы, требующие решения. Для некоторых приложений возникновение stale reads допустимо и это ок, я же хочу рассказать о паттерне для систем, где stale reads недопустимы, и нашей имплементации.
Вторая часть выступления о подводных камнях, о которых многие даже не подозревает, а другие принимают все риски. Речь пойдет о различных кейсах, которые могут привести к деградации вашего приложения и способах решения, а именно:
- высокий уровень TPS;
- применение DDL;
- отправка большого кол-ва WAL файлов в архив и восстановление из архива
- и др
Расскажу про использование пула стендбаев и переключения запросов между ними. Также о планах восстановления после аварий для приведения в согласованное состояние мастера, стендбаев и архива.

PostgreSQL
,
Tarantool
,
Организация системы кеширования
,
Архитектурные паттерны
,
Отказоустойчивость
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование
,
Администрирование баз данных

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

Rambler's Top100