軌跡制御と分析的実行可能性を理解する

AEはSPUでもホストでも実行できる。 Netezzaアプライアンスの超並列アーキテクチャを使用して、処理の一部を同時に実行できるように、1台のホストではなく複数のSPUで処理を実行するのが最適です。 しかし、ホスト上でのみオペレーションを実行することが望ましい状況もある。 例えば、すべてのデータスライスのすべてのデータを見る必要がある場合、テーブル関数AEを使用して集計タイプの操作を実行することができます。 単一クエリでは、SPU上で実行されるAEの出力が、ホスト上で実行される別の単一AEの入力となる。 ホスト上のAEは集約操作を実行し、クエリの結果を返す。 ホスト上でのデバッグは、SPU上でのデバッグよりもはるかに簡単だ。

AEは、クエリの最適化を実行するデータベースシステムから呼び出される。 データベース・オプティマイザは、ある関数を特定のロカス(SPUまたはホスト)で実行するように選択することがある。 AEとUDXは同じ軌跡ルールに従うが、AEの場合、特に遠隔地のAEの場合、結果がより問題となる可能性がある。 AEはデータベースの拡張として使用できるが、SPU上でのみ実行されるため、並行処理のメカニズムとしても使用できる。 リモートAEがSPUのみで実行されている場合に、クエリまたはクエリの一部がホスト上で予期せず実行されると、そのクエリがハングします。 したがって、AEを書く前に軌跡制御について理解しておくことは有益である。 次のセクションでは、スカラー、テーブル、集約SQL関数の軌跡動作について説明します。