PolyBase 스케일 아웃 그룹

적용 대상: SQL Server(Windows에만 해당) Not supported. Azure SQL Database Not supported. Azure Synapse Analytics Not supported. Analytics Platform System(PDW)

PolyBase를 사용하는 독립 실행형 SQL Server 인스턴스는 Hadoop 또는 Azure Blob Storage에서 대규모 데이터 세트를 처리할 때 성능 병목 상태가 될 수 있습니다. PolyBase 그룹 기능을 사용하면 SQL Server 인스턴스 클러스터를 만들어 Hadoop 또는 Azure Blob Storage와 같은 외부 데이터 원본에서 쿼리 성능을 향상하기 위해 스케일 아웃 방식으로 대규모 데이터를 처리할 수 있습니다. 이제 워크로드의 성능 요구에 맞게 SQL Server 컴퓨팅을 확장할 수 있습니다. SQL Server 인스턴스 그룹인 PolyBase 스케일 아웃 그룹을 사용하면 병렬 처리 아키텍처에서 큰 외부 데이터 집합을 처리할 수 있습니다. 그룹에 SQL Server 인스턴스를 더 추가하면 데이터 로드 및 쿼리 성능이 선형적으로 증가할 수 있습니다.

Important

Microsoft SQL Server PolyBase 스케일 아웃 그룹은 사용 중지됩니다. 스케일 아웃 그룹 기능은 SQL Server 2022(16.x) 제품에서 제거됩니다. PolyBase 데이터 가상화는 SQL Server 스케일 업 기능으로 계속 완벽하게 지원됩니다. 자세한 내용은 Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.

PolyBase 시작PolyBase 가이드를 참조하세요.

Diagram showing PolyBase scale-out groups.

헤드 노드

헤드 노드에는 PolyBase 쿼리가 제출되는 SQL Server 인스턴스가 포함됩니다. 각 PolyBase 그룹에는 헤드 노드가 하나만 있을 수 있습니다. 헤드 노드는 SQL Server 인스턴스의 SQL Server 데이터베이스 엔진, PolyBase 엔진 및 PolyBase 데이터 이동 서비스의 논리적 그룹입니다. SQL Server 2017 및 SQL Server 2016에서는 헤드 노드가 Enterprise Edition이어야 합니다. SQL Server 2019부터 PolyBase 헤드 노드는 Enterprise 또는 Standard Edition일 수 있습니다.

컴퓨팅 노드

컴퓨팅 노드는 외부 데이터에서 확장 쿼리를 지원하는 SQL Server 인스턴스를 포함합니다. 컴퓨팅 노드는 SQL Server 인스턴스의 SQL Server 및 PolyBase 데이터 이동 서비스의 논리적 그룹입니다. PolyBase 그룹에는 여러 컴퓨팅 노드가 있을 수 있습니다. 헤드 노드와 컴퓨팅 노드는 모두 동일한 버전의 SQL Server를 실행해야 합니다. SQL Server 2016의 초기 릴리스에서는 컴퓨팅 노드가 Enterprise 또는 Standard 버전이 될 수 있습니다. SQL Server 2016 SP1부터 모든 버전의 SQL Server는 컴퓨팅 노드가 될 수 있습니다.

스케일 아웃 읽기

외부 SQL Server, Oracle 또는 Teradata 인스턴스를 쿼리할 경우 분할된 테이블은 스케일 아웃 읽기에서 혜택을 얻습니다. PolyBase 스케일 아웃 그룹의 각 노드는 최대 8개의 판독기를 회전하여 외부 데이터를 읽을 수 있습니다. 또한 각 판독기는 외부 테이블에서 읽을 하나의 파티션을 할당받습니다.

예를 들어 12개월 파티션과 3개 노드로 이루어진 PolyBase 스케일 아웃 그룹을 포함하는 외부 SQL Server 테이블이 있는 경우 각 노드는 PolyBase Reader 4개를 사용하여 12개 파티션 각각을 처리합니다. 다음 이미지는 이 내용을 그림으로 표현한 것입니다.

참고 항목

이 방식은 Hadoop을 통한 스케일 아웃 읽기와 다릅니다.

PolyBase scale-out reads

분산 쿼리 처리

PolyBase 쿼리는 헤드 노드의 SQL Server에 제출됩니다. 외부 테이블을 참조하는 쿼리 부분은 PolyBase 엔진으로 분배됩니다.

PolyBase 엔진은 PolyBase 쿼리의 핵심 구성 요소입니다. 외부 데이터에 대한 쿼리 구문을 분석하고 쿼리 계획을 생성하며 작업을 컴퓨팅 노드의 데이터 이동 서비스로 분배해 실행합니다. 작업이 완료되면 컴퓨팅 노드에서 결과를 수신하고 처리하고 클라이언트로 반환하기 위해 SQL Server에 제출합니다.

PolyBase 데이터 이동 서비스는 PolyBase 엔진에서 지침을 수신하고 HDFS와 SQL Server 간 및 헤드 및 컴퓨팅 노드의 SQL Server 인스턴스 간에 데이터를 전송합니다.

다음 단계

PolyBase 스케일 아웃 그룹을 구성하려면 다음 가이드를 참조하세요.

Windows에서 PolyBase 스케일 아웃 그룹 개선

참고 항목

sys-dm-exec-compute-nodes
sys-dm-exec-compute-node-status
sys.dm_exec_compute_node_errors