Анализ данных в высоконагруженных инфраструктурах — опыт лида из Wildberries и VK

При выборе онлайн-образования в сфере IT исключительно важно учитывать уровень знаний и опыта преподавательского состава. Чем более крутые лекторы и наставники вам достанутся, тем больше ценных практических нюансов они смогут вам передать в ходе обучения. Одним из лидеров рынка в этом отношении является Центр непрерывного образования факультета компьютерных наук Высшей школы экономики.  В нем преподают исследователи с научными степенями, руководители IT-отделов крупнейших компаний и другие топовые эксперты.

Один из них — Ян Пиле, преподаватель Data Science и Python в Центре непрерывного образования факультета компьютерных наук НИУ ВШЭ. Ян руководит командой анализа данных маркетплейса Wildberries. До этого он лидировал схожие команды в VK и работал аналитиком в Яндексе. Мы поговорили с Яном о его опыте работы и мотивации преподавать в Вышке.

Справка: Анализ данных позволяет находить закономерности и взаимосвязи в потоке информации, а также осуществлять статистическое моделирование бизнес-процессов и действий пользователя. Сложность анализа данных зависит, в том числе, от нагрузки на IT-инфраструктуру компании. Примером систем с высокой нагрузкой являются сайты и базы данных маркетплейсов, которыми пользуются миллионы пользователей в день. В число задач специалистов по анализу данных входит обеспечение стабильности корпоративной системы сбора и обработки данных, а также релевантность итоговых результатов анализа.

Опишите, пожалуйста, до пяти ключевых принципов организации эффективного анализа данных в высоконагруженной инфраструктуре.

Во-первых, для аналитики должен быть заведен отдельный «слой» с данными, с быстрым доступом и возможностью для быстрой фильтрации и агрегации. Если это есть, то результаты аналитики не придется «варить» часами.

Во-вторых, попадающие в этот слой данные (да и вообще часто используемые данные) должны быть задокументированы, причем желательно — в автоматическом режиме, чтобы обновления приходили в документацию с минимальным участием человека. Если это есть, то не придется бесконечно бегать по разным ответственным за данные в попытках узнать «что за новое значение появилось в поле event_params»

Третье — это хорошая команда Data-инженеров (на это можно было бы заменить и первые два пункта). Для аналитики «плохие» данные — главная боль, потому что если «на вход» аналитику пришел мусор, то и «на выходе» ничего лучше ожидать не приходится. 

Далее, аналитика должна концентрироваться на результате (например для бизнеса, если вы «в индустрии»), а не на процессе. Это, конечно, так себе совет, но менее правдивым от своей очевидности он не становится. 

И не стоит забывать о принципе Парето. Большую часть результата почти всегда можно получить меньшими вложениями. Если что-то пошло не так, стоит начать с более простых гипотез, буквально посмотреть на данные глазами. Если вы считаете метрику, попробуйте «собрать» ее сначала на маленьком сэмпле, а не гоняйте терабайты данных туда-сюда.

Каковы преимущества микросевисной архитектуры в контексте управления данными?

Я бы сказал, что плюсы те же, что у «микросервисов» в принципе.

Прежде всего, это распределенность и независимость. Технически, микросервисы могут быть написаны на разных языках, а сами они могут писать информацию в разные, независимые друг от друга, базы данных и так далее. Если сломался один из них, это вовсе не означает, что «рухнет» и второй. Если вас, как аналитика, спрашивают о каких-то свойствах конкретного микросервиса (например, «как часто просматривается блок рекомендаций»), вам совершенно не обязательно перебирать огромный лог всех действий вашего продукта, можно пойти в конкретный небольшой источник данных, который относится к конкретному сегменту, и решить задачу «малой кровью».

Кроме того, сервисы легче заменять/подменять и масштабировать, чем куски одного монолита. Скажем, вы можете выстроить новую версию личного кабинета с новым способом разметки аналитических событий, не «убивая» старую версию и, если что-то с новой версией пойдет не так, плюс-минус быстро переключиться на старую, не слишком потеряв данные.

Позволю себе сказать и о минусах. С микросервисами тяжелее работать в том смысле, что это разрозненные звенья одной связанной системы. Если сам по себе сервис работает, это вовсе не означает, что он «дружит» со всей остальной системой. Тестирование ошибок в такой системе будет значительно сложнее плюс технологическая реализация труднее.

Вы преподаете Python. В связи с этим вопрос: Каковы границы применимости этого языка программирования в анализе данных? Правда ли, что после некоторых предельных показателей нагрузки решения на Python теряют эффективность и приходится переходить на R?

Да, в течение довольно длительного промежутка времени я его преподаю и почти ежедневно пишу на нем на работе, но программистом так и не стал. Пожалуй, мне трудно ответить на вопрос о том, где границы применимости, если я сам в них никогда не упирался. На курсах я люблю говорить, что Python так распространен потому что используется не «сам по себе», а в роли этакой «клавиатуры». Поясню: чтобы работать на компьютере, вы должны подавать команды процессору, однако вместо явного управления процессором вы что-то набираете на клавиатуре. В этом смысле используется и Python: для него написано огромное количество библиотек, внутреннее устройство которых «сделано» на намного более «быстрых» языках типа C++, Java, Go или Fortran, а Python только «вызывает» из них какие-то процессы. Так что с точки зрения аналитики данных (в которой я , собственно, и работаю), мне еще ни разу не доводилось сталкиваться с задачей, которую не получилось бы решить по алгоритмической причине. Ну а на R я вообще не пишу.

Расскажите, пожалуйста, о вашей мотивации в преподавании на курсах ЦНО ФКН ВШЭ? Что вас вдохновляет в этой работе?

Как бы патетично это ни прозвучало, в преподавании для меня есть элемент детской мечты — в какой-то момент я мечтал стать профессором. Может быть, когда-то и стану, но для начала нужно хоть кандидатскую дописать. Учить людей чему-то, рассказывать им что-то интересное кажется мне чем-то очень вдохновляющим, мне нравится это «само по себе» и дополнительной мотивации, как мне кажется, не требует. Кроме того, я считаю, что получается это у меня неплохо, а позитивные отзывы от студентов очень сильно мотивируют. Кстати, отрицательные отзывы тоже мотивируют, хотя и воспринимаю я это болезненно! Но только отрицательные отзывы «по делу», когда человек может объяснить, что именно не понравилось и что можно было бы изменить. 

Ну и еще, конечно, вдохновляют сами студенты — курсы ЦНО часто проходят взрослые люди с совсем не профильным образованием, и когда видишь, что человек преодолевает себя, достигает чего-то нового (а это, в общем-то, не слишком просто), пытается что-то новое понять, а самое главное — задает вопросы, на которые у тебя «с ходу» нет ответа, тогда понимаешь, что и тебе самому надо «получше разобраться» в чем-то. А такое я люблю.

От редакции:

Если вам понравилось это интервью, запишитесь на программу «Аналитик данных», на которой преподает Ян:

Или на короткие курсы по отдельным предметам:

Python для автоматизации и анализа данных

Прикладная статистика для машинного обучения

Математика для анализа данных

Если вам ближе онлайн образование, вы можете записаться на онлайн-курс:

Программирование на Python

Обложка — downloaded from Freepik.

Реклама. Национальный исследовательский университет «Высшая школа экономики» ИНН 7714030726. Erid:  2VfnxwhMYTa

Читайте также:

О том, как «Вышка» заряжает вашу карьеру в IT

Что общего у мозга и нейронных сетей? Мнение ученого и преподавателя ВШЭ.

Подписывайтесь
на наши каналы в Telegram

«Хайтек»новостионлайн

«Хайтек»Dailyновости 3 раза в день

Первая полоса
«Уэбб» раскрыл детали космической катастрофы: как звезда поглотила планету
Космос
Российский госсектор потратил 2,4 млрд рублей за год на оборудование для ИИ
Новости
Китайская компания анонсировала первый матч по боксу между роботами
Новости
Эта черная дыра «проснулась» настолько голодной, что нарушила все модели ученых
Космос
Мошенники начали использовать схему с домофоном, чтобы красть деньги с банковских карт
Новости
Галактика-соседка Млечного Пути начинает разрушаться: что происходит
Космос
Россиян поздравили с Днем космонавтики прямо с МКС
Космос
Разработаны «бактерии-шпионы»: они посылают сигнал, заметный с высоты
Наука
Ученые разработали «плащ-невидимку» для нейронов для лечения Паркинсона
Наука
В России разработали проект строительства атомной электростанции на Луне
Космос
Пробуждение гиганта: яркие вспышки наблюдали у проснувшейся черной дыры
Космос
В ИТМО придумали, как «продлить жизнь» ракового белка для тестирования лекарств
Наука
Создана карта полумиллиарда нейронных связей, которые позволяют мышам видеть
Наука
Ученые из Яндекса и MIT придумали, как запускать LLM на ноутбуках и смартфонах
Новости
Облачную платформу для квантовых вычислений создали в Университете Иннополис
Новости
Эйнштейн ошибся: возможно, пространства-времени вообще не существует
Космос
Тестовый снимок «Гершель» показал скрытые галактики во Вселенной
Космос
«Яндекс» ищет хакеров, чтобы проверить безопасность нейросетей
Новости
Запрет ИИ обсудят в России: каким будет новый закон
Наука
Google показала Ironwood: чип для ИИ, который в 24 раза быстрее самого мощного суперкомпьютера
Новости