CCL

Continuous Computation Language (CCL) replaces AleriML as the primary event processing language of Sybase Event Stream Processor.

CCL is based on Structured Query Language (SQL), but is adapted for event stream processing. Functionally it is similar to AleriML, but has these differences:

Sybase Event Stream Processor 5.0 CCL is the next generation of the language, simplified and streamlined. CCL comes from Sybase CEP R4, but does not support all of the syntax and semantics of Sybase CEP R4. For CCL syntax and usage details, see the CCL Programmers Guide.

CCL retains the ability to embed SPLASH code. You can use SPLASH to define custom functions and operators, called Flex operators (Flex streams in Aleri). The SPLASH language is unchanged. For SPLASH details, see the SPLASH Programmers Reference and the SPLASH Tutorial.

Event Stream Features

CCL event streams offer greater flexibility than AleriML:
  • Streams and windows are distinct. In AleriML all event streams were called streams, but they had state, making them more like windows. In CCL, both streams and windows process events. Windows have state, meaning they can retain and store data, while streams are stateless and cannot.
  • Streams do not have primary keys.
  • Streams support only inserts. Windows, depending on their type, support inserts, updates, deletes, and upserts.
  • Delta streams, like regular streams, are stateless, but can have primary keys, and can process updates and deletes. You can use delta streams for optimization in some use cases, such as downstream from a window where updates and deletes must be preserved, but there is no need to retain state.
  • Streams and windows can be input, local, or output. Local streams and windows are visible only inside the Event Stream Processor project; only output streams and windows are visible externally, simplifying choices for users implementing downstream applications.
  • A Flex operator can produce either a stream or a window.

Flexible Continuous Queries

CCL can define a stream or window to contain a continuous query. The query is not "typed," that is, you need not identify it as a join, aggregate, or other stream type as in Aleri. For ease of use, the standard query types are available, but generic stream and window objects can contain unconstrained CCL queries.

CCL supports inner joins, in addition to other join types supported by AleriML.
Note: The Event Stream Processor compiler is more strict with joins than the Aleri compiler. Some cases may migrate, but not compile on the Event Stream Processor Server.

Compilation

CCL queries are converted to an executable form by the CCL compiler. Compilation is typically performed within Event Stream Processor Studio, but it can also be performed by invoking the CCL compiler from the command line.