1.8 Oracle Big Data SQLの統計について
Oracle Big Data SQLでは、パフォーマンス分析のためのデータを提供できる統計が多数用意されています。
5つの主要なセルのXTおよびストレージ索引の統計
問合せがオフロード可能である場合、次のXT関連の統計は、どのようなIOの節約がオフロードおよびSmart Scanに期待できるかを判断するのに役立ちます。
-
cell XT granules requested for predicate offload
リクエストされるグラニュルの数は、HDFSブロック・サイズ、Hadoopデータ・ソースの分割可能性、およびHiveパーティションの回避の有効性など、多数の要素によって異なります。
-
cell XT granule bytes requested for predicate offload
スキャンのためにリクエストされるバイト数。これは、Hiveパーティションの回避後およびストレージ索引の評価前に調査されるHadoop上のデータのサイズです。
-
cell interconnect bytes returned by XT smart scan
XTスマート・スキャンによってOracle Databaseに返されるI/Oのバイト数。
-
cell XT granule predicate offload retries
DataNode上で実行されるBig Data SQLプロセスで、リクエストされた操作を完了できなかった回数。Oracle Big Data SQLは、失敗したリクエストをそのデータのレプリカを含んだ他のDataNodes上で自動的に再試行します。retries値はゼロになります。
-
cell XT granule IO bytes saved by storage index
ストレージ・セル・レベルで、ストレージ索引によるフィルタリングで除去されたバイト数。これは、ストレージ索引によって提供された情報に基づいてスキャンされなかったデータです。
これらの統計は、問合せを実行する前後に、次のようにして確認できます。この例は、問合せの実行前で、null値を示しています。
SQL> SELECT sn.name,ms.value
FROM V$MYSTAT ms, V$STATNAME sn
WHERE ms.STATISTIC#=sn.STATISTIC# AND sn.name LIKE '%XT%';
NAME VALUE
----------------------------------------------------- -----
cell XT granules requested for predicate offload 0
cell XT granule bytes requested for predicate offload 0
cell interconnect bytes returned by XT smart scan 0
cell XT granule predicate offload retries 0
cell XT granule IO bytes saved by storage index 0
問合せの有効性を検証するには、問合せの実行後に、次のようにこれらの統計の一部または全部を確認できます。
SQL> SELECT n.name, round(s.value/1024/1024)
FROM v$mystat s, v$statname n
WHERE s.statistic# IN (462,463)
AND s.statistic# = n.statistic#;
cell XT granule bytes requested for predicate offload 32768
cell interconnect bytes returned by XT smart scan 32
5つの集計オフロード統計
次の統計は、集計オフロードのパフォーマンスを分析する際に役立ちます。
-
セルに送信されたベクター・グループ化操作
集計をセルにオフロードできる回数。
-
カーディナリティのためセルに送信されなかったベクター・グループ化操作
大きなワイヤフレームのためにオフロードされなかったスキャンの数。
-
セル上で処理されたベクター・グループ化行
セルで集計された行の数。
-
セルによって返されたベクター・グループ化行
セルによって返された集計行の数。
-
セル上で処理されたベクター・グループ化行セット
セルで集計された行セットの数。
次のような問合せを実行することで、これらの統計を確認できます。
SQL> SELECT count(*) FROM bdsql_parq.web_sales;
COUNT(*)
----------
287301291
SQL> SELECT substr(n.name, 0,60) name, u.value
FROM v$statname n, v$mystat u
WHERE ((n.name LIKE 'key vector%') OR
(n.name LIKE 'vector group by%') OR
(n.name LIKE 'vector encoded%') OR
(n.name LIKE '%XT%') OR
(n.name LIKE 'IM %' AND n.name NOT LIKE '%spare%'))
AND u.sid=userenv('SID')
AND n.STATISTIC# = u.STATISTIC#
AND u.value > 0;
NAME VALUE
----------------------------------------------------- -----
cell XT granules requested for predicate offload 808
cell XT granule bytes requested for predicate offload 2.5833E+10
cell interconnect bytes returned by XT smart scan 6903552
vector group by operations sent to cell 1
vector group by rows processed on cell 287301291
vector group by rows returned by cell 808
9つのキー・ベクター統計
次の統計は、セルに送信されたキー・ベクターの有効性の分析に役立ちます。
-
セルに送信されたキー・ベクター
セルにオフロードされたキー・ベクターの数。
-
セルでフィルタ処理されたキー・ベクター
セル上のキー・ベクターによるフィルタ処理で除外された行の数。
-
セルでプローブされたキー・ベクター
セル上のキー・ベクターによってテストされた行の数。
-
値で処理されたキー・ベクター行
値を使用して処理された結合キーの数。
-
コードで処理されたキー・ベクター行
ディクショナリ・コードを使用して処理された結合キーの数。
-
フィルタ処理されたキー・ベクター行
スキップ・ビットによりスキップされた結合キーの数。
-
ライト・モードでのセルのキー・ベクター・シリアル化
形式またはサイズのためにキー・ベクターがエンコードされなかった回数。
-
割当て制限のためにライト・モードでセルに送信されたキー・ベクター
1MBメタデータの割当て制限のために不正確フィルタ処理でセルにオフロードされたキー・ベクターの数。
-
作成されたキー・ベクターeFilter
キー・ベクターはセルに送信されませんでしたが、eFilter (ブルーム・フィルタに類似)は送信されました。
次のような問合せを実行することで、これらの統計を確認できます。
SELECT substr(n.name, 0,60) name, u.value
FROM v$statname n, v$mystat u
WHERE ((n.name LIKE 'key vector%') OR
(n.name LIKE 'vector group by%') OR
(n.name LIKE 'vector encoded%') OR
(n.name LIKE '%XT%'))
AND u.sid=userenv('SID')
AND n.STATISTIC# = u.STATISTIC#
NAME VALUE
----------------------------------------------------- -----
cell XT granules requested for predicate offload 250
cell XT granule bytes requested for predicate offload 61,112,831,993
cell interconnect bytes returned by XT smart scan 193,282,128
key vector rows processed by value 14,156,958
key vector rows filtered 9,620,606
key vector filtered on cell 273,144,333
key vector probed on cell 287,301,291
key vectors sent to cell 1
key vectors sent to cell in lite mode due to quota 1
key vector serializations in lite mode for cell 1
key vector efilters created 1
ヒント:
The Data Warehouse Insiderで公開されているブログ「Big Data SQL Quick Start」には、これらの統計を使用してOracle Big Data SQLのパフォーマンスを分析する方法を示す一連のコードおよび機能のウォークスルーが掲載されています。第2回、第7回および第10回を参照してください。