SQL プッシュバックの仕組み

最終更新: 2025年4月16日
のSQL最適化 SPSS Modeler

SQL生成の主な対象は、データ・インポート・ノードの後に来るフローの初期部分です。 SQLにコンパイルできない SPSS Modeler SQLにコンパイルできないノードを見つける、 SPSS Modeler データベースからデータを取り出して処理します。

フローの準備と実行中、SQLを生成するプロセスは次のようになる:

  • SPSS Modeler 下流のノードを安全が証明された「SQLゾーン」に移動させるために、フローを並べ替える。
  • SPSS Modeler はインポートノードからターミナルノードに向かってSQL式をインクリメンタルに構築していく。
    • このフェーズは SPSS Modeler SQLに変換できないノードに到達するか、フロー内の終端ノードがSQLに変換された場合(例えば、テーブル・ノードやグラフ・ノード)。
    • パフォーマンスを最適化するために、そのノードの出力が後のノードで下流で使用されない場合、ノードはSQL生成プロセスから除外されることがあります。 例えば、Derive ノードが下流の Matrix ノードで使用されない新しい列を作成する場合、Derive ノードは SQL 生成から除外されます。 SQL 生成の最後に、Derive ノードの横に SQL アイコンが表示されない。
      図1: ノードを除くSQL生成
      SQL生成プロセスで不要なノードがスキップされる例。 画像には、SQL アイコンのある データ資産 ノード、SQL アイコンのない Derive ノード、SQL アイコンのある Matrix ノードが表示されています。
    • このフェーズの終わりに、変換の前後で各ノードの SQL が等価な場合、各ノードに SQL ステートメントでラベルが付けられます。
  • SQLの妥当性がチェックされる。 SPSS Modeler は、最も複雑なSQLに相当するノードから、インポートノードへとさかのぼっていく。 検証に成功した SQL が、実行用に選択されます。
  • すべての操作で SQL が生成されたノードは、フローキャンバスのノードの横に SQL アイコンが表示され、ハイライトされます。 その結果に基づいて、データベースの実行を最大限に活用するために、必要に応じてフローをさらに再編成するとよいだろう。

SQL プッシュバックによって改善されるデータ操作

SQLプッシュバックは、いくつかのデータ操作のパフォーマンスを向上させます:

結合(キーによる結合)
結合操作により、データベース内の最適化が向上します。
集計
集約、配布、および Web ノードは、すべて集計を使用してその結果を生成します。 要約されたデータは、元のデータに比べてかなり低い帯幅を使用します。
選択
特定の基準に基づいてレコードを選択することで、レコードの数量が削減されます。
ソート中
レコードの並び替えは、データベース内でより効率的に実行されるリソース集約型のアクティビティーです。
フィールドの由来
新規フィールドは、データベース内でより効率的に生成されます。
フィールド投影
ソフトウェアは、以降の処理に必要なフィールドだけをデータベースから抽出します。これにより、必要な帯域幅とメモリーを最小限に抑えることができます。 同じことが、フラット・ファイルの余分なフィールドに対しても当てはまります。ソフトウェアは余分なフィールドを読み込む必要がありますが、記憶域は割り当てられません。
スコアリング
SQL は、デシジョン・ツリー、ルール・セット、線形回帰、および因子生成モデルから生成することができます。