Vespa, движок обработки «больших данных» сервисов Yahoo, стал открытым проектом

Компания Oath, владеющая активами Yahoo, выпустила в открытый доступ движок обработки данных Vespa, являющийся основой большинства сервисов Yahoo.
Vespa

Об этом компания объявила в своём пресс-релизе. Отмечается, что Oath всегда была нацелена на выпуск всех своих продуктов обработки Big Data в свободный доступ — от открытия исходного кода Hadoop в 2006 году до состоявшегося открытия GitHub-репозитория движка Vespa.

Архитектура проекта Vespa

Зачем нужен Vespa?

Создание приложений подразумевает использование огромных объёмов данных. Разработчики могут использовать Hadoop для хранения и обработки Big Data, Storm для потоковой обработки данных, однако до нынешнего момента не было технологии, позволяющей показывать результаты в удобном для конечного пользователя виде.

Обработка запросов пользователей для поиска в большом объёме данных является серьёзным вызовом, особенно, когда необходимо вернуть ответ на запрос моментально. Именно с этим может помочь Vespa. Проект может находить ответы на запросы среди больших объёмов данных в режиме реального времени с минимальными задержками, вне зависимости от размера данных.

Хорошим примером использования являются поисковые системы, системы персональных рекомендаций, генерируемые в зависимости от предпочтений пользователя навигационные блоки, отображение облаков тегов. В общем, все приложения, результаты работы которых зависят от запроса пользователя, а не заранее рассчитанных ответов.

Где используется Vespa?

В настоящее время Vespa используется во многих сервисах Yahoo, включая Yahoo.com, Yahoo News, Yahoo Sports, Yahoo Gemini, Flickr и другие, и позволяет выполнять миллиарды запросов пользователей для миллиардов существующих документов. Например, в сервисе Flickr Vespa осуществляет сотни запросов в секунду к базе данных, состоящей из миллиардов изображений.

Ключевые особенности Vespa:

  • Выбор контента с использованием SQL-подобных запросов и текстового поиска;
  • Группировка всех результатов для компоновки итоговых страниц;
  • Ранжирование записей с применением машинных моделей релевантности;
  • Вывод результата на запрос в течение нескольких миллисекунд;
  • Обеспечение записи данных для постоянного хранения в режиме реального времени; несколько тысяч записей в секунду на один узел;
  • Перенастройка кластеров без перевода серверов в режим офлайн;
  • Применение распределённой системы вычислений без использования мастер-нода для избежания потери производительности;
  • Запуск системы как на одном узле, так и на кластере.

Приступаем к работе

Для облегчения установки Vespa команда разработчиков подготовила Docker-контейнеры и rpm-пакеты, а также руководства по установке системы на рабочем компьютере или облачных сервисах AWS.

Также разработчики обещают выпустить серию руководств, объясняющих, как создать приложение с использованием Vespa. Но уже доступна документация продукта, которая поможет начать работу с Vespa прямо сейчас.

Источник: блог Oath