Вакансия: Администратор базы данных / Data Base Administrator
Описание вакансии
Международная компания, которая разрабатывает надежные и актуальные 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 лет;
Большая высококвалифицированная команда, к которой всегда можно обратиться за помощью.