Входные потоки процессора сложных событий 2.1.0

Я новичок в CEP 2.1, и мой вопрос связан с временными рамками, в течение которых CEP удерживает входной поток.

скажем, вы регулярно отправляете данные в какой-то входной поток, скажем, «HELLOSTREAM». как долго CEP сохраняет входные данные в поток, каково максимальное время и т. д.

скажем, если я буду отправлять данные каждый день в течение 365 дней, получу ли я все данные на 366-й день или он в какой-то момент обрежет данные (будет хранить последние 100 дней)? независимо от того, какое временное окно я установил в запросе?

есть ли предел?


person user2656744    schedule 06.08.2013    source источник


Ответы (2)


CEP — это сервер обработки в реальном времени. Он используется для поиска предварительно определенного шаблона в режиме реального времени и для мониторинга в реальном времени. Он хранит данные в памяти и обрабатывает события, но вы можете сохранять данные в cassandra для распределенной обработки...

Здесь данные будут храниться в памяти в зависимости от размера окна, который вы определили. Это зависит от типа окна, которое вы используете, и времени или длины, заданной для этого окна... Если вы не используете какое-либо окно, оно не будет храниться. данные в памяти...

Если вы хотите хранить данные за 365 дней или 100 дней, то это не вариант использования в реальном времени. Для этого вам нужно использовать автономный сервер обработки, такой как BAM.

person Mohanadarshan    schedule 06.08.2013
comment
привет спасибо за ответ ну, мы думали, скажем, о сценарии входа в систему, у вас есть данные о предварительных входах в систему для пользователя, скажем, за последние 100 дней, и когда приходит новый запрос на вход, чтобы сравнить, если он с того же IP-адреса и т. д. ... Вы думаете, что CEP не в порядке для этого ? (скажем, он отправляет кому-то предупреждение о том, что, возможно, учетная запись была взломана или что-то в этом роде), это очень простой пример: та же камера использует кредитные карты, где они использовались, и т. д. - person user2656744; 07.08.2013
comment
Я думаю, что ответ Раджива дает решение для вашего варианта использования... Эта поддержка будет предоставляться с использованием таблиц событий из CEP 3.0.0. - person Mohanadarshan; 07.08.2013

Чтобы добавить к ответу @Mohanadarshan, если вы хотите извлечь и сохранить некоторые значения из потока быстрых событий в течение длительного периода, лучшим подходом на основе CEP будет использование постоянных таблиц событий (которые будут включены в предстоящий CEP версия 3.0.0, которая будет выпущена в ближайшее время). Таким образом, вы сможете выполнять обработку в реальном времени некоторых извлеченных и сохраненных данных. Но, как упомянул @Mohanadarshan, если вам требуется пакетная обработка (и если вам не нужно ничего обнаруживать в режиме реального времени), WSO2 BAM будет лучшим вариантом.

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

person Rajeev Sampath    schedule 07.08.2013
comment
По поводу ваших вопросов о том, усекает ли окно события - ответ нет. Временное окно будет содержать все данные в соответствии с заданным периодом. Если вы используете временное окно в течение длительного периода и хотите обеспечить сохранность данных при сбоях сервера, одним из вариантов будет включение моментальных снимков. Время от времени это будет сохранять состояние окна, чтобы можно было сохранить все события, накопленные до последней операции создания моментального снимка. - person Rajeev Sampath; 07.08.2013