An Efficient Join Algorithm for Data Streams with Overlapping Window

중첩 윈도우를 가진 데이터 스트링을 위한 효율적인 조인 알고리즘

  • Published : 2009.05.15

Abstract

Overlapping windows are generally used for queries to process continuous data streams. Nevertheless, existing approaches discussed join algorithms only for basic types of windows such as tumbling windows and tuple-driven windows. In this paper, we propose an efficient join algorithm for overlapping windows, which are considered as a more general type of windows. The proposed algorithm is based on an incremental window join. It focuses on producing join results continuously when the memory overflow frequently occurs. It consists of (1) a method to use both of the incremental and full joins selectively, (2) a victim selection algorithm to minimize latency of join processing and (3) an idle time professing algorithm. We show through our experiments that the selective use of incremental and full joins provides better performance than using one of them only.

일반적으로 중첩 윈도우는 스트림 질의에서 흔히 이용된다. 그럼에도 불구하고, 기존의 연구에서는 범플링 윈도우나 튜플-드리븐 윈도우 등의 기본적인 윈도우만을 가정하고 조인 알고리즘을 다루었다. 본 논문에서는 보다 일반화된 윈도우의 형태인 중칩 윈도우상에서 조인을 효율적으로 처리하기 위한 알고리즘을 제안한다. 제안하는 알고리즘은 기본적으로 점증 조인 후 합병하는 방법을 이용한다. 그리고, 대량의 입력으로부터 메모리 오버플로우가 빈번하게 발생하는 상황에서 연속적으로 윈도우 조인 결과를 생성하는 방법에 중점을 두었다. 제안하는 방법은 (1) 점증 조인과 중복을 허용한 완전 조인을 선택적으로 이용하는 방법, (2) 조인 결과의 지연을 최소화하기 위한 필체 대상 선정 방법과 (3) 가용 시간 처리 방법 등을 포함한다. 그리고, 실험을 통해 점증 조인과 완전 조인을 선택적으로 이용하는 것이 하나만 이용하는 기존 방식에 비해 성능이 우수함을 보인다.

Keywords

References

  1. Babcock et al., Models and Issues in Data Stream Systems, Proc. of ACM PODS, pp. 1-16, 2002 https://doi.org/10.1145/543613.543615
  2. Cranor el at., Gigascope: A Stream Database for Network Applications, Proc. of ACM SIGMOD 2003 https://doi.org/10.1145/872757.872838
  3. Harmad et al., Scheduling for Shared Window Joins over Data Streams, Proc. of VLDB 2003
  4. Li et al., Semantics and Evaluation Techniques for Window Aggregates in Data Streams, Proc. of ACM SIGMOD, pp. 311-322, 2005 https://doi.org/10.1145/1066157.1066193
  5. Viglas et al,, Maximizing the Output Rate of Multi-Way Join Queries over Streaming Informa-tion Sources, Proc. of VLDB, pp. 285-296, 2003
  6. Ding et al., Joining Punctuated Streams, Proc. of EDBT, pp. 587-604, 2004
  7. Golab et al., Processing Sliding Window Multi-Joins in Continuous Queries over Data Streams, Proc. of VLDB, pp. 500-511, 2003
  8. Urban et al., XJoin: A Reactively-Scheduled Pipe-lined Join Operator, IEEE Data Engineering Bulletin 2000
  9. Hash-Merge Join: A Non-blocking Join Algorithm for Producing Fast and Early Join Results, ICDE 2004
  10. Das et al., Approximate Join Processing over Data Streams, Proc. of SIGMOD, pp. 40-51, 2003 https://doi.org/10.1145/872757.872765