Today, I give a comparison between Norikra and InfluxDB in terms of query features.
Introduction – What is Norikra, and What is InfluxDB
Norikra is a Schema-less Stream Processor based on Esper, which is a kind of CEP (Complex Event Processing) engine. With Norikra, we can use highly-functional SQL-like query for processing time series streaming data.
InfluxDB is a distributed time series database, which has a SQL-like query language designed for working with time series and analytics. It has a feature called “Continuous Query” which applies queries charged in advance, and stores the resulted data into a Series (which is like a “table” of RDBMS) progressively.
It looks both can do similar things.
So, I compared Norikra and InfluxDB in terms of query features. I felt that it would be nice to use InfluxDB if it has sufficent query features because it can also be used for data persistence.
I just write catalog tables here.
|PERCENTILE||YES||YES||Norikra implemented as a UDF|
NOTE: Norikra supports UDF, so users can create functions by themselves if they want
|Time batch window||YES||YES||Of course, both support the feature to process periodically|
|Externally timed batch window||YES||NO||A feature to process data based on the time field of messages|
|MERGE||NO||YES||A feature of InfluxDB to merge results from multiple tables. One can use regular expressions to specify tables|
|Query group||YES||NO||Make a group for queries|
|Program codes||YES||NO||One can write Java codes on Norikra queries|
|Nested JSON||YES||NO|| One can specify fields like
|ORDER BY||YES||NO|| InfluxDB has
Norikra won overwhelmingly. That said, because InfluxDB is a storage, but Norikra is an on-memory engine, the value of InfluxDB shall not be impaired in any way.