Открыт код Vespa, движка обработки данных, лежащий в основе многих сайтов Yahoo
3 октября 2017 года
Компания Oath, в которую перешли активы Yahoo после покупки конгломератом Verizon, объявила (Архивная копия от 19 октября 2019 на Wayback Machine) об открытии движка обработки больших объёмов данных Vespa, который лежит в основе многих сервисов Yahoo, от Flickr и Yahoo News до обработчиков поисковых запросов и системы контекстной рекламы. Код написан на языках C++ и Java, и распространяется под лицензий Apache 2.0. Для упрощения установки Vespa подготовлен готовый образ Docker и пакеты в формате rpm.
Vespa позволяет c минимальными задержками производить вычисления над большими наборами данных, давая возможность за десятки миллисекунды формировать ответ независимо от размера данных и объёма трафика. Типовыми областями применения Vespa являются приложения для поиска информации, системы персональных рекомендаций, генерируемые в зависимости от предпочтений пользователя навигационные блоки, отображение облаков тегов. Например, во Flickr система Vespa осуществляет обработку ключевых слов и поиск изображений, обрабатывая несколько сотен запросов в секунду к базе из нескольких десятков миллиардов изображений. В рекламной сети Yahoo Gemini решение на базе Vespa выполняет обработку более 3 миллиардов запросов рекламных блоков в день с пиком до 140 тысяч запросов в секунду.
Ключевые возможности Vespa:
- Выборка контента при помощи комбинации из структурированных фильтров на основе SQL-подобных запросов и операций неструктурированного поиска;
- Группировка всех полученных результатов для компоновки итоговых страниц. Все полученные в результате запроса совпадения объединяются в группы и подгруппы, в которых данные агрегируются в наборы, позволяющие реализовать такие возможности, как построение графов связи, облаков тегов, навигационных блоков и т.п.
- Классификация и ранжирование совпадений при помощи моделей релевантности, подготовленных вручную или на основе систем машинного обучения. Каждый элемент подпадающий под запрос ранжируется в соответствии с заданной функцией для дальнейшего использования в таких областях как вычисление релевантности для поиска, формирование рекомендаций, таргетинг и персонализация;
- Обеспечение записи данных для постоянного хранения в режиме реального времени с производительностью на уровне нескольких тысяч записей в секунду на один узел;
- Данные сохраняются в виде документов с произвольной структурой полей, которые могут быть добавлены, заменены, изменены или удалены через простой HTTP API. Документы автоматически реплицируются на несколько узлов в соответствии с заданным в настройках коэффициентом резервирования;
- Поддержка расширения кластера, удаления узлов и переконфигурирования без остановки работы системы;
- Все компоненты Vespa включают средства резервирования и самовосстановления - сбои оборудования обрабатываются на лету и решаются добавлением нового оборудования;
- Отсутствие единой точки отказа, кластер Vespa распределяет данные и вычисления на разные узлы без применения одного управляющего master-сервера;
- Любое приложение для Vespa, независимо от того, будет оно работать на одном узле или в кластере из сотни узлов, оформляется в виде полностью сконфигурированного пакета. Система сама обеспечивает низкоуровневую конфигурацию узлов, процессов и компонентов на основе заданных в пакете правил;
- Система может гибко масштабироваться и запускаться как на одном хосте, так и в кластерах из сотен узлов, обрабатывающих десятки миллиардов документов.
Источники править
- Главная ссылка к новости (https://www.oath.com/press/ope...) (Архивная копия от 19 октября 2019 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.