Яндекс: Технологии Big Data уже помогли нам увеличить рыночную долю
Компания «Яндекс» уже много лет анализирует большие данные, чтобы оптимизировать поиск, фильтровать спам, рекомендовать товары в «Яндекс-маркете» и строить маршруты в картах. В компании считают, что технологии Big Data помогли увеличить рыночную долю «Яндекса» во всех предоставляемых сервисах. О том, почему компания отказалась от помощи интеграторов в проектах Big Data и какие новые интернет-сервисы будут строиться на этих технологиях рассказал Олег Юхно, руководитель отдела эксплуатации инфраструктурных и финансовых сервисов компании.
CNews: На ваш взгляд, когда наступила эра «больших данных»?
Олег Юхно: «Большими» данные были всегда как технически, так и с точки зрения бизнеса. Равно как и всегда бизнес испытывал потребности в обработке этих данных. Тем не менее, сам термин Big Data появился относительно недавно, и сейчас словосочетание Big Data – это маркетинговый эвфемизм, несущий в себе сообщение: «Мы можем обработать любые данные».
Огромное количество компаний исторически просто копили данные. Они пользовались какой-то их частью для решения текущих проблем, а всю информацию просто не могли использовать из-за технологических ограничений. Сейчас появилось гораздо больше возможностей эти большие данные достать и обработать. С появлением соответствующих технологий произошла смена парадигмы, которая позволила анализировать огромные массивы данных на большом количестве серверов и очень сильно наращивать вычислительные мощности. И тогда появился термин Big Data.
CNews: Какие регионы лидируют в этой области?
Олег Юхно: Географически инфраструктура для анализа больших данных развита крайне неравномерно. Так, в глобальном масштабе безусловный лидер – США, далее идет Западная Европа, в остальном развитие точечное: Япония, Израиль, ЮАР, Австралия. В России это прежде всего Москва, Петербург, Новосибирск и другие крупные научно-промышленные и университетские центры.
CNews: Вы довольны решениями, предлагаемыми в секторе Big Data?
Олег Юхно: Инфраструктурные решения я бы подразделил на оборудование крупных вендоров, например Oracle, и на те надстройки, которые дописывают интеграторы. Обычно вендоры предлагают коробочное аппаратно-программное решение, к примеру, решение от Oracle, на котором стоит кластер Hadoop. Возможностей такого решения достаточно, например, для банков, но до десятков тысяч серверов, которыми оперирует «Яндекс», оно не масштабируется.
Для таких крупных объемов данных, как в «Яндексе», решений у интеграторов нет. Мы имеем дело с интенсивными потоками данных. У нас гораздо выше требования к отказоустойчивости, так как наша система очень большая – не сотни, а десятки тысяч серверов – и требуется заставить большое количество оборудования работать друг с другом.
Для внутренних потребностей «Яндекс» обычно разрабатывает собственные технологии, либо адаптирует внешние, существенно их дорабатывая.
CNews: «Яндекс» испытывает проблемы с поиском кадров для анализа данных?
Олег Юхно: Для решения более или менее понятных и простых задач в рамках больших данных (подсчет числа уникальных посетителей портала, уникальных покупателей магазина и так далее) высококвалифицированные кадры не нужны – их может выполнить человек, обладающий чутьем и понимающий проблему «на пальцах».
Олег Юхно: Готовых решений Big Data, масштабируемых до десятков тысяч серверов, нет
Если же говорить о полноценных специалистах по Data Science, владеющих статистическими методами матанализа и обладающих другими навыками, то они очень редки. Например, в США на каждого такого специалиста приходится от 20 до 40 предложений о работе, это одна из самых высокооплачиваемых профессий. В России ситуация еще хуже. «Яндекс» для подготовки таких специалистов создал Школу анализа данных, принимающую на конкурсной основе выпускников лучших технических вузов. Срок обучения в школе – 2 года. На данный момент школа выпустила уже 260 специалистов, причем выпускники работают не только в «Яндексе», но и других российских компаниях. Так мы поддерживаем ИТ-сообщество.
Что касается традиционных ИТ-интеграторов («АйТи», «Борлас» и других), то они пока очень сильно специализируются на традиционных ERP-системах, которые не настолько гибкие, чтобы очень быстро решать новые задачи, кардинально отличающиеся от изначально запрограммированных.
CNews: Что подтолкнуло «Яндекс» к экспериментам с Big Data?
Олег Юхно: Внедрение Big Data – закономерный этап развития компании и технологий. В какой-то момент мы поняли, что нам это необходимо для того, чтобы не стоять на месте и двигаться дальше.
Предпосылками к Big Data в нашей компании явились изначально очень большие объемы данных. «Яндекс» один из первых столкнулся с проблемой невозможности обработать эти объемы традиционными способами. Причины: традиционные технологии обработки либо концентрируются на одном сервере, либо очень плохо масштабируются. Примерно в 2006–2008 годах произошел перелом, когда серверные технологии перестали справляться с растущим потоком данных. Если раньше одного сервера было достаточно, то теперь потребовалось горизонтально расширять такие системы. Эта ситуация стала катализатором развития Big Data в современном понимании.
Поэтому, по мере появления каких-то технических и научно-технологических обоснований и возможностей, мы начали исследовать вопрос распределенной обработки данных. Первая система процессинга больших данных в «Яндексе» появилась примерно в 2007–2008 годах. Эта система использовалась не для игр, а реально обрабатывала много больших данных в режиме промышленной эксплуатации.
CNews: Какое подразделение «Яндекса» выступает внутренним заказчиком проектов Big Data?
Олег Юхно: «Яндекс» на две трети, если не больше, состоит из инженеров, высшее руководство – тоже бывшие инженеры. Соответственно, у большинства сотрудников есть техническое понимание решения появляющихся задач. Решения рождаются в процессе общего обсуждения. Так что традиционных отношений «заказчик-исполнитель» по сути нет. Это, скорее, эволюционный процесс.
CNews: Какими ресурсами осуществляете проект?
Олег Юхно: «Яндекс» предъявляет достаточно специфические требования к отказоустойчивости и масштабируемости, поэтому привлечение внешних подрядчиков, интеграторов, как правило, не оправдано. Интеграторы могут оперировать только готовыми кубиками от вендора. А у нас есть и стэк собственных технологий, и специфическая инфраструктура, подходящая под наши требования.
В качестве консультантов по проектам у нас выступают заказчики, которые описывают свою задачу. А дальше с ними работают инженеры и специалисты по Data Science, часть из которых окончили Школу анализа данных «Яндекса».
CNews: Как бы Вы могли резюмировать технологический опыт работы с Big Data?
Олег Юхно: Гипотеза, что реляционная СУБД пригодна для обработки больших данных при условии кластеризации, оказалась неправильной. А вот гипотеза, что мы должны масштабировать наши системы обработки данных на тысячи серверов, подтвердилась. Мы поняли, что должны учить нашу систему обработки данных функционировать в случае отказа одного из дата-центров. Еще стало ясно, что нужны средства визуализации, специализированные под конкретную задачу.
CNews: В каких проектах «Яндекса» применяются технологии Big Data?
Олег Юхно: Например, анализ больших данных помогает нам оптимизировать «Поиск», фильтровать спам в «Яндекс.Почте», делать рекомендации товаров на «Маркете», выбирать оптимальный маршрут в реальном времени в зависимости от загруженности магистралей и особенностей дорожной обстановки в «Картах» и «Навигаторе».
CNews: Какие достигнуты результаты?
Олег Юхно: «Яндекс» получил конкурентные преимущества перед другими глобальными интернет-компаниями, повысилась рыночная доля во всех предоставляемых сервисах.
CNews: А были разочарования?
Олег Юхно: Мы не пытались, решать с помощью Big Data те проблемы, которые изначально казались неподходящими для такого решения. Поэтому опыта неуспешных проектов у нас нет. Такие ситуации можно придумать абстрактно. Например, систему биллинга на Big Data строить бессмысленно, потому что у нее совершенно другие свойства. Она должна быть транзакционной и быстрой.
CNews: В каких новых проектах планируете применять Big Data?
Олег Юхно: С учетом Big Data будет развиваться платформа «Атом», которая за счет экспресс-анализа профилей посетителей сайтов позволит веб-мастерам адаптировать свои сайты под интересы пользователей. Мы будем анализировать большие данные, чтобы улучшить существующие сервисы и технологии. Кроме того, наши технологии Big Data используются для анализа и обработки данных геологоразведки, которыми занимается компания «Сейсмотек», а также для анализа и обработки данных в проектах CERN (Европейский центр ядерных исследований, ЦЕРН).
CNews: Что тормозит распространение технологий Big Data для оптимизации веб-сервисов?
Олег Юхно: Здесь есть как объективные факторы: недоразвитость инфраструктуры и недостаточное количество квалифицированного персонала, так и субъективные: неготовность бизнеса к крупным инвестициям (например, в строительство дата-центров), непонимание ценности анализа больших данных или неумение применить Big Data на практике. Существует также ряд сопутствующих технических проблем, таких как деперсонификация данных, характерная для банков и страховых компаний.