Continuous queries in oracle

  • Authors:
  • Andrew Witkowski;Srikanth Bellamkonda;Hua-Gang Li;Vince Liang;Lei Sheng;Wayne Smith;Sankar Subramanian;James Terry;Tsae-Feng Yu

  • Affiliations:
  • Oracle USA 400, Oracle Parkway, Redwood Shores, CA;Oracle USA 400, Oracle Parkway, Redwood Shores, CA;Oracle USA 400, Oracle Parkway, Redwood Shores, CA;Oracle USA 400, Oracle Parkway, Redwood Shores, CA;Oracle USA 400, Oracle Parkway, Redwood Shores, CA;Oracle USA 400, Oracle Parkway, Redwood Shores, CA;Oracle USA 400, Oracle Parkway, Redwood Shores, CA;Oracle USA 400, Oracle Parkway, Redwood Shores, CA;Oracle USA 400, Oracle Parkway, Redwood Shores, CA

  • Venue:
  • VLDB '07 Proceedings of the 33rd international conference on Very large data bases
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes Continuous Queries (CQ) in Oracle RDBMS, a feature that incorporates stream and complex event processing into an RDBMS, the first such attempt in commercial databases. The feature is based on the concept of query difference and allows us to monitor real time changes to the query as the result of changes to its underlying tables. The result of a continuous query can be deposited into historical tables or queues for further asynchronous de-queuing, or can invoke a synchronous trigger for procedural processing. The main contribution of our CQ engine is that it allows us to react to complex scenarios of changes to data such as mixed INSERT, DELETE and UPDATE changes, unlike the existing stream processing systems that deal with INSERTS only. We support a wide range of query shapes including inner, semi and anti-joins, aggregates and window functions. More details are given to the efficient computation of query difference for general cases and their optimizations based on semantic constraints. They are shown to improve the response time for practical cases by more than an order of magnitude. We also show how delaying CQ re-computation can improve its performance by batch processing the changes to the base tables.