본문으로 이동

병렬 데이터베이스

위키백과, 우리 모두의 백과사전.

병렬 데이터베이스(parallel database) 시스템은 데이터 적재, 색인 빌드, 쿼리 평가 등의 다양한 동작의 병렬 컴퓨팅을 통해 성능 개선을 강구한다.[1] 데이터가 분산 방식으로 저장될지라도 분산은 성능적 고려에 의해 단독으로 처리된다. 병렬 데이터베이스들은 다중 중앙 처리 장치와 디스크를 병렬로 사용함으로써 처리 및 입출력 속도를 개선한다. 중앙 집중식 및 클라이언트 서버 모델 데이터베이스 시스템들은 이러한 응용을 다루기에 충분히 강력하지 않다. 병렬 처리에서 수많은 동작들은 계산 단계가 순차적으로 수행되는 직렬 처리와는 반대로 동시에 수행된다. 병렬 데이터베이스들은 대략적으로 2개의 그룹으로 나눌 수 있으며, 첫 번째 그룹은 멀티프로세서 아키텍처인데 대안은 다음과 같다:

공유 메모리
여러 프로세서주 메모리 (RAM) 공간을 공유하지만 각 프로세서는 자신만의 디스크(HDD)를 갖추고 있다. 수많은 프로세서가 동시에 수행되면 속도는 감소되며 이는 수많은 병렬 작업이 수행되어 컴퓨터가 느려지는 것과 동일하다.
공유 디스크 아키텍처
각 노드에 자체적으로 주 메모리가 있지만 모든 노드가 스토리지 에어리어 네트워크(SAN) 등의 대용량 스토리지를 공유하고 있다. 현실적으로 각 노드는 일반적으로 여러 개의 프로세서를 가질 수도 있다.
셰어드 나띵 아키텍처(Shared nothing architecture)
각 노드가 주 메모리 외에 자체 대용량 스토리지를 가지고 있다.

기타 아키텍처 그룹은 하이브리드 아키텍처로서 다음을 포함한다:

  • NUMA(Non-Uniform Memory Architecture): 불균일 기억 장치 접근을 동반한다.
  • 클러스터 (셰어드 나띵 + 공유 디스크: SAN/NAS): 연결된 컴퓨터 그룹에 의해 형성된다.

병렬 처리의 종류[편집]

  • 쿼리 간 병렬 처리(Interquery parallelism)[2]
  • 독립적 병렬 처리(Independent parallelism)
  • 파이프라인 병렬 처리(Pipe-lined parallelism)
  • 동작 간 병렬 처리(Intraoperation parallelism)

각주[편집]