Continuous Computation Language (CCL) is the primary event processing language of SAP Event Stream Processor. You define projects using CCL.
CCL is based on Structured Query Language (SQL), and adapted for stream processing.
CCL supports sophisticated data selection and calculation capabilities, including features such as data grouping, aggregations, and joins. However, CCL also includes features that are required to manipulate data during real-time continuous processing, such as windows on data streams, and pattern and event-matching.
A SQL query typically executes only once each time it is submitted to a database server, and is resubmitted every time a user or an application needs to re-execute the query. By contrast, a CCL query can continuously process dynamic data, making it a key distinguishing feature. Once you define a CCL query in the project, it is registered for continuous execution and stays active indefinitely. When the project is running in the ESP server, a registered query executes each time an event arrives from one of its datasources.
Although CCL borrows SQL syntax to define continuous queries, the ESP server does not use a SQL query engine. Instead, it compiles CCL into a highly efficient byte code that is used by the ESP server to construct continuous queries within the data-flow architecture.
CCL queries are converted to an executable form by the CCL compiler. ESP servers are optimized for incremental processing, so the query optimization is different than for databases. Compilation is typically performed within the Studio, but you can also compile projects by invoking the CCL compiler from the command line.