동적 프로세서 할당 기법을 이용한 파이프라인 해쉬 결합 알고리즘

A Pipelined Hash Join Algorithm using Dynamic Processor Allocation

  • 발행 : 2001.02.01

초록

본 논문에서는 부쉬 트리를 할당 트리로 변환한 후 결합 연산을 수행하면서 실제 실행시간을 동적으로 계산하고 그 결과에 의해 실시간에 프로세서를 할당하는 동적 프로세서 할당 기법을 이용한 파이프라인 해쉬 결합 알고리즘을 제안하였다. 프로세서를 할당하는 과정에서 초기 릴레이션의 기본 정보만을 이용하여 미리 프로세서를 할당하는 기존의 정적 프로세서 할당 기법은 정확한 실행시간을 예측할 수 없었다. 따라서 본 논문에서는 할당 트리 각 노드의 실행결과를 포함한 결합 과정 중의 정보를 다음 노드의 실행시간에 충분히 반영하는 동적 프로세서 할당 기법을 제안하였으며, 이로써 프로세서를 효율적으로 분배하고 전체적인 실행시간을 최소화하였다. 또한 전체적인 질의 실행시간을 줄이기 위하여 결합 가능성이 없는 튜플들을 제거한 후 결합 연산을 수행할 수 있도록 해쉬 필터 기법을 이용하였다. 결합 연산을 수행하기에 앞서 모든 결합 속성 값에 대해 해쉬 필터를 생성하는 정적 필터 기법은 모든 결합 연산의 중간 결과로 발생할 수 있으나 최종 결과 릴레이션의 튜플이 될 수 없는 튜플들까지도 모두 추출이 가능하다. 따라서 각각의 결합 연산 직전에 해쉬 필터를 생성하는 동적 필터 기법에 비해 결합 가능성이 없는 튜플을 최대한 제거할 수 있으며 이로써 결합 연산의 실행비용을 크게 줄일 수 있었다.

키워드

참고문헌

  1. Hui-I Hsiao, Ming-Syan Chen, Philip S. Yu, 'Parallel Execution of Hash Joins in Parallel Databases,' IEEE Trans. Parallel and Distributed Systems, vol. 8, no.8, pp. 871-883, Aug. 1997 https://doi.org/10.1109/71.605772
  2. D. Schneider, D.J. DeWitt, 'Tradeoffs in Processing Complex Join Queries via Hashing in Multiprocessor Database Machines,' Proc. 16th Int'l Conf. Very Large Bases, pp. 469-480, Aug. 1990
  3. Ming-Syan Chen, Ming-Ling Lo, Philip S. Yu, Honesty C. Young, 'Using Segmented Right-Deep Trees for the Execution of Pipelined Hash Joins,' Proc. 18th Int'l Conf. Very Large Data Bases, pp. 15-29, Aug. 1992
  4. Ming-Syan Chen, Hui-I Hsiao, Philip S. Yu, 'Applying Hash Filters to Improving the Execution of Bushy Trees,' Proc. 14th Int'l conf. Very Large Data Bases, 1993
  5. D.J. DeWitt, J. Gray, 'Parallel Database Systems : The Future of High Performance Database Systems,' Comm. ACM, vol. 35, no. 6, pp. 85-98, June 1992 https://doi.org/10.1145/129888.129894
  6. Ming-Syan Chen, Philip S. Yu,K. L. Wu, 'Scheduling and Processor Allocation for Parallel Execution of Multi-Join Queries,' Proc. Eighth Int'l Conf. Data Eng., pp.58-67, Feb. 1992 https://doi.org/10.1109/ICDE.1992.213205
  7. Mingling Lo., Ming-Syan Chen, C. V. Ravishankar, and Philip S. Yu, 'On Optimal Processor Allocation to Support Pipelined Hash Joins,' Proc ACM SIGMOD, pp.69-78, May 1993 https://doi.org/10.1145/170035.170053
  8. Ming-Syan Chen, Mingling Lo, Philip S. Yu, Honesty C. Young, 'Applying Segmented Right Deep Trees to Pipelining Hash Joins,' IEEE Trans. on Knowledge and Data Engineering, Vol. 7, No. 4, August 1995 https://doi.org/10.1109/69.404036