Международная компания, которая разрабатывает надежные и актуальные IT-решения для развлекательных онлайн-сервисов ищет Администратора баз данных.
Чем предстоит заниматься:
- Проектирование схем БД: нормализация/денормализация, выбор типов данных, индексные стратегии, партиционирование, шардирование.
- Дебаг и оптимизация запросов: анализ планов выполнения, поиск и устранение узких мест, переписывание тяжёлых запросов.
- Тюнинг конфигураций СУБД под наш профиль нагрузки (память, буферы, параллелизм, vacuum/autovacuum, innodb-параметры, настройки ClickHouse merge/parts).
- Эксплуатация и восстановление репликации: диагностика и устранение рассинхрона, replication lag, split-brain, восстановление реплик MySQL (GTID, MGR) и PostgreSQL (Patroni, streaming/logical replication).
- Обеспечение отказоустойчивости: failover/switchover, проверка и отладка автоматического переключения в Patroni и MGR.
- Резервное копирование и восстановление: настройка, проверка и регулярные учения по restore.
- Мониторинг и алертинг: метрики БД, дашборды, проактивное обнаружение деградаций.
- Capacity planning: прогнозирование роста данных и нагрузки, планирование ресурсов.
- Взаимодействие с разработчиками: ревью схем и запросов, консультации по работе с БД.
- Ведение документации, runbook'ов и постмортемов инцидентов.
Какие навыки нужны:
- Внутреннее устройство хранения: страницы, B-tree/индексы, MVCC, WAL/redo-log, vacuum, merge-процессы.
- Транзакции и ACID: что реально гарантирует каждое свойство и какой ценой.
- Уровни изоляции транзакций (Read Uncommitted / Read Committed / Repeatable Read / Serializable), аномалии (dirty read, non-repeatable read, phantom, write skew) и какой уровень что предотвращает.
- Блокировки: row/table locks, deadlock'и, их диагностика и предотвращение.
- Понимание CAP-теоремы и осознанные компромиссы consistency/availability/partition tolerance применительно к нашим распределённым топологиям.
- Проектирование и моделирование данных:
- Уверенное проектирование реляционных схем: типы данных и осознанный их выбор (влияние на размер, индексы, производительность), constraints, нормальные формы и обоснованная денормализация.
- Индексные стратегии: составные индексы, покрывающие индексы, частичные/функциональные индексы, понимание, когда индекс не используется и почему.
- Партиционирование и шардирование больших таблиц.
- Оптимизация и дебаг запросов.
- Свободное чтение планов выполнения и понимание их стоимости: seq scan vs index scan, nested loop vs hash/merge join, оценка кардинальности, влияние статистики.
- Навык переписывания сложных запросов и подбора индексов для ускорения.
- Профилирование медленных запросов.
- Репликация и отказоустойчивость MySQL, Clickhouse, PostgreSQL, ProxySQL, PgBouncer, Haproxy.
Что компания может предложить:
- Возможность развивать свои компетенции и применять знания на практике;
- Удалённый, офисный, гибридный формат работы;
- Возможность поработать на крупных проектах;
- Компания заинтересована в развитии своих сотрудников: готовы привлекать наставников и оплачивать курсы для повышения квалификации;
- Отсутствие бюрократии, быстрое согласование необходимых вещей;
- Оплачиваемые лист нетрудоспособности (больничный лист) и отпускные;
- ДМС после 6 месяцев работы;
- Частичная компенсация английского языка или психолога (на выбор);
- Компенсация спортзала;
- 4 day-off в год за счет компании;
- Компания поддерживает сотрудника в важные периоды жизни;
- Годовой бонус по результатам работы;
- Молодой коллектив, средний возраст в компании- 27 лет;
- Большая высококвалифицированная команда, к которой всегда можно обратиться за помощью.