I'm trying to find out how WSO2 CEP
work, Event Stream
is simple, but what is Event Store
? It can store device history but in where? I'm thinking about Spark
and it only store data in memory, right? If I want to store device history in RDMS
, what I can do? Thanks
If I explain briefly how WSO2 CEP works or rather how CEP steaming engine works(which powers ITOS), There are events streams which carry device data, etc. You can write queries to consume these streams, do some manipulations/operations and produce another event stream as output. This will be done in real-time. Siddhi is the language which you will use to write these queries. Siddhi provides feature called event tables[1] where you can store events in either in-memory or RDBMS tables and later use it.
Event Store is a place where you can directly persist[2] incoming events to a RDBMS. But this data is mainly for the purpose of batch analytics which is powered by Apache Spark. With Event Store you can store the full stream and then later run hourly/daily Spark queries on them to extract stats. And of course you can do the same for data you stored in RDBMS though Siddhi which is mentioned earlier if needed.Following references will help to understand more.
[1] https://docs.wso2.com/display/DAS300/Siddhi+Query+Language#SiddhiQueryLanguage-EventTable
[2] https://docs.wso2.com/display/DAS300/Persisting+Data+for+Batch+Analytics
https://docs.wso2.com/display/IoTS100/How+WSO2+IoT+Server+Function
https://docs.wso2.com/display/DAS300/Architecture