PolyBase 자격 증명 및 데이터 원본
이제 데이터 가상화 및 PolyBase의 원칙을 이해했으므로 보안 및 연결을 이해하는 것이 중요합니다. 이 단원에서는 PolyBase와 함께 사용되는 개체 및 연산자를 설명합니다.
PolyBase 기능은 SQL Server 인스턴스 수준에서 사용하도록 설정되어 있지만 OPENROWSET, CET 및 CETAS와 같은 PolyBase 개체 및 연산자는 데이터베이스 수준에서 작동합니다. 모든 데이터 원본, 외부 파일 형식 및 외부 자격 증명은 특정 데이터베이스에 연결됩니다.
다음 다이어그램에서는 PolyBase 개체와의 데이터베이스 관계를 보여 줍니다.
마스터 키: DMK(데이터베이스 마스터 키)는 데이터베이스에 있는 인증서 및 비대칭 키의 프라이빗 키를 보호하는 데 사용되는 대칭 키입니다. DMK는 모든 외부 자격 증명 및 데이터 원본 정보를 안전하게 저장하는 보안 메커니즘입니다. 자세한 내용은 CREATE MASTER KEY(Transact-SQL)를 참조하세요.
데이터베이스 범위 자격 증명: CREATE DATABASE SCOPED CREDENTIAL 명령은 외부 데이터 원본에서 사용하는 자격 증명 정보를 보유하는 자격 증명을 만듭니다. 자세한 내용은 CREATE DATABASE SCOPED CREDENTIAL(Transact-SQL)을 참조하세요.
외부 데이터 원본: CREATE EXTERNAL DATA SOURCE 명령은 외부 데이터 원본에 액세스하는 데 필요한 정보를 포함하는 데이터 원본을 만듭니다. 외부 데이터 원본은 다른 데이터베이스 서버 또는 Azure Blob Storage, Azure Data Lake Storage 또는 S3 호환 개체 스토리지와 같은 스토리지 위치일 수 있습니다. 자세한 내용은 CREATE EXTERNAL DATA SOURCE(Transact-SQL)를 참조하세요.
외부 테이블: CREATE EXTERNAL TABLE 명령은 파일 또는 다른 데이터베이스 테이블인 외부 데이터 원본을 가리키는 가상 테이블을 만듭니다. 이 테이블을 사용할 때마다 SQL Server는 원본에서 데이터를 가져옵니다. 이 명령은 사용자와 애플리케이션에 원래 데이터를 관리하는 복잡성 없이 일반 테이블 작업과 동일한 수준의 유연성을 부여합니다. 자세한 내용은 CREATE EXTERNAL TABLE(Transact-SQL)을 참조하세요.
외부 파일 형식: CREATE EXTERNAL FILE FORMAT 명령은 SQL Server가 특정 파일 형식에서 작동하는 방식을 정의합니다. 외부 파일 형식은 파일, 필드 종결자, 구분 기호, 압축 및 인코딩의 형식을 결정합니다. 자세한 내용은 CREATE EXTERNAL FILE FORMAT(Transact-SQL)을 참조하세요.
지원되는 PolyBase 데이터 원본
커넥터 위치 접두사는 SQL Server에 연결하려는 엔드포인트 유형을 알려줍니다. 예를 들어 Azure Blob Storage 계정에 abs연결하려면 사용하지만 Oracle 서버에 연결하려면 사용합니다 oracle.
| 외부 데이터 원본 | 커넥터 위치 접두사 | 위치 경로 | 인증 |
|---|---|---|---|
| Azure Blob Storage (애저 블롭 스토리지) | abs |
abs://<storage_account_name>.blob.core.windows.net/<container_name> |
SAS(공유 액세스 서명) |
| Azure Data Lake Storage | adls |
adls://<storage_account_name>.dfs.core.windows.net/<container_name> |
SAS |
| SQL Server | sqlserver |
<server_name>[\<instance_name>][:port] |
SQL 인증 전용 |
| Oracle | oracle |
<server_name>[:port] |
기본 인증 전용입니다. |
| Teradata | teradata |
<server_name>[:port] |
기본 인증 전용입니다. |
| MongoDB 또는 MongoDB용 Azure Cosmos DB API | mongodb |
<server_name>[:port] |
기본 인증 전용입니다. |
| 제네릭 ODBC(Open Database Connectivity) | odbc |
<server_name>[:port] |
기본 인증 전용입니다. |
| 대량 작업 | https |
<storage_account>.blob.core.windows.net/<container> |
SAS |
| S3 호환 오브젝트 스토리지 | s3 |
s3://<server_name>:<port>/ |
호환성을 위해 일부 접두사는 이전 버전의 SQL Server에서 변경되었습니다. 데이터 원본 및 해당 접두사 전체 목록은 CREATE EXTERNAL DATA SOURCE를 참조하세요.
PolyBase에 지원되는 파일 형식
SQL Server 2025는 다음 파일 형식을 지원합니다.
- CSV
- Parquet
- 구분된 텍스트
- 델타(읽기 전용)입니다. SQL Server는 델타 파일을 읽을 수 있지만 테이블 결과를 Delta로 내보낼 수는 없습니다.
OPENROWSET, CET 및 CETAS
PolyBase는 세 개의 연산자를 사용하여 데이터를 쿼리하거나 가상화합니다. 이 학습 모듈에서는 이러한 명령 및 해당 사용 사례를 다룹니다.
OPENROWSET 은 SQL 엔진이 파일 또는 다른 데이터베이스의 SQL Server 외부 데이터에 액세스할 수 있도록 하는 간단한 명령입니다. OPENROWSET은 임시 실행에 최적화되어 있으며 데이터 또는 데이터 탐색을 로드하는 데 권장됩니다. 자세한 내용은 OPENROWSET(Transact-SQL)를 참조하세요.
CREATE EXTERNAL TABLE(CET) 은 데이터가 SQL Server 외부의 원래 위치에 유지되는 테이블을 만듭니다. 테이블을 선택하면 SQL 엔진이 요청된 데이터를 사용자에게 제공합니다. 외부 테이블은 재사용 가능성을 활용하며 더 나은 성능을 위해 통계를 사용할 수 있습니다. 자세한 내용은 CREATE EXTERNAL TABLE(Transact-SQL)을 참조하세요.
CREATE EXTERNAL TABLE AS SELECT(CETAS) 는 단일 명령으로 연산 조합을 수행합니다. 먼저 CETAS를 사용하면 SQL Server가 데이터베이스 내부 또는 외부에 저장된 지정된 데이터를 변환하고 변환할 수 있습니다. 그런 다음 CETAS는 데이터를 네트워크 위치 또는 Azure와 같은 다른 위치로 내보냅니다. 마지막으로 CETAS는 새로 내보낸 데이터를 대상으로 하는 외부 테이블을 만듭니다. 자세한 내용은 CREATE EXTERNAL TABLE AS SELECT(Transact-SQL)를 참조하세요.