Processing Sliding Window Multi-Joins using a Graph-Based Method over Data Streams

데이터 스트림에서 그래프 기반 기법을 이용한 슬라이딩 윈도우 다중 조인 처리

  • 장량 (중경우전대 컴퓨터학과) ;
  • 거준위 (중경우전대 컴퓨터학과) ;
  • 김경배 (서원대 컴퓨터교육과) ;
  • 이순조 (서원대학교 컴퓨터정보통신공학부) ;
  • 배해영 (인하대 컴퓨터공학부) ;
  • 유병섭 (인하대 컴퓨터정보공학과)
  • Published : 2007.09.30

Abstract

Existing approaches that select an order for the join of three or more data streams have always used the simple heuristics. For their disadvantage - only one factor is considered and that is join selectivity or arrival rate, these methods lead to poor performance and inefficiency In some applications. The graph-based sliding window multi -join algorithm with optimal join sequence is proposed in this paper. In this method, sliding window join graph is set up primarily, in which a vertex represents a join operator and an edge indicates the join relationship among sliding windows, also the vertex weight and the edge weight represent the cost of join and the reciprocity of join operators respectively. Then the optimal join order can be found in the graph by using improved MVP algorithm. The final result can be produced by executing the join plan with the nested loop join procedure, The advantages of our algorithm are proved by the performance comparison with existing join algorithms.

데이터 스트림 환경에서 셋 이상의 스트림들에 대한 조인연산을 위해 순서를 선택하는 기존 기법들은 항상 간단한 휴리스틱 방법을 이용하였다 그러나 기존 기법들은 조인 선택도나 데이터 수신 비율과 같은 것만 고려하여 일반적인 응용에서 비효율적이며 낮은 성능을 갖는다. 본 논문에서는 최적의 조인 순서로 그래프 기반의 슬라이딩 윈도우 다중 조인 알고리즘을 제안한다. 이 기법에서 슬라이딩 윈도우 조인 그래프를 먼저 생성하는데, 정점(vertex)은 조인 연산으로 표현되고 엣지(edge)는 슬라이딩 윈도우들 사이의 조인관계를 나타낸다. 그리고 정점 가중치(vertex weight)와 엣지 가중치(edge weight)는 각각의 조인의 비용과 조인 연산들의 상호관계를 표현한다. 이때 데이터 스트림은 빠른 처리를 해야 하므로 메모리 기반의 그래프 기법을 사용한다. 이를 이용하여 최대값만을 이용하여 조인 연산을 수행하는 MVP 알고리즘을 개선하고 이의 그래프에서 최적의 조인 순서를 찾는다. 이를 통한 최종 결과는 중첩-루프(nested loop) 조인 계획을 수행하여 얻어진다. 성능비교를 통하여 제안기법이 기존 기법들보다 우수함을 증명한다.

Keywords