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