We will turn now to improving the performance in your Event Processors using the concurrency feature with the Continuous Query Language (CQL). For CQL queries that requiring ordering, the CQL engine uses internal locks, as you would expect to maintain integrity, however this can result in lock contention and slower performance if multiple threads are active in a single processor instance.
In Oracle Event Processing 11.1.1.6 and later releases, the support for parallelism in the CQL engine has been enhanced, allowing lock contention to be minimized or eliminated for CQL queries with specific types of ordering constraints. This capability is implemented using the
ordering-constraint
attribute.
Use ordering-constraint="UNORDERED"
for stateless queries where order doesn't matter (filtering). This will allow your application to scale to large number of threads/CPU cores without contention.
Use ordering-constraint="PARTITION ORDERED"
guarantees that ordering will...