Алексей Мещеряков, руководитель направления платформенных решений, компания SAS Россия/СНГ
Для современного бизнеса становится все более важной возможность быстро и всесторонне оценить ситуацию и принять на этой основе обоснованное решение. Такая возможность – один из залогов конкурентоспособности компании любой сферы деятельности. Поэтому все бóльшую актуальность приобретают технологии анализа больших объемов данных, причем в режиме реального времени, по мере их генерации.
Пользователи различных услуг и всевозможные устройства (гаджеты, датчики, сенсоры) ежесекундно генерируют миллионы событий. Традиционный подход к их анализу предполагает сохранение данных обо всех событиях в хранилище, куда периодически поступают запросы от аналитического приложения. Таким образом можно проанализировать колоссальные объемы данных, сделать выводы о причинах тех или иных событий и даже составить прогноз на будущее, но невозможно мгновенно отреагировать на событие. Можно установить факт мошенничества в системе банковского обслуживания, но нельзя заблокировать подозрительное действие (например, транзакцию) в момент попытки его совершения. Можно установить причину оттока клиентов, но нельзя сделать конкретному клиенту интересное для него предложение прямо в момент контакта с ним. Во многих случаях необходимо анализировать данные до того, как они станут неактуальными. Для решения подобных задач требуется непрерывный анализ событий по мере их возникновения и возможность обоснованно на них реагировать в режиме реального времени. Именно для этого предназначено программное решение SAS Event Stream Processing (ESP), которое анализирует непрерывно обновляющиеся данные до их помещения в хранилище.
Анализ данных «в движении»
Потоковая обработка больших данных стала доступна на рынке сравнительно недавно – не более трех лет назад. Несмотря на это, сейчас на рынке представлено немало решений в этой области как от крупных вендоров, так и свободно распространяемых. Обычно они реализуются в виде сервисной шины, а их работа описывается в терминах технических операций.
Особенность решения SAS ESP в том, что адресовано оно не ИТ-специалистам, а непосредственно бизнес-пользователям – руководителям направлений, маркетологам, риск-аналитикам и пр. ESP позволяет пользователям применять бизнес-правила (аналитические модели) непосредственно к данным, поступающим в непрерывном потоке, не утруждая себя решением вопросов производительности систем, накопления и хранения необходимых для работы данных или исследованием особенностей обработки постоянно обновляющихся данных. Помимо традиционных операций фильтрации, агрегации и выявления закономерностей в непрерывно меняющихся входных данных серверная часть ESP предоставляет возможность «на лету» исполнять аналитические модели (например, различные виды скоринга), применять правила нечеткого поиска (SAS Data Quality) и текстовую аналитику (SAS Text Analytics).
SAS ESP работает в парадигме публикации и подписки: ESP запускает механизмы непрерывных запросов на внутренней модели данных (событий). Внешние по отношению к ESP системы (шины данных, процессинг) публикуют потоковые данные во входное окно ESP посредством поставляемых в составе решения коннекторов и адаптеров. Системы-подписчики (отчетности, расследования, мониторинга и пр.) подписываются на выходные окна и получают из них интересующие отобранные события для визуализации или дальнейшего анализа.
Решение ESP используется в тесной связке с аналитическими инструментами SAS. В большинстве реализаций ESP выступает для них в качестве внешнего интерфейса к другим приложениям. Получая от приложений-источников поток событий, ESP его обрабатывает и фильтрует, отправляя интересующие события в специализированные аналитические приложения (например, SAS Predictive Asset Maintenance, SAS High-Performance Risk, SAS LASR Server) для более глубокого анализа. Целевые приложения получают интересующие события по подписке. Операции публикации и подписки могут происходить как на том же сервере, так и на любой другой машине в сети.
Модели ESP обрабатывают и анализируют входящие события в памяти сервера в режиме реального времени. Под события в ESP выделяется область памяти и задается глубина истории хранения, которую можно гибко настраивать. Это позволяет выявлять закономерности или проводить анализ событий за определенный период времени.
Основные характеристики SAS Event Stream Processing
Инкрементальное обновление результатов: постоянные запросы к данным «в движении» с постоянно обновляемыми результатами
Очень низкая латентность: время реакции на событие – от миллисекунд до микросекунд
Огромные объемы: возможность обработки более 1 млн событий в секунду
Высокая производительность: выделение оперативной памяти сервера для повышения производительности
Сохранение данных: сохранять можно отдельные процессы (окна событий) с политиками агрегации и интересующие события
Архитектура решения
Решение SAS Event Stream Processing является очень гибким и на этапе проектирования может встраиваться в различные типы архитектур.
Как правило, SAS Event Stream Processing включает:
- системы-источники, публикующие события в ESP через адаптеры и коннекторы;
- сервер (на Unix или Windows), который запускает несколько моделей ESP. Этот сервер может быть реализован в виде отказоустойчивого кластера;
- целевые приложения, которые подписаны на ESP и получают интересующие события через коннекторы и адаптеры.
В зависимости от потребностей бизнеса или имеющихся технологический ограничений возможны различные вариации указанной архитектуры.
Интеграция с аналитическими приложениями
SAS Event Stream Processing позиционируется как глобальное решение с аналитикой потоков событий, а не как отдельный продукт. Движок SAS Event Stream Processing Engine уже интегрирован во многие решения SAS. Он также может использоваться в качестве внешнего интерфейса для других систем. Другие решения SAS он дополняет возможностями обработки потоковых данных в режиме реального времени. В общем виде схема интеграции ESP с прочими решениями SAS такова:
- потоки больших данных генерируются в источниках;
SAS ESP непрерывно обрабатывает эти потоки – отфильтровывает релевантную информацию или отслеживает интересующие пользователя паттерны событий – и направляет итог обработки в специализированные аналитические приложения;
- приложение углубленной аналитики осуществляет комплексный анализ полученной информации, моделирование ситуации, генерацию возможных решений. При этом вычислительные ресурсы расходуются на обработку только релевантной информации, что снижает требования к аппаратной части решения;
- результат анализа визуализируется и представляется конечному пользователю. При необходимости можно настроить систему на рассылку пользователям уведомлений об изменениях ситуации, выявляемых в режиме реального времени.
В процессе работы интегрированного решения пользователь может задавать дополнительные правила и модели работы с интересующими его событиями, таким образом постепенно совершенствуя аналитический инструментарий.
Выводы
Возможность обрабатывать миллионы событий в секунду и реагировать на них в течение микросекунд позволяет найти для решения SAS ESP множество сфер и сценариев применения, спектр которых ограничивается только воображением. При этом SAS ESP – непрерывно развивающееся решение. Совершенствуются и становятся доступнее инструменты разработки ESP, расширяется список готовых адаптеров и коннекторов к различным источникам данных и целевым системам, углубляется интеграция ESP с другими решениями SAS.