ユーザーガイド > TDV超並列処理エンジンの構成 > TDV MPPエンジン構成について
 
TDV MPPエンジン構成について
TDVを使用して、大規模なフェデレーションデータレイクとデータウェアハウスを1つの仮想データレイクとして公開し、消費するアプリケーションで利用できるようにします。TDVは、MPPスタイル処理用に新しい実行エンジンを実装しています。超並列処理(MPP)実行エンジンは、ビジネスニーズの分析処理に不可欠な高速化を提供します。MPPエンジンは、大量のデータ量のワークロードに対して、クラスター全体にまたがる複数のプロセッサーにクエリーを動的に分散します。TDVは、MPPスタイルの実行を最適化するときに、データセットボリューム、基になるソースの計算機能、ソースからの基数統計情報、TDVの計算能力を考慮します。TDVは、MPPまたはクラシックのどちらのエンジンが最適かを判断することにより、クエリーをスケジュールするハイブリッドアプローチを採用しています。MPPエンジンの使用は透過的であり、既存のDVアーティファクトを書き換える必要はありません。
MPP実行エンジンは、処理を複数のプロセッサーに分散することにより、JOIN、UNION、AGGREGATE、SORTなどの演算子を最適化します。従来の単一ノードクエリーの実行とは異なり、MPPエンジンは、上記のようなコストのかかる演算子に対して、クラスター全体のコンピューティングとメモリーを活用できます。MPP実行を選択する際には、取得するデータセットの量と、含まれるデータソースがか単一か複数を考慮する必要があります。MPPエンジンによって分析されるデータセットの場合、パーティション化されたクエリーを受信できるようにデータソースを構成する必要があります。これは、[Advanced Connection Settings(詳細接続設定)]でデータソース設定concurrentRequestLimitを0より大きい値に設定することで実行できます。
クエリーに含まれるデータセットが小さい場合、MPPエンジンを使用すると、ノード間のデータホップのセットアップ時間とネットワークコストのペナルティーが発生します。このような状況では、従来の単一ノードクエリーの実行の方がはるかに高速になります。オプティマイザーがMPP実行を考慮するしきい値を制御する、調整可能な[Minimum Partition Volume(最小パーティションボリューム)]プロパティがあります。
MPP構成の場合、データは複数のサーバーまたはノードにパーティション化され、各サーバーノードにはデータをローカルで管理するためのメモリーとプロセッサーがあります。すべての通信はネットワークを介して行われます。ディスクレベルの共有や競合はありません。TDVは、CPUコアとメモリーに関してノードが同種であることを推奨しています。
次のイメージは、MPPエンジンがクラスターの2つのノードでクエリーの処理を並列に分散する方法を示しています。
クラスター環境で、クエリが実行されると、次のようになります。
1. The MPP Engine generates an execution plan for the partitioned queries.
2. One of the nodes receives the top level request for execution.
3. One or more child requests are generated as parallel virtual scan queries and these are executed in all the nodes in the cluster environment.
4. Once the data is retrieved, the MPP Engine further carries on the operation and depending upon the complexity of the query (such as number of JOINs, GROUP BYs, etc), data is exchanged between the nodes.
5. Once the operation is complete, the node that received the top level request will receive the result set.
StudioManagerまたはWebManagerのいずれかを介して要求を監視できます。 Studio Managerで、[リクエスト]パネルをクリックしてリクエストを表示します。 Webマネージャから、監視->要求を選択します。
Note: Some of the MPP Engine operations, such as the manipulation of the JOIN and GROUP BY clauses between the two nodes, cannot be monitored in the Manager interface as these are handled by the drillbit.