2000 | Jianjun Chen, David J. DeWitt, Feng Tian, Yuan Wang
NiagaraCQ is a scalable continuous query system designed for Internet databases. It addresses the challenge of supporting millions of continuous queries by grouping similar queries based on their structures. This approach allows shared computation, reduces I/O costs, and minimizes unnecessary query invocations. NiagaraCQ uses an incremental group optimization strategy with dynamic re-grouping, enabling efficient query processing without re-grouping all queries. It also employs a query-split scheme that requires minimal changes to a general-purpose query engine and supports both change-based and timer-based queries uniformly. Additional techniques like incremental evaluation, push and pull models for data source changes, and memory caching ensure scalability. The system's design and performance are validated through experiments showing significant improvements in efficiency and scalability compared to non-grouping approaches. NiagaraCQ is part of the Niagara project, which aims to develop a distributed database system for querying XML data. The system supports continuous queries over multiple, distributed XML files and is implemented using a general query engine with minimal modifications. The paper presents the design of NiagaraCQ, its implementation, and experimental results demonstrating its effectiveness in handling large-scale continuous queries.NiagaraCQ is a scalable continuous query system designed for Internet databases. It addresses the challenge of supporting millions of continuous queries by grouping similar queries based on their structures. This approach allows shared computation, reduces I/O costs, and minimizes unnecessary query invocations. NiagaraCQ uses an incremental group optimization strategy with dynamic re-grouping, enabling efficient query processing without re-grouping all queries. It also employs a query-split scheme that requires minimal changes to a general-purpose query engine and supports both change-based and timer-based queries uniformly. Additional techniques like incremental evaluation, push and pull models for data source changes, and memory caching ensure scalability. The system's design and performance are validated through experiments showing significant improvements in efficiency and scalability compared to non-grouping approaches. NiagaraCQ is part of the Niagara project, which aims to develop a distributed database system for querying XML data. The system supports continuous queries over multiple, distributed XML files and is implemented using a general query engine with minimal modifications. The paper presents the design of NiagaraCQ, its implementation, and experimental results demonstrating its effectiveness in handling large-scale continuous queries.