Join Operation of Parallel Database System with Large Main Memory

대용량 메모리를 가진 병렬 데이터베이스 시스템의 조인 연산

  • 박영규 (가야대학교 컴퓨터정보학과)
  • Published : 2007.07.31

Abstract

The shared-nothing multiprocessor architecture has advantages in scalability, this architecture has been adopted in many multiprocessor database system. But, if the data are not uniformly distributed across the processors, load will be unbalanced. Therefore, the whole system performance will deteriorate. This is the data skew problem, which usually occurs in processing parallel hash join. Balancing the load before performing join will resolve this problem efficiently and the whole system performance can be improved. In this paper, we will present an algorithm using merit of very large memory to reduce disk access overhead in performing load balancing and to efficiently solve the data skew problem. Also, we will present analytical model of our new algorithm and present the result of some performance study we made comparing our algorithm with the other algorithms in handling data skew.

확장성에서 장점을 가지고 있는 비공유 병렬 프로세서 구조는 병렬 데이터베이스 시스템에서 많이 적용되고 있는 구조이다. 그러나 비공유 병렬 프로세서 구조는 데이터의 분포가 전체 프로세서에게 균일하게 분포되어 있지 않을 경우에는 일부 프로세서에게 부하가 집중되고 이로 인한 성능의 감소가 불가피하게 되는 단점이 있다. 특히 부하의 불균형 정도가 심한 경우에 조인 연산을 수행할 때 이런 성능 감소의 단점은 두드러진다. 본 논문은 비공유 병렬 프로세서 구조에서 부하의 불균형 정도가 심한 경우에도, 조인 연산을 실시하기 전에 부하 불균형을 고려함으로써 성능 감소를 최소화하고, 메모리의 대용량화를 이용하여 성능을 높인 조인 알고리즘을 제시한다. 또한 알고리즘의 성능 분석을 위한 분석 모델을 제시하며, 분석 모델을 통하여 데이터 불균형 문제를 해결하기 위한 다른 알고리즘과의 성능을 비교한다.

Keywords