Continuous queries over append-only databases
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
NiagaraCQ: a scalable continuous query system for Internet databases
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
The state of the art in distributed query processing
ACM Computing Surveys (CSUR)
Chord: A scalable peer-to-peer lookup service for internet applications
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
Continuously adaptive continuous queries over streams
Proceedings of the 2002 ACM SIGMOD international conference on Management of data
Continual Queries for Internet Scale Event-Driven Information Delivery
IEEE Transactions on Knowledge and Data Engineering
PeerCQ: A Decentralized and Self-Configuring Peer-to-Peer Information Monitoring System
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
PSoup: a system for streaming queries over streaming data
The VLDB Journal — The International Journal on Very Large Data Bases
Estimating network size from local information
Information Processing Letters
The price of validity in dynamic networks
SIGMOD '04 Proceedings of the 2004 ACM SIGMOD international conference on Management of data
Simple efficient load balancing algorithms for peer-to-peer systems
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
The Essence of P2P: A Reference Architecture for Overlay Networks
P2P '05 Proceedings of the Fifth IEEE International Conference on Peer-to-Peer Computing
Distributed Evaluation of Continuous Equi-join Queries over Large Structured Overlay Networks
ICDE '06 Proceedings of the 22nd International Conference on Data Engineering
The CQL continuous query language: semantic foundations and query execution
The VLDB Journal — The International Journal on Very Large Data Bases
A Cost-Space Approach to Distributed Query Optimization in Stream Based Overlays
ICDEW '05 Proceedings of the 21st International Conference on Data Engineering Workshops
Locality Aware Networked Join Evaluation
ICDEW '05 Proceedings of the 21st International Conference on Data Engineering Workshops
Monitoring streams: a new class of data management applications
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
Querying the internet with PIER
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
Processing sliding window multi-joins in continuous queries over data streams
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
Network-aware query processing for stream-based applications
VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30
Tapestry: a resilient global-scale overlay for service deployment
IEEE Journal on Selected Areas in Communications
Efficient Processing of Continuous Join Queries Using Distributed Hash Tables
Euro-Par '08 Proceedings of the 14th international Euro-Par conference on Parallel Processing
Distributed processing of continuous join queries using DHT networks
Proceedings of the 2009 EDBT/ICDT Workshops
Hi-index | 0.00 |
This paper studies the problem of evaluating continuous multi-way joins on top of Distributed Hash Tables (DHTs). We present a novel algorithm, called recursive join (RJoin), that takes into account various parameters crucial in a distributed setting i.e., network traffic, query processing load distribution, storage load distribution etc. The key idea of RJoin is incremental evaluation: as relevant tuples arrive continuously, a given multi-way join is rewritten continuously into a join with fewer join operators, and is assigned continuously to different nodes of the network. In this way, RJoin distributes the responsibility of evaluating a continuous multi-way join to many network nodes by assigning parts of the evaluation of each binary join to a different node depending on the values of the join attributes. The actual nodes to be involved are decided by RJoin dynamically after taking into account the rate of incoming tuples with values equal to the values of the joined attributes. RJoin also supports sliding window joins which is a crucial feature, especially for long join paths, since it provides a mechanism to reduce the query processing state and thus keep the cost of handling incoming tuples stable. In addition, RJoin is able to handle message delays due to heavy network traffic. We present a detailed mathematical and experimental analysis of RJoin and study the performance tradeoffs that occur.