Abstract:
Recently there has been a growing interest in sliding window join for scenarios,in which streams arrive at very high rates and a data stream management system is registered with many simultaneous queries. In order to process these continuous queries, a novel window join approach named M3Join and its implementation architecture Roujoin are proposed. Roujoin contains a join-routing-table and several join-areas, and is initialized or updated according to those simultaneous queries. Each tuple in the data streams is extended with a route tag. When an original tuple arrives, it is inserted into the corresponding buffer in one of the join-areas. Then it searches the join-routing-table and switches into the right join-area to perform join operations or return to the end users. The generated join tuples, whose route tags have been updated, iterate the above search and join procedures until there is no join result produced. Other original tuples are processed in the same way. The approach needs only one scan over the data streams since different join queries share the intermediate results. The experimental results indicate that the approach is feasible and efficient.