id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id
title
category
status
canonical_id
aliases
duplicate_of
source_trust_level
confidence_score
verification_status
tags
raw_sources
last_reinforced
github_commit
tech_stack
wiki-2026-0508-complex-event-processing-cep
Complex Event Processing (CEP)
10_Wiki/Topics
verified
self
CEP
Event Stream Processing
복합 이벤트 처리
none
A
0.88
applied
cep
streaming
event-driven
flink
esper
2026-05-10
pending
language
framework
java
flink
Complex Event Processing (CEP)
매 한 줄
"매 stream of simple events → meaningful complex pattern" . David Luckham (Stanford, 2002) 가 정의한 paradigm. 2026 현재 Apache Flink CEP, Kafka Streams, Esper NEsper 가 main implementation; fraud detection, IoT anomaly, algorithmic trading 의 backbone.
매 핵심
매 개념
Event : timestamped 의 fact (transaction, sensor reading, click).
Pattern : temporal/causal relationship 의 events (A followed by B within 5s).
Window : sliding/tumbling/session 시간 frame.
Aggregation : count, sum, avg over window.
Correlation : 다중 stream 매 join (e.g., trades + market data).
매 pattern operator
Sequence : A → B → C (in order).
Conjunction : A AND B (any order, in window).
Negation : A NOT followed by B.
Iteration : A repeated N times.
Within : temporal constraint.
매 응용
Fraud detection — card swipes 매 different countries within 1h.
IoT — sensor reading exceeds threshold for 3 consecutive readings.
Trading — bid/ask spread anomaly detection.
Network security — port scan pattern (many SYN, few ACK).
SLA monitoring — 5xx error rate spike correlated with deploy event.
💻 패턴
Flink CEP — 3 failed login pattern
Esper EPL — fraud detection
Kafka Streams — sliding window aggregation
Flink — session window
Pattern with negation (NO heartbeat in 30s)
Modern: Materialize / RisingWave (SQL-native streaming)
매 결정 기준
상황
Approach
Java/JVM, complex patterns
Flink CEP
Kafka-centric, simple aggregation
Kafka Streams
SQL-first, low ops
Materialize / RisingWave
In-process, low-volume
Esper
Cloud-native, serverless
AWS Kinesis Data Analytics
기본값 : Flink CEP for complex patterns, Materialize for SQL-native streaming.
🔗 Graph
🤖 LLM 활용
언제 : pattern definition 매 natural language → EPL/Flink translation, alert explanation.
언제 X : micro-second latency hot path (LLM 매 too slow).
❌ 안티패턴
Unbounded state : window 없이 group-by → memory blowup.
Wall-clock instead of event-time : out-of-order event 매 wrong result.
Pattern explosion : NFA state count 매 exponential, pattern 너무 복잡.
No watermark : late event 매 silently lost.
🧪 검증 / 중복
Verified (Luckham 2002 Power of Events , Apache Flink CEP docs 2026).
신뢰도 A.
🕓 Changelog
날짜
변경
2026-05-08
Phase 1
2026-05-10
Manual cleanup — full content with Flink CEP, Esper, Materialize