DESIGN AND IMPLEMENTATION OF WINDOWED OPERATORS AND SCHEDULER FOR STREAM DATA
The new processing requirements of streaming applications like financial tickers, network monitoring, traffic management and sensor monitoring are forcing a re-examination of approaches and techniques used in traditional DBMS due to its inability to operate on streaming data as they would require potentially unlimited resources for collecting, storing and processing real time unbounded streamed data in timely manner. Hence the need of a system is realized whose computation can keep up with the data flow to provide real time response to streamed queries by processing endless data streams on the fly.
This thesis addresses the design and implementation of a Query Processing Architecture for stream data, modeled as a client server architecture comprising of various modules such as Instantiator, Stream Operators and Scheduler.. A data-flow operator/queue graph is used for representing a query plan. Instantiator has the responsibility of initializing and instantiating stream operators on accepting user queries from the client over a predefined set of protocols. Aggregates and Nested Join operators have been designed to operate on continuous streams that provide continuous output using the window concept. A new operator called Split has been introduced to divide single heterogeneous stream into multiple homogeneous streams based on application logic. A scheduler has been included so that different scheduling approaches (e.g., round robin, dataflow, weighted round robin) can be tried to understand their effect on response time, memory usage etc. Experiments have been performed by to measure average tuple latency, total query time and memory usage (main and secondary) for different data rates and input stream sizes.