Администратор баз данных/DBA (MS SQL)
Прямой работодатель EMEX ( emex.ru )
Опыт работы от 3 до 5 лет
Привет! Меня зовут Илья, я Lead Database Administrator в EMEX. Ищем специалиста по базам данных (DBA) со знанием MSSQL для работы над нашими продуктами.
О компании
EMEX — международный холдинг, который включает торговый, доставочный и информационный бизнесы: торговая площадкаEMEX.DWC в ОАЭ, логистический оператор HWC и EMEX — первый профессиональный маркетплейс автозапчастей в России.
- Торговый бизнес — EMEX самостоятельно приобретает и продает товары, и задает планку качества продуктов на маркетплейсе.
- Доставочный бизнес — формирует логистические цепочки и позволяет осуществлять доставку в более 40+ стран мира.
- Информационный бизнес — маркетплейс, который соединяет покупателей и поставщиков и агрегирует информацию о 38 миллионах товарных предложениях.
Миссия EMEX — создавать свободу выбора для всех пользователей, удовлетворяя их потребности:
- мы решаем проблемы автовладельцев, чтобы обеспечить им свободу передвижения;
- мы открываем продавцам новые возможности для сбыта, чтобы они увеличивали продажи;
- мы предлагаем сотрудникам интересные и сложные вызовы, чтобы они привносили ценность и реализовывали свой потенциал.
Наша цель — экспансия на новые рынки: мы работаем над созданием глобальной доставочной и информационной сетью. Мы представлены на рынках Ближнего Востока и СНГ, и исследуем, куда выходить дальше: мы рассматриваем как развивающиеся рынки, например, в африканских странах, так и развитые — в европейских странах.
О команде
Команда DBA представлена лидом и несколькими инженерами с компетенциями разработки и администрирования. Хотим выделить отдельные специализации, чтобы усилить компетенции по ряду направлений (MSSQL, PostgreSQL, ClickHouse) и представленность в продуктовых командах.
Мы взаимодействуем с другими командами в основном через Slack, помогаем разработчикам, ревьюим T-SQL код, решаем инциденты связанные с базами данных, репликацией, ETL, отчетами и даже помогаем разобраться с логикой хранимых процедур.
Наша работа организована посредством 1 недельных спринтов.
О технологиях и процессах в разработке
Основные производственные серверы – MS SQL, центральные узлы кластеризованы (Always On). Используется как стандартная, так и кастомная репликация данных. Работаем с SSIS, SSRS, SSAS, есть немного Service Broker.
Большая часть ETL-процессов покрывается SSIS, но используем и Apache Airflow для более сложных взаимодействий.
Отдельные продукты и сервисы используют PostgreSQL и ClickHouse; часть legacy-процессов постепенно мигрируют в PostgreSQL.
Основной инструмент аналитики – SSRS, SSAS; также пользуемся дашбордами в Grafana и Zabbix. Центральное хранилище живет на MS SQL.
О процессе работы
Тим лиды команд, разработчики, системные администраторы, devops фиксируют проблемы в Slack и передают их нам. Мы их решаем сразу или выносим на планирование нашей команды, где определяем список задач и целей на итерацию.
Также команда DBA обеспечивает постоянный мониторинг имеющихся в обслуживании баз данных и серверов, предотвращая возникновение нештатных ситуаций. Мониторим производительность, блокировки, ошибки джобов и процедур.
Еще мы ревьюим код разработчиков (через Pull Request), помогаем им в создании сложных решений. Дежурим на релизах команд.
Есть разработческие контуры DEV, STAND, которые мы тоже поддерживаем (включая их еженедельное восстановление).
Документацию по продукту ведём в Notion, техническая документация на вики, есть CI/CD-пайплайны. Оперативную работу и сопровождение ведем в Slack.
Кого и зачем мы ищем
Тебе предстоит:
- участвовать в ежедневном (и иногда ночном) администрировании серверов: репликации, реиндексации, бэкапированиях и восстановлениях, разруливании deadlock-ов и решении сопутствующих проблем с базами данных;
- анализировать и оптимизировать топовые запросы, нагружающие сервера;
- ревьюить чужой T-SQL код, консультировать разработчиков;
- осуществлять базовые DBA-процедуры (мониторинг, траблшутинг, плановое обслуживание);
- регулярно чинить неработающие джобы;
- поддерживать текущие ETL-процессы.
В планах у нашей команды:
- начать миграцию части исторических процессов в PostrgeSQL;
- сформировать систему администрирования PostgreSQL-серверов, повысить степень отказоустойчивости;
и с этими задачами тебе тоже удастся поработать.
Цели, которые будут стоять перед тобой в ближайшие 3-6 месяцев
В ближайшие 3 месяца
- Понять устройство текущей инфраструктуры и научиться реагировать на инциденты в соответствии с нашими SLA.
- Предложить стратегию для оптимизации работы серверов.
- Пересмотреть и предложить улучшения maintenance plan по серверам.
В ближайшие 6 месяцев
- Наладить оперативный мониторинг основных инцидентов, так, чтобы мы узнавали об этом раньше системных администраторов или пользователей.
- Доработать процесс восстановления STAND и DEV окружений так, чтобы он проходил без сбоев.
- Улучшить безопасность баз данных: привести в порядок наши логины и авторизацию.
- Разработать инструменты автоматизации основных процессов - восстановление баз данных 1С (в том числе на определенную временную точку), анализ неиспользуемых индексов, анализ роста БД.
Как понять, что ты подойдешь
- Имеешь большой опыт работы (от 3-х лет) с MS SQL Server. Можешь выполнить стандартные технологические операции обслуживания; понимаешь, как организована безопасность, особенности работы репликации и кластера. Умеешь использовать фишки энтерпрайза, работать с большими таблицами и обслуживать их. Можешь выполнить оптимизацию плана запроса и разрешить deadlock. Умеешь работать с SSIS-пакетами.
- Уверенно знаешь Transact-SQL. Имеешь опыт разработки баз и процессов. Можешь быстро разобраться с чужим кодом и внести исправления так, чтобы ничего не поломалось, и формализовать внесенные изменения.
- Тебе не всё равно, какой сервер ты поддерживаешь. Ты погружаешься не только в технические детали, но и в организационную составляющую проблемы. Ты, условно, отличаешь финансовые хранилища от OLTP фронтэнда.
- Ты сосредоточен на проблеме и готов решать ее чуть шире, чем поставлена задача.
- Ты быстро реагируешь на возникающие инциденты и можешь самостоятельно решить, что делать с задачей.
- Тебе интересно знакомиться с новыми базами данных (ClickHouse, MongoDB и т.д.) и применять новые знания на практике.
- Если нужно, ты сможешь освоить новые для тебя инструменты и языки программирования (например Powershell, Python, или даже Talend).
- Будет плюсом опыт разработки и администрирования PostgreSQL.
Что мы можем предложить
- Мы поддерживаем удалённую работу и гибкий график. Мы не контролируем твоё время, но нам важно, чтобы в рабочие часы ты мог быть на связи, ходил на встречи и активно вникал в дискуссии. Также мы обеспечим тебя ДМС и всей необходимой техникой для работы.
- Мы активно обновляем технологии, на которых работаем, включая СУБД, системы организации ETL-процессов и механизмов визуализации. Открыто окно для экспериментов и предложений.
- Мы за автоматизацию, а не рутинное выполнение задач.
- Несмотря на то что нашей компании больше 20 лет, мы развиваемся и не боимся экспериментировать. Мы собираемся выходить на новые рынки, пробуем новые бизнес-модели, переписываем, а не множим легаси.
- Мы тесно взаимодействуем с командами. DBA активно принимают участие в развитии продукта на уровне решений, а не только исполнения. Также у нас есть культура открытого обсуждения задач.