ユーザーガイド > TDV超並列処理エンジンの構成 > MPPエンジンを使用する適切なタイミングとは?
 
MPPエンジンを使用する適切なタイミングとは?
MPPエンジンは次の場合に使用するのが最適です。
1.クエリーによって取得されるデータセットが大量である。
2.組み合わせる必要があるデータセットが2つ以上ある。
データセットが小さい場合にMPPエンジンを使用すると、セットアップ時間のオーバーヘッドが発生します。これには、異なるノードへのデータのルーティング(ここでは本来不要)だけでなく、実行時に再度組み合わせるプロセスが関係します。このような状況では、クラシックエンジンを使用すると、最良の結果が得られます。
ただし、必要のないときはMPPエンジンを使用しないという選択は、SQLエンジンの構成で[Minimum Partition Requirement(最小パーティション要件)]フィールドを使って制御することができます。
MPPエンジンの最適な使用法を示すためのクエリー例
以下は、MPPエンジンで処理できるクエリーの例です。
 
SELECT nation, o_year, sum(1) sum_profit
FROM (SELECT n_name nation, EXTRACT(YEAR FROM o_orderdate) o_year, l_extendedprice - ps_supplycost * l_quantity amount
FROM /users/composite/drill/ds/tpchorcl234/C##TPCH10/H_part, /users/composite/drill/ds/tpchorcl236/C##TPCH10/H_supplier, /users/composite/drill/ds/tpchorcl234/C##TPCH10/H_lineitem, /users/composite/drill/ds/impala20_247/tpch/partsupp, /users/composite/drill/ds/tpchorcl234/C##TPCH10/H_order, /users/composite/drill/ds/impala20_247/tpch/nation
WHERE ((((((((s_suppkey = l_suppkey AND ps_suppkey = l_suppkey) AND ps_partkey = l_partkey) AND p_partkey = l_partkey) AND o_orderkey = l_orderkey) AND s_nationkey = n_nationkey) AND s_nationkey < 19) AND n_nationkey > 5) AND p_name LIKE '%dodger%')) profit
GROUP BY nation, o_year
ORDER BY nation ASC, o_year DESC
次の手順に従ってクエリーを実行します。データソースがサポートされている場合、TDV MPPエンジンはデフォルトで有効になっています。
1.クエリーを使用してビューを作成し、その実行プランをフェッチします。クエリー実行プランの実行手順については、「クエリー実行プランビューアーからのMPPエンジンの構成」を参照してください。
2.MPPエンジンに渡されるかを確認します。
3.「No parallelization reason(並列化の理由がありません)」と表示された場合は、理由に応じて、サーバー構成を調整する必要があるかどうか、またはこのクエリーをクラシックエンジンでのみサポートできるかどうかを判断します。
4.クエリーがMPPエンジンに渡される場合は、クエリーを実行します。MPPエンジンが実行時にクエリーをサポートしている場合、エンジンは結果を返します。サポートしていない場合は、クラシックエンジンにフォールバックして実行します。