Search code examples
datatablesdata-storagewso2-daswso2-cep

wso2cep : Data Storage in addition to display


I was wondering if in addition to process and display data on dashboard in wso2cep, can I store it somewhere for a long period of time to get further information later? I have studied there are two types of tables used in wso2cep, in-memory and rdbms tables.

  • Which one should I choose?
  • There is one more option that is to switch to wso2das. Is it a good approach?
  • Is default database is fine for that purpose or I should move towards other supported databases like sql, orcale etc?

Solution

  • In-memory or RDBMS?

    In-memory tables will internally use java collections structures, so it'll get destroyed once the JVM is terminated (after server restart, data won't be available). On the other hand, RDBMS tables will persist data permanently. For your scenario, I think you should proceed with RDBMS tables.

    CEP or DAS?

    CEP will only provide real-time analytics, where DAS provides batch analytics (with Spark SQL) in addition to real-time analytics. If you have a scenario which require batch processing, incremental processing, etc ... You can go ahead with DAS. Note that, migration form CEP to DAS is quite simple (since the artifacts are identical).

    Default (H2) DB or other DB?

    By default WSO2 products use embedded H2 DB as data source. However, it's recommended to use MySQL or Oracle in production environments.