TUPLE-BASED WINDOW EXPERIMENT 5

Tuple-based Window Experiment 5

Input: 

InStream(Time, Val) = {(10,10),(10,20),(11,30),(12,40),(12,50),(12,60),
                       (12,70),(13,80),(14,90),(15,100), ...}
 
We configured input stream in two different ways for Coral8: STuple (one tuple per batch) and STime (all simutaneous tuples in the same batch). As discussed in Setup of Coral8, STime is derived streams obtained by using joins. Details can be found in query files of the experiment. 

Query:

Continuously compute the sum of the values over a tumbling window of size 2 tuples. 

Coral8: 

Query in Coral8 is as follows:

INSERT INTO R5
SELECT sum(Val)
FROM InStream
KEEP EVERY 2 ROWS;

Result of the query in Coral8 is as follows:

Coral8(tuple-driven) = {(10),(30),(30),(70),(50),(110),(70),
                        (150),(90), ...}
Coral8(time-driven)  = {(30),(30),(70),(150),(90), ...}

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 [ROWS 2 SLIDE 2])

Result of the query in Oracle CEP is as follows:

Oracle CEP = {(30),(110),(150), ...}

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

StreamBase: 

Query in StreamBase is as follows:

CREATE OUTPUT STREAM tupleR4 AS
SELECT sum(Val) AS SumVal
FROM InStream[SIZE 2 ADVANCE 2 TUPLES];
 
Result of the query in StreamBase is as follows:
 
StreamBase = {(30),(70),(110),(150), ...}
 
Project files of the experiment can be found here.
 
Explanation of the results given by the engines can be found in Section 6.3.5 of our journal paper.