TIME-BASED WINDOW EXPERIMENT 6

Time-based Window Experiment 6

Input: 

InStream(Time, Val) = {(3,10),(3,20),(5,30),(7,40),(7,50),(7,60),
                       (7,70),(9,80),(11,90),(13,100), ...} 

We configured input stream in three different ways: STuple (one tuple per batch), STime (all simutaneous tuples in the same batch), and SBatch (two simultaneous tuples per batch). As discussed in Setup of Coral8, STime and SBatch are derived streams obtained by using joins. Details can be found in query files of the experiment. 

Query:

Continuously compute the sum value of the tuples in the input stream using a time-based tumbling window of 3 seconds.  

Coral8: 

Query in Coral8 is as follows:  

INSERT INTO TimeR6
SELECT sum(Val)
FROM InStream
KEEP EVERY 3 SECONDS;

Result of the query in Coral8 is as follows:

Coral8(tuple-driven) = {(10),(30),(60),(40),(90),(150)
                        (220),(80),(170),...}
Coral8(time-driven)  = {(30),(60),(220),(80),(170),...}
Coral8(batch-driven) = {(30),(60),(90),(220),(80),(170),...}

Query and input files of the experiment can be found here

Oracle CEP:

Query in Oracle CEP is as follows:

ISTREAM(SELECT sum(Val) AS AggrValue
FROM InStream [RANGE 3 seconds SLIDE 3 seconds])

Result of the query in Oracle CEP is as follows:

Oracle CEP = {(30),(30),(300),(90), ...}

Project and input files of the experiment can be found here.

StreamBase: 

Query in StreamBase is as follows:

CREATE OUTPUT STREAM timeR6 AS
SELECT sum(Val) AS SumVal
FROM InStream[SIZE 3 ADVANCE 3 ON tstamp];

Result of the query in StreamBase is as follows:

StreamBase = {(60),(220),(170), ...}

Project files of the experiment can be found here. 

Explanation of the results given by the engines can be found in Section 6.2.6 of our journal paper.