PolyBase에 관한 자주 묻는 질문

적용 대상: SQL Server 2016(13.x) 이상 버전

PolyBase 대 연결된 서버

다음 표에서는 PolyBase와 연결된 서버 기능 간의 차이점을 보여 줍니다.

PolyBase 연결된 서버
데이터베이스 범위 지정 개체 인스턴스 범위 지정 개체
ODBC 드라이버 사용 OLE DB 제공자 사용
모든 데이터 원본에 대한 읽기 전용 작업을 지원하고 일부 외부 데이터 원본에 쓰기 읽기와 쓰기 작업을 모두 지원합니다.
단일 연결에서 원격 데이터 원본에 수행하는 쿼리는 확장할 수 있습니다. 단일 연결에서 원격 데이터 소스에 대한 쿼리는 확장할 수 없습니다
프레디케이트 푸시다운이 지원됩니다. 프레디케이트 푸시다운이 지원됩니다.
가용성 그룹에 별도 구성이 필요 없습니다. 가용성 그룹의 각 인스턴스에 별도 구성이 필요합니다.
기본 인증 전용입니다. 기본 및 통합 인증
많은 수의 행을 처리하는 분석 쿼리에 적합합니다. 단일 또는 몇 개의 행을 반환하는 OLTP 쿼리에 적합합니다.
외부 테이블을 사용하는 쿼리는 분산 트랜잭션에 참여할 수 없습니다 분산 쿼리는 분산 트랜잭션에 참여할 수 있습니다.

SQL Server 2022의 PolyBase의 새로운 기능은 무엇인가요?

SQL Server 2022 (16.x)는 Azure Storage Account v2, Azure Data Lake Storage Gen2, 또는 S3 호환 객체 저장소에 저장된 CSV, Parquet, Delta 파일을 온프레미스 또는 클라우드에서 사용하는 S3 REST API를 사용합니다.

SQL Server 2022(16.x)는 CREATE EXTERNAL TABLE AS SELECT (CETAS)와 함께 OPENROWSET, CREATE EXTERNAL TABLE (CET)와 같은 명령과 T-SQL 향상 기능을 지원합니다.

SQL Server 2022 (16.x)는 Hadoop 외부 데이터 소스를 지원하지 않습니다.

SQL Server 2022 (16.x) 누적 업데이트 2는 Oracle TNS 파일 지원을 도입했습니다. 자세한 내용 및 샘플은 다음을 참조하세요 CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS.

자세한 내용은 SQL Server 2022를 위한 PolyBase 기반 데이터 가상화SQL Server 2022 PolyBase 향상 사항을 참조하세요.

SQL Server 2019의 PolyBase 신기능은 무엇인가요?

SQL Server 2019 (15.x)의 PolyBase는 여러 소스에서 데이터를 읽을 수 있습니다. 이러한 외부 데이터 소스의 데이터를 SQL Server 인스턴스의 외부 테이블로 저장할 수 있습니다. PolyBase는 ODBC 제네릭 형식을 제외한 이러한 외부 데이터 원본에 대한 푸시다운 계산도 지원합니다.

호환 가능한 데이터 소스

  • SQL Server
  • Oracle
  • Teradata
  • MongoDB
  • 호환되는 ODBC 제네릭 형식

SQL Server 2019 (15.x) 누적 업데이트 19는 Oracle TNS 파일 지원을 도입했습니다. 자세한 내용 및 샘플은 다음을 참조하세요 CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS.

Note

PolyBase는 서드파티 ODBC 드라이버를 사용하여 외부 데이터 소스와 연결할 수 있습니다. PolyBase에는 이 드라이버들이 포함되어 있지 않고, 의도한 대로 작동하지 않을 수도 있습니다. 자세한 내용은 ODBC 제네릭 형식을 사용하여 외부 데이터에 액세스하도록 PolyBase 구성을 참조하세요.

타사 데이터 원본에 연결하려면 무엇을 CONNECTION_OPTIONS 지정할 수 있나요?

SQL Server, Oracle, Teradata, Cosmos DB용 MongoDB API, 그리고 일반적인 ODBC 데이터 제공자에 대한 지원 데이터 제공자 연결 옵션을 검토 CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS 합니다.

PolyBase 푸시다운 계산의 원격 쿼리 실행 계획을 보려면 어떻게 해야 하나요?

SQL Server 버전에 따라 다양한 메서드를 사용해 원격 쿼리 실행 계획을 확인할 수 있습니다. 자세한 내용은 PolyBase 문제 해결 - PolyBase 쿼리 계획을 보려면 참고하세요.

PolyBase 푸시다운 계산이 발생하는지를 확인하려면 어떻게 하나요?

자세한 내용은 외부 푸시다운이 발생했는지를 확인하는 방법을 참조하세요.

PolyBase는 Azure SQL 데이터베이스에서 지원되나요?

아니요, 하지만 Azure Blob Storage의 파일 내 데이터를 쿼리할 수 있는 OPENROWSET 함수를 사용하거나, CREATE EXTERNAL TABLE Synapse Analytics의 서버리스 SQL 풀에서 데이터를 읽을 수 있습니다. 자세한 내용은 Synapse SQL 외부 테이블을 사용하여 Azure SQL에서 Azure 데이터 레이크 Storage 파일을 읽을 수 있습니다를 참조하세요.

PolyBase는 Azure SQL Managed Instance에서 지원되나요?

Azure SQL Managed Instance에는 ADLS(Azure Data Lake Storage) 및 Azure Blob Storage를 데이터 원본으로 사용할 수 있는 자체 데이터 가상화 기능이 있습니다. 자세한 내용은 Azure SQL Managed Instance를 사용한 데이터 가상화를 참조하세요.

PolyBase에 대해 방화벽을 통해 어떤 포트를 허용해야 하나요?

PolyBase 자체는 PolyBase 스케일아웃 그룹을 사용할 때를 제외하고는 추가 포트를 열 필요가 없습니다. 스케일아웃 그룹이 없으면 PolyBase 서비스는 방화벽 규칙이 필요하지 않습니다.

Windows 서버에서는 PolyBase가 SQL Server 인스턴스가 사용하는 포트를 SQL Server 구성 관리자의 TCP/IP 설정의 IPAll 섹션에서 사용합니다. 자세한 내용은 TCP/IP 속성(IP 주소 탭)을 참조하세요. 리눅스 서버에서는 PolyBase가 이 network.tcpport 설정을 사용합니다. 자세한 내용은 TCP 포트를 참조하세요.

여러 Windows 서버에 대한 PolyBase 스케일 아웃 그룹의 경우 다음 질문의 포트 정보를 참조하세요.

하지만 PolyBase가 사용하는 다양한 외부 데이터 소스와 통신할 수 있도록 다른 포트를 허용해야 합니다. ODBC 구성, Azure 리소스 구성 또는 특정 데이터 원본 설명서를 참조하세요. 다음은 그 예입니다.

원본 플랫폼 Reference
Microsoft SQL Server SQL Server에서 사용하는 포트
호튼웍스 HDP HDFS 관리
클라우데라 CDH CDH 구성 요소에서 사용하는 포트

PolyBase 스케일 아웃 그룹에 사용되는 포트는 무엇인가요?

기본적으로 PolyBase 데이터 이동 서비스는 TCP 16450-16460(일반적으로 16450-1645)과 포트 17001까지 다양한 포트를 통해 스케일아웃 그룹의 헤드 노드에 연결됩니다. PolyBase는 스케일아웃 그룹을 구성할 때만 이 포트들을 사용하므로 서버 방화벽을 통해 허용합니다. SQL Server Setup은 기능을 설치할 때 자동으로 로컬 방화벽 규칙을 생성하여 이 포트들을 허용합니다. 자세한 내용은 Windows에서 PolyBase 스케일 아웃 그룹 구성을 참조하세요.

Note

SQL Server PolyBase 스케일아웃 그룹은 SQL Server 2022(16.x)에서 제거되었습니다.