130 likes | 430 Views
Coral8 CCL: Enabling Sophisticated CEP Applications. Background: Coral8. Established: 2003, Shipped product 11/2005 Products: Coral8 Engine Coral8 Portal Continuous Computation Language (CCL) SQL-based EP language Concepts from Stanford Project Streams (Dr. Rajeev Motwani)
E N D
Coral8 CCL: Enabling Sophisticated CEP Applications
Background: Coral8 • Established: 2003, Shipped product 11/2005 • Products: • Coral8 Engine • Coral8 Portal • Continuous Computation Language (CCL) • SQL-based EP language • Concepts from Stanford Project Streams (Dr. Rajeev Motwani) • Over 2,500 registered developers at Coral8.com
Keys to a CEP Language • Familiarity • Simplicity with Extensibility • Control • Modularity • Complex data types • Inline integration with external data • Open access and feedback
Simplicity & Extensibility • Clauses/functions for often used actions • Event patterns (incl. causality) • Aggregations/Calculations • Conversions • Allow users to extend with their own functions • Single expression (EXECUTE) • Internal UDFs • External UDFs via API • Have options be “configurable”, but can be “tuned” by the programmer
Control: Data Sets & Time • Timestamp vs. Wall clock • Allow policies “outside the code” • Ordering and delay • Indexing • Can be overridden by the programmer if they wish • Sophisticated Window policies • Time, Row, Combined Time & Row • Sliding, Jumping • Offer ALL 6 combinations • Queryable Windows (standard SQL)
Control: Programming • State control • Insert, Update and Delete to Windows • Procedural extensions • Variables • Conditionals (IF-THEN-ELSE, CASE, etc.) • Loops • Splitters • Output control • Inline flow control • Fork/Join • Parallel, pipelined • Maneuverability • Prev, First, Last, Min, Max, Coalese
Event Patterns • Simple expressions for complex pattern detection • Find occurrence of events AND lack of event • Nested • Multiple match options • Automated causality reporting
Modularity • Facilitates re-use and flexibility • User defined functions (in language) • Modules/Sub-modules • Parameterization • Shared Windows & stream schemas • Easily link streams between modules
FIX FpML XML FIX FpML XML Complex Data Types & Events • Native XML data type • 18 XML functions (SQL/XML similar) • High performance implementation • Can be mapped to other complex data types (FIX, etc.) CEP Engines without Complex Data Support Coral8 Native Complex Data Support VS. Merge/ Join Stream Analysis Direct Stream Analysis Merge/ Join Stream Analysis <xml> </xml> Merge/ Join Stream Analysis
Inline Integration • 90+% of CEP apps will integrate external data • Offer multiple options • Make static data look like streams • Make static data look like tables • Data “load” adapters (with synchronization) • Inline database subqueries (with caching) • Inline RPC calls (non-database data)
Open Access & Developer Interaction • Freely downloadable CEP engine • Download is fully featured engine, language & tools • Over 2,500 registered developers • Variety of OEM/Adapter partners • Continuous feedback from community
Corporate Headquarters82 Pioneer Way, Suite 106Mountain View, CA 94041 Phone:+1.650.210.3810Fax: +1.650.210.3811Email: sales@coral8.com contact us www.coral8.com