PolyBase란?What is PolyBase?

적용 대상: 예SQL Server(Windows만 해당) 아니요Azure SQL Database 예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server (Windows only) 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 논리PolyBase logical

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.

SQL Server 2019 CTP 2.0에는 SQL Server, Oracle, Teradata 및 MongoDB를 포함하여 PolyBase를 위한 새 커넥터가 도입되었습니다.SQL Server 2019 CTP 2.0 introduces new connectors for PolyBase, including SQL Server, Oracle, Teradata, and MongoDB. 자세한 내용은 SQL Server 2019 CTP 2.0에 대한 PolyBase 설명서를 참조하세요.For more information, see the PolyBase documentation for SQL Server 2019 CTP 2.0

PolyBase를 통해 SQL Server 인스턴스는 외부 데이터 원본에서 데이터를 읽는 Transact-SQL 쿼리를 처리할 수 있습니다.PolyBase enables your SQL Server instance to process Transact-SQL queries that read data from external data sources. SQL Server 2016 이상에서는 Hadoop 및 Azure Blob Storage의 외부 데이터에 액세스할 수 있습니다.SQL Server 2016 and higher can access external data in Hadoop and Azure Blob Storage. SQL Server 2019 CTP 2.0부터 이제 PolyBase를 사용하여 SQL Server, Oracle, TeradataMongoDB의 외부 데이터에 액세스할 수 있습니다.Starting in SQL Server 2019 CTP 2.0, you can now use PolyBase to access external data in SQL Server, Oracle, Teradata, and MongoDB.

외부 데이터에 액세스하는 것과 동일한 쿼리가 SQL Server 인스턴스의 관계형 테이블을 대상으로 할 수도 있습니다.The same queries that access external data can also target relational tables in your SQL Server instance. 따라서 외부 원본의 데이터를 데이터베이스 중요한 관계형 데이터와 결합할 수 있습니다.This allows you to combine data from external sources with high-value relational data in your database. SQL Server에서 외부 테이블 또는 외부 데이터 원본은 Hadoop에 대한 연결을 제공합니다.In SQL Server, an external table or external data source provides the connection to Hadoop.

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.

지원되는 SQL 제품 및 서비스Supported SQL products and services

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

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

Azure 통합Azure integration

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를 사용하는 이유는?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 uses

PolyBase를 사용할 경우 SQL Server에서 다음 시나리오가 가능합니다.PolyBase enables the following scenarios in SQL Server:

  • 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.

다음 단계Next steps

PolyBase를 사용하기 전에 PolyBase 기능을 설치해야 합니다.Before using PolyBase, you must install the PolyBase feature. 그런 다음, 데이터 원본에 따라 다음 구성 가이드를 참조하세요.Then see the following configuration guides depending on your data source: