👨‍🎓 Посвящение в аналитики Это был мой третий день на первой работе продуктовым аналитиком. День начинался прекрасно: я пришёл пораньше в офис, выпил кофе с весёлыми девчонками из маркетинга и занял своё любимое место у панорамного окна с видом на Неву. Заряженный на продуктивность, я открыл JIRA, выбрал задачку и перетащил её в IN PROGRESS. Это была задача от PM’а: нужно было проанализировать продажи в разрезе температуры воздуха в гео клиента по его ip, уровня заряда телефона на момент покупки и фазы луны. На тот момент я еще не задавался вопросами «зачем?». Нужно – сделаем. Данные по продажам хранились в какой-то старой версии MySQL. А доступ к данным осуществлялся посредством магического инструмента визуализации – MyDBR. По сей день я так нигде и не встречал, чтобы еще в какой-то компании он использовался. Тем не менее, я как раз вчера получил к нему доступ – отличная возможность разобраться с новым инструментом. Открываю редактор и пишу простенький запрос. Хочу выгрузить данные за день, чтобы просто посмотреть их формат. Но запрос был настолько «простым», что в нем не нашлось места для LIMIT. Нажимаю Run… Проходит секунд 10. Никакой реакции от интерфейса не последовало. Вообще никакой. Даже не было понятно, нажалась ли кнопка. Нажимаю Run еще раз… И еще раз 10, для уверенности… Жду. Ноль реакции. Выпил еще кофе – ничего не изменилось. Обновляю страницу – сервис не грузится. «Странно, наверное что-то с рабочим интернетом». Через пару минут слышу отчетливый мат нашего девопса из другого конца open-space’а. А в чат с ошибками Slack’а сыпятся критические ошибки: реплика базы не отвечает, продовая база доступна только для чтения (новые данные в нее больше не поступают), myDBR не может перезапуститься, и еще десятки ошибок от других связанных сервисов. «Ну все, мне конец» – думаю я. Через еще две минуты меня начинают звать не по имени, а по номеру моего запроса… А я уже и дар речи то потерял, чтобы отозваться… Спойлер: меня не уволили. А девопсы на удивление все быстро починили. А после инцидента ко мне подошла одна из матерых аналитиков и сказала: «Да не переживай ты. Ты не работал аналитиком в этой компании, если не ронял продовую базу 😃» Она же дальше и показала, как не допустить подобной ситуации в будущем: использовать LIMIT’ы, выгружать данные начиная с небольшого периода, постепенно его увеличивая, а также смотреть processlist выполняющихся запросов. И если все плохо – точечно убивать долгий процесс. Вот такая вот «традиция» у аналитиков в компании.)