PolyBase 가이드PolyBase Guide

적용 대상: 예SQL Server 아니요Azure SQL Database 예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server noAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

PolyBase를 통해 SQL Server 2016 인스턴스는 Hadoop에서 데이터를 읽는 Transact-SQL 쿼리를 처리할 수 있습니다.PolyBase enables your SQL Server 2016 instance to process Transact-SQL queries that read data from Hadoop. 동일한 쿼리는 SQL Server의 관계형 테이블에 액세스할 수도 있습니다.The same query can also access relational tables in your SQL Server. 또한 PolyBase는 동일한 쿼리가 Hadoop과 SQL Server의 데이터를 조인할 수 있도록 합니다.PolyBase enables the same query to also join the data from Hadoop and SQL Server. SQL Server에서 외부 테이블 또는 외부 데이터 원본은 Hadoop에 대한 연결을 제공합니다.In SQL Server, an external table or external data source provides the connection to Hadoop.

PolyBase는 Microsoft의 다음 SQL 제품에 대해 동일한 이 기능을 제공합니다.PolyBase provides these same functionalities for the following SQL products from Microsoft:

  • SQL Server 2016 이상 버전SQL Server 2016, and later verions
  • 분석 플랫폼 시스템(이전의 병렬 데이터 웨어하우스)Analytics Platform System (formerly Parallel Data Warehouse)
  • Azure SQL 데이터 웨어하우스Azure SQL Data Warehouse

PolyBase는 Hadoop 노드로 몇몇 계산을 푸시하여 전체 쿼리를 최적화합니다.PolyBase pushes some computations to the Hadoop node to optimize the overall query. 그러나 PolyBase 외부 액세스는 Hadoop으로 제한되지 않습니다.However, PolyBase external access is not limited to Hadoop. 구분된 텍스트 파일 등 기타 비구조적 비관계형 테이블도 지원됩니다.Other unstructured non-relational tables are also supported, such as delimited text files.

데이터 가져오기 및 내보내기Data import and export

PolyBase의 기본 지원을 통해 T-SQL 쿼리도 Azure Blob Storage에서 데이터를 가져오고 내보낼 수 있습니다.With the underlying help of PolyBase, T-SQL queries can also import and export data from Azure Blob Storage. 또한 PolyBase는 Azure SQL Data Warehouse가 Azure Data Lake Store 및 Azure Blob Storage에서 데이터를 가져오고 내보낼 수 있도록 합니다.Further, PolyBase enables Azure SQL Data Warehouse to import and export data from Azure Data Lake Store, and from Azure Blob Storage.

PolyBase를 사용하려면 PolyBase 시작을 참조하세요.To use PolyBase, see Get started with PolyBase.

PolyBase 논리PolyBase logical

PolyBase를 사용하는 이유는?Why use PolyBase?

이전에는 SQL Server 데이터를 외부 데이터와 조인하기가 더 어려웠습니다.In the past it was more difficult to join your SQL Server data with external data. 다음과 같은 두 가지 불편한 옵션이 있었습니다.You had the two following unpleasant options:

  • 모든 데이터가 한 형식이거나 다른 형식이도록 데이터 절반을 전송합니다.Transfer half your data so that all your data was in one format or the other.
  • 데이터의 소스를 둘 다 쿼리하고 사용자 지정 쿼리 논리를 작성하여 클라이언트 수준에서 데이터를 조인하고 통합합니다.Query both sources of data, then write custom query logic to join and integrate the data at the client level.

PolyBase는 데이터를 조인하기 위해 T-SQL을 사용하여 이러한 불편한 옵션을 방지합니다.PolyBase avoids those unpleasant options by using T-SQL to join the data

PolyBase는 Hadoop 환경에 추가 소프트웨어를 설치할 필요 없이 간단히 사용할 수 있습니다.To keep things simple, PolyBase does not require you to install additional software to your Hadoop environment. 데이터베이스 테이블을 쿼리하는 데 사용한 동일한 T-SQL 구문을 사용하여 외부 데이터를 쿼리합니다.You query external data by using the same T-SQL syntax used to query a database table. PolyBase에서 실행되는 지원 작업은 모두 투명하게 일어납니다.The support actions implemented by PolyBase all happen transparently. 쿼리 작성자는 Hadoop에 대한 정보가 필요하지 않습니다.The query author does not need any knowledge about Hadoop.

PolyBase는 다음 작업을 수행할 수 있습니다.PolyBase can:

  • SQL Server 또는 PDW에서 Hadoop에 저장된 데이터 쿼리.Query data stored in Hadoop from SQL Server or PDW. 사용자는 Hadoop과 같이 비용 효율적으로 분산되고 확장 가능한 시스템에 데이터 집합을 저장하고 있습니다.Users are storing data in cost-effective distributed and scalable systems, such as Hadoop. PolyBase를 사용하면 쉽게 T-SQL을 사용하여 데이터를 쿼리할 수 있습니다.PolyBase makes it easy to query the data by using T-SQL.

  • Azure Blob Storage에 저장된 데이터 쿼리.Query data stored in Azure Blob Storage. Azure blob 저장소는 Azure 서비스에서 사용 하기 위해 데이터를 저장하는 편리한 장소입니다.Azure blob storage is a convenient place to store data for use by Azure services. PolyBase는 T-SQL을 사용하여 쉽게 데이터에 액세스할 수 있습니다.PolyBase makes it easy to access the data by using T-SQL.

  • Hadoop, Azure Blob Storage 또는 Azure Data Lake Store에서 데이터 가져오기Import data from Hadoop, Azure Blob Storage, or Azure Data Lake Store. Hadoop, Azure Blob Storage 또는 Azure Data Lake Store에서 가져온 데이터를 관계형 테이블로 가져와 Microsoft SQLss columnstore 기술 및 분석 기능의 속도를 활용합니다.Leverage the speed of Microsoft SQL's columnstore technology and analysis capabilities by importing data from Hadoop, Azure Blob Storage, or Azure Data Lake Store into relational tables. 별도 ETL 또는 가져오기 도구에 대한 요구 사항이 없습니다.There is no need for a separate ETL or import tool.

  • Hadoop, Azure Blob Storage 또는 Azure Data Lake Store로 데이터 내보내기Export data to Hadoop, Azure Blob Storage, or Azure Data Lake Store. Hadoop, Azure Blob Storage 또는 Azure Data Lake Store에 데이터를 보관하여 비용 효율적인 저장소를 구현하고 손쉽게 액세스할 수 있도록 온라인 상태로 유지합니다.Archive data to Hadoop, Azure Blob Storage, or Azure Data Lake Store to achieve cost-effective storage and keep it online for easy access.

  • BI 도구와 통합.Integrate with BI tools. Microsoft의 비즈니스 인텔리전스 및 분석 스택과 함께 PolyBase를 사용하거나 SQL Server와 호환되는 타사 도구를 사용합니다.Use PolyBase with Microsoft's business intelligence and analysis stack, or use any third party tools that are compatible with SQL Server.

성능Performance

  • Hadoop에 계산을 푸시합니다.Push computation to Hadoop. 쿼리 최적화 프로그램은 비용 기반 결정을 내려 Hadoop에 계산을 푸시하며 이를 통해 쿼리 성능이 향상됩니다.The query optimizer makes a cost-based decision to push computation to Hadoop when doing so will improve query performance. 외부 테이블의 통계를 사용하여 비용 기반 결정을 내립니다.It uses statistics on external tables to make the cost-based decision. 계산을 푸시하는 데는 MapReduce 작업을 만들고 Hadoop의 분산된 계산 리소스를 활용합니다.Pushing computation creates MapReduce jobs and leverages Hadoop's distributed computational resources.

  • 계산 리소스 크기 조정.Scale compute resources. 쿼리 성능을 향상시키기 위해 SQL Server PolyBase 스케일 아웃 그룹을 사용할 수 있습니다.To improve query performance, you can use SQL Server PolyBase scale-out groups. 이를 통해 Hadoop 노드와 SQL Server 인스턴스 간에 병렬 데이터 전송이 가능하며 외부 데이터에서 작동하기 위한 계산 리소스를 추가합니다.This enables parallel data transfer between SQL Server instances and Hadoop nodes, and it adds compute resources for operating on the external data.

PolyBase 가이드 항목PolyBase Guide Topics

이 가이드에는 효율적이고 효과적으로 PolyBase를 사용하는 항목이 포함되어 있습니다.This guide includes topics to help you use PolyBase efficiently and effectively.

항목Topic 설명Description
PolyBase 시작Get started with PolyBase PolyBase를 설치하고 구성하는 기본 단계입니다.Basic steps to install and configure PolyBase. Hadoop 또는 Azure blob 저장소의 데이터를 가리키는 외부 개체를 만드는 방법을 보여 주며 쿼리 예제를 제공합니다.This shows how to create external objects that point to data in Hadoop or Azure blob storage, and gives query examples.
PolyBase 버전 기능 요약PolyBase Versioned Feature Summary SQL Server, SQL 데이터베이스 및 SQL 데이터 웨어하우스에서 지원되는 PolyBase 기능을 설명합니다.Describes which PolyBase features are supported on SQL Server, SQL Database, and SQL Data Warehouse.
PolyBase 스케일 아웃 그룹PolyBase scale-out groups SQL Server 스케일 아웃 그룹을 사용하여 SQL Server 및 Hadoop 간에 병렬 처리를 확장합니다.Scale out parallelism between SQL Server and Hadoop by using SQL Server scale-out groups.
PolyBase 설치PolyBase installation 설치 마법사 또는 명령줄 도구를 사용하여 PolyBase를 설치하기 위한 단계 및 참조 사항입니다.Reference and steps for installing PolyBase with the installation wizard or with a command-line tool.
PolyBase 구성PolyBase configuration PolyBase용 SQL Server 설정을 구성합니다.Configure SQL Server settings for PolyBase. 예를 들어 계산 푸시다운 및 kerberos 보안을 구성합니다.For example, configure computation pushdown and kerberos security.
PolyBase T-SQL 개체PolyBase T-SQL objects PolyBase가 외부 데이터를 정의하고 액세스하는 데 사용하는 T-SQL 개체를 만듭니다.Create the T-SQL objects that PolyBase uses to define and access external data.
PolyBase QueriesPolyBase Queries T-SQL 문을 사용하여 외부 데이터를 쿼리, 가져오기 또는 내보냅니다.Use T-SQL statements to query, import, or export external data.
PolyBase 문제 해결PolyBase troubleshooting PolyBase 쿼리를 관리하는 기술입니다.Techniques to manage PolyBase queries. DMV(동적 관리 뷰)를 사용하여 PolyBase 쿼리를 모니터링하고 PolyBase 쿼리 계획을 확인하여 성능 병목 현상을 찾아내는 방법을 알아봅니다.Use dynamic management views (DMVs) to monitor PolyBase queries, and learn to read a PolyBase query plan to find performance bottlenecks.