서버 시장에는 SMP(대칭 다중 처리), MPP(대량 병렬 처리) 및 NUMA(비균일 메모리 아키텍처)와 같은 세 가지 기본 병렬 처리 하드웨어 아키텍처가 있습니다.
대칭 다중 처리(SMP)
SMP 아키텍처는 하나의 운영 체제에서 모두 관리되고 유사한 디스크 및 메모리 영역에 액세스하는 여러 프로세서가 있는 개별 장치입니다. 8~32개의 프로세서, 병렬 데이터베이스, 대용량 메모리(2GB 이상), 우수한 디스크, 우수한 설계를 갖춘 SMP 시스템은 중간 규모의 창고에서 잘 작동해야 합니다.
데이터베이스는 프로세스를 병렬로 실행할 수 있어야 하고 데이터 웨어하우스 프로세스는 병렬 기능을 활용하도록 설계되어야 합니다. 프로세서는 공유 리소스(메모리 및 디스크)에 빠르게 액세스할 수 있지만 이러한 리소스에 도달하는 데 필요한 액세스 경로인 백플레인은 시스템이 확장됨에 따라 병목 현상으로 발전할 수 있습니다.
SMP 기계는 단일 개체이기 때문에 창고에서 단일 실패 지점이 되는 약점도 있습니다. 이러한 문제를 극복하기 위해 하드웨어 회사는 여러 SMP 시스템을 서로 연결하거나 클러스터링할 수 있는 기술을 내놓았습니다.
클러스터에서 각 노드는 운영 체제를 실행하는 SMP 시스템이지만 클러스터에는 시스템이 디스크를 공유하고 장애 조치(failover) 백업을 제공할 수 있도록 하는 연결 및 제어 소프트웨어가 포함되어 있습니다. 이 경우 한 시스템에 장애가 발생하면 클러스터의 다른 시스템이 일시적으로 처리 부하를 인계받을 수 있습니다. 물론 이러한 이점에는 비용이 따릅니다. 클러스터링은 매우 복잡하고 관리하기 어려울 수 있습니다. 클러스터를 확장하는 데 필요한 데이터베이스 기술이 향상되고 있습니다.
대규모 병렬 처리(MPP)
MPP 시스템은 각각의 운영 체제, 메모리 및 디스크가 있는 비교적 독립적인 컴퓨터의 문자열이며, 모두 메시지를 앞뒤로 전달하여 조정됩니다. MPP의 강점은 수백 개의 머신 노드를 연결하고 무차별 대입 방식을 사용하여 문제에 적용할 수 있다는 것입니다.
예를 들어, 큰 테이블의 전체 테이블 스캔을 수행해야 하는 경우 해당 테이블을 100노드 MPP 시스템에 분산시키고 각 노드가 테이블의 1/100을 스캔하도록 하는 것은 상대적으로 빨라야 합니다. "많은 손이 가벼운 일을 합니다.
와 같은 컴퓨터입니다.비균일 메모리 아키텍처(NUMA)
NUMA는 SMP의 공유 디스크 적응성과 MPP의 병렬 속도를 병합하려는 시도로 SMP와 MPP의 집합입니다. 이 아키텍처는 비교적 최근의 혁신이며 장기적으로 데이터 웨어하우징에 사용할 수 있습니다.
NUMA는 개념적으로 SMP 시스템을 클러스터링하는 개념과 유사하지만 더 긴밀한 연결, 더 많은 대역폭 및 노드 간의 더 큰 조정을 제공합니다. 창고를 비교적 독립적인 사용 그룹으로 분할하고 각 그룹을 해당 노드에 배치할 수 있다면 NUMA 아키텍처가 효과적일 수 있습니다.