1.7 集計オフロードについて

Oracle Big Data SQLでは、Oracle In-Memoryテクノロジを使用して、集計処理をOracle Big Data SQLセルにプッシュダウンします。これにより、Oracle Big Data SQLでは、Hadoopクラスタの処理能力を利用して、クラスタ・ノード全体に集計を分散させることができます。オフロードしない集計と比べて、パフォーマンスが急速に向上します。特に、適度の数の要約グループ化があると顕著です。単一表問合せの場合、集計操作は常にオフロードする必要があります。

Oracle Big Data SQLセルは、単一表と複数表の集計をサポートしています(ファクト表に結合するディメンション表など)。複数表集計の場合、Oracle Databaseは、キー・ベクターが集計プロセスのセルにプッシュされるキー・ベクター変換最適化を使用します。この変換タイプは、ビジネス問合せで一般的に使用される一般的な集計演算子(SUMMINMAXおよびCOUNT)を使用するスター型結合SQL問合せに役立ちます。

ベクター変換問合せは、結合にブルーム・フィルタを使用する問合せの効率性を高めます。ベクター変換された問合せをOracle Big Data SQLセルと一緒に使用すると、集計に使用される行のフィルタ処理をオフロードする機能によって、問合せの結合のパフォーマンスが向上します。この最適化中、問合せ計画にKEY VECTOR USEという操作が表示されます。

Oracle Big Data SQLセルでは、グループ化列(キー・ベクター)がOracle Big Data SQL Storage Indexに適用されるため、ベクター変換された問合せの方が効率的です。

場合によっては、集計オフロードの利点が得られないこともあります。
  • 述語の欠落

    実行計画にSYS_OP_VECTOR_GROUP_BY述語が欠落している場合、集計オフロードが影響を受けます。次の理由により、述語が欠落する場合があります。
    • 表スキャンとグループ化行ソースの間に許可されていない中間行ソースがある場合。

    • 表スキャンでは行セットは生成されません。

    • オフロードできない式またはデータ型が問合せにある場合。

    • ベクター・グループ化は手動で無効化します。

    • 表スキャンまたは構成の表は、集計オフロードの利点が得られません。

  • スマート・スキャンの欠落

    「cell interconnect bytes returned by XT smart scan」と「cell XT granules requested for predicate offload」統計が使用可能である必要があります。

  • キー・ベクターの欠落

    セルに送信されるデータに対する制限は1MBです。このしきい値を超えた場合、キー・ベクターのインテリジェントなフィルタ処理の利点は得られますが、集計オフロードの利点は必ずしも得られません。この条件は、キー・ベクター・ライト・モードと呼ばれます。キー・ベクターの中には、サイズが大きいために、完全にはオフロードされないものがあります。ライト・モードでは、それらは集計オフロードをサポートしていないキー・ベクターとともにオフロードされます。ライト・モードでは、キー・ベクターは完全にはシリアル化されません。ライト・モードでキー・ベクターがオフロードされると、ベクター・グループ化オフロードは無効になります。

関連項目:

Oracle Databaseでの集計の動作の詳細は、Oracle Database In-Memoryガイドを参照してください