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