StreamCruncherDownload & Release Notes

Please make sure that you have read and agreed to the terms of the License agreement.

The downloadable Package contains the following
a) StreamCruncher binaries
b) JavaDocs for the API and Test Cases
c) Offline version of the Website
d) Source code of the Test cases. These also serve as Demos.
e) Windows batch files to compile and run these Tests
f) Properties files to help you get started
g) Third party Libaries with their Copyright notices and/or License agreements

a) The Properties and Batch files have to me modified to match your environment. The streamcruncher/test/testng.xml file lists all the Test Cases. Only one Test can be run at a time. The appropriate Database Suite type and the Test Case must be uncommented in the XML file before running the Test.
b) Databases and/or their Drivers are not provided except for the H2 Database and Driver. You will have to obtain them from the respective Vendors/Websites. The H2 Database is provided so that you can run a quick demo without having to install anything other than the correct JDK. And Derby ships with JDK 1.6.
c) StreamCruncher uses and ships with the following Software binaries. The Author wishes to thank their Developers and/or Contributers for making them available freely - ANTLR Parser/Lexer, OGNL, some Apache Commons libraries, TestNG and H2 Database.
d) All Test Cases have generic versions, with all the logic contained at that level and a second level of Database specific implementations. These are mostly due to differences in Datatypes supported. Some generic Test Cases have not been implemented for all Databases, to save time. One can easily create an implementation if it is missing.
e) Some Test Cases might fail if the Database is slow or the H/w on which the Kernel is running is slow. Tests using Time based Windows might have this problem because the Windows are time sensitive and the order and speed of expiry and hence Query execution might be different from the settings on which the Author originally wrote and ran the Tests. In such cases the data expected by the "Test Assertions" might have to be modified.

Downloadable packages Release notes

Nov 03, 2007 (About 6.0 MB)

License changed to Lesser GPL

Oct 06, 2007 (About 5.4 MB)

1) Correlation Queries ( alert..when..) and Queries with just one Stream have been re-architected to perform better and do not use the Database. The Post-Filter (where..) clause for these 2 Queries support a limited set of Operators - <, >, !=, =, *, /, +, -, in (..), not in (..), and, or. The in clause can refer to an SQL Sub-Query. Such Sub-Queries are cached by the Kernel to improve performance. case..when.., first, distict, limit clauses, group by, having and other operations do not work for these 2 Queries since they do not use the Database.

2) RowSpec class has changed and the API accepts Java Data types instead of Database specific types.

Aug 19, 2007 (About 5.4 MB)

1) Correlation Queries ( alert..when..) have been re-architected to perform better. The Post-Filter (where..) clause for such Correlation Queries supports these Operators - <, >, !=, =, *, /, +, -, in (..), not in (..), and, or. The in clause can refer to an SQL Sub-Query. Such Sub-Queries are cached by the Kernel to improve performance. case..when.., first, distict, limit clauses, group by and other Group functions do not work temporarily

2) OutputSession's return value is now List<Object[]> instead of Object[][]

3) New Test classCorrelationPerfTest performs a Load test where 4 Event Streams are monitored by 3 different Correlation Queries

Jul 17, 2007 (About 5.4 MB)

1) Pre-Filter for Input Event Streams support <, >, !=, =, *, /, +, -, in (..), not in (..), and, or. The in clause can refer to an SQL Sub-Query. Such Sub-Queries are cached by the Kernel to improve performance

2) An additional property cacherefresh.threads.num can be configured to specify the number of Sub-Query Cache processing Threads to use

3) 2 new Test cases have been added to test the new features - H2StartupShutdown3Test and ThreeEventOrderTest

StreamCruncher 2.0 Beta

Jul 04, 2007 (About 5.4 MB)

StreamCruncher 2.0 is the result of a major refactoring job.

1) The API has been greatly simplified. The internal architecture has changed considerably, resulting in a vast improvement in performance

2)Plain Windows constructs that were available in previous version has been removed entirely. Partitions are the only construct now. The syntax for Simple (anonymous) Window Partitions has changed slightly, in that there is no by keyword between partition and store

3) An additional property db.schema can be specified, as the Database Schema in which the Kernel creates its internal artifacts

4) Chained Partitions from now on, must always have a Pre-Filter clause starting with $row_status is new/dead

5) The Kernel can now accommodate Events that arrive out-of-order. OutOfOrderEventTest demonstrates this new ability

6) Pre-Filter temporarily does not support the complete SQL grammar like in, exists

StreamCruncher 1.14 Release Candidate

May 28, 2007 (About 4.4 MB)

self# to enable efficient Self-Joins on Partitions. StockPriceComparisonTest demonstrates this syntax.

StreamCruncher 1.13 Release Candidate

Apr 22, 2007 (About 4.4 MB)

1) Support for Oracle 10g Database added

2) Another subtle Concurrency bug fixed

StreamCruncher 1.12 Release Candidate

Apr 13, 2007 (About 4.3 MB)

1) Subtle Concurrency bugs fixed. Out of Beta!

2) TimeWindowFPerfTest modified to capture more metrics

StreamCruncher 1.11 Beta

Apr 08, 2007 (About 4.3 MB)

1) Syntax diagram updated

2) Javadoc added to Website

StreamCruncher 1.10 Beta

Apr 07, 2007 (About 4.3 MB)

1) $diff clause for In-built Aggregate Functions along with custom Baseline Provider feature. ClusterHealthTest demonstrates this new feature

2) Custom Window size Provider should now be declared in the Query, statically. TimeWFPartitionWinSizeProviderTest demonstrates this change

3) A simple class StandAloneDemo shows how to run a sample using just the Java main(..) method. sc_run_standalone.bat can be used to run the Demo

StreamCruncher 1.09 Beta

Mar 18, 2007 (About 4.3 MB)

Multi-Stream Correlation/Pattern matching feature added. MultiStreamEventGeneratorChainTest demonstrates this new feature.

StreamCruncher 1.08 Beta

Feb 10, 2007 (About 4.2 MB)

Support for PointBase Database added

StreamCruncher 1.07 Beta

Feb 07, 2007 (About 4.2 MB)

1) Solid JDBC Driver Build 04.50.0110 and above, does not have issues with Result.getTimestamp() on Timestamp columns. The StreamCruncher patch for this has been removed as there is not need for it anymore
2) Different Windows in the same Partition can have different Window sizes. WindowSizeProvider and TimeWindowSizeProvider classes in the streamcruncher.api package can be used for such customizations. A detailed example is provided in TimeWFPartitionWinSizeProviderTest

StreamCruncher 1.06 Beta

Jan 26, 2007 (About 4.2 MB)

1) case..when..then..end clause now supported in the select.. clause. This feature works only if the Database underneath, supports it. CaseWhenClauseTest demonstrates this clause
2) limit n offset m or first | top m clause works, if the Database supports this clause. TopOrLimitClauseTest demonstrates this clause

StreamCruncher 1.05 Beta

Jan 23, 2007 (About 4.2 MB)

1) db.privatevolatile.instance option added to the Kernel configuration list
2) Partition processing re-designed. Queries with Partitions containing the Pre-Filter clause do not get triggered unless the Event makes it through the Pre-Filter. Events are also fetched and Pre-Filtered for the next cycle in parallel with Query processing. PreFilterTriggerTest added to demonstrate this feature. With this change, it is possible to have true Load distribution using the Pre-Filter clause to split Events across multiple Queries (Query Partitioning). Multi-Core/Multi-Processor Hardware should see better Query performance due to Latency reduction - better Reaction times.

StreamCruncher 1.04 Beta

Jan 06, 2007 (About 4.1 MB)

1) Connection leak in ANTs and Solid Database wrapper code fixed
2) Classes compiled with "target=1.5" option - all further versions will use this option

StreamCruncher 1.03 Beta

Jan 04, 2007 (About 4.1 MB)

1) Aggregates enhanced with the pinned and entrance only clauses
2) ReStockAlertTest modified to use the pinned and entrance only clauses
3) Support for ANTs Data Server and Solid BoostEngine added

StreamCruncher 1.02 Beta

Dec 25, 2006 (About 4.1 MB)

1) Highest/Lowest Window construct enhanced with update group clause
2) More real-world examples like ReStockAlertTest, SLAAlertTest, TopSellingItemsTest and ShipmentAggregatorTest added to the Test Cases

StreamCruncher 1.01 Beta

Dec 18, 2006 (About 4 MB)

1) Added JavaDocs for Test Cases
2)Complex Co-related Sub-Query Test Case added

StreamCruncher 1.0 Beta

Dec 14, 2006 (About 3.9 MB)

Initial release.