PolyBase とはWhat is PolyBase?

適用対象: ○SQL Server XAzure SQL Database ○Azure SQL Data Warehouse ○Parallel 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 論理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 を使用すると、外部データ ソースからデータを読み取る Transact-SQL クエリを SQL Server インスタンスで処理できるようになります。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 ServerOracleTeradataおよび MongoDB内の外部データにアクセスできるようになります。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 (旧称 Parallel Data Warehouse)Analytics Platform System (formerly Parallel Data Warehouse)
  • Azure SQL Data WarehouseAzure 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.

シンプルさを保つため、Hadoop 環境に追加のソフトウェアをインストールしなくても PolyBase を使用することができます。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 SQL の高速な列ストア テクノロジおよび分析機能を活用できます。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 ストレージ、Azure Data Lake Store にデータをエクスポートする。Export data to Hadoop, Azure Blob Storage, or Azure Data Lake Store. データを Hadoop、Azure BLOB ストレージ、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. PolyBase を Microsoft のビジネス インテリジェンスや分析スタックと一緒に使用したり、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. これにより、SQL Server インスタンスと Hadoop ノードの間の並列データ転送が可能になります。また、外部データに対する操作のためのコンピューティング リソースが追加されます。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:

次の手順Next steps

PolyBase を使用する前に PolyBase 機能をインストールする必要があります。Before using PolyBase, you must install the PolyBase feature. その後、使用するデータ ソースに応じて、次の構成ガイドを参照してください。Then see the following configuration guides depending on your data source: