Search code examples
wso2complex-event-processingsiddhiwso2-cep

WSO2 CEP - Single Event Table for Multiple Execution PLans


I have been exploring WSO2 CEP for last couple of days.

I am considering a scenario where a single lookup table could be used in multiple execution plans. As far as I know, only way to store data all data is event table.

My questions are:

  1. Can I load an event table once(may be by one execution plan) and share that table with other execution plans?

  2. If answer of Q1 is NO, then it will be multiple copies of same data storing in different execution plans, right ? Is there any way to reduce this space utilization ?

  3. If event table is not the correct solution what are other options ?

Thanks in Advance, -Obaid


Solution

  • Event tables would work in your scenario. However, might you need to use RDBMS EventTable or Hazelcast EventTable instead of In-memory event tables. With them, you can share single table data with multiple execution plans.

    If you want your data to be preserved even after server shutdown, you should use RDBMS EventTables (with this you can also access your table data using respective DB browsers, i.e., H2 browser, MySQL Workbench, etc...). If you just want to share a single event table with multiple execution plans at runtime, you can go ahead with Hazelcast EventTable.