WRは、OceanBaseデータベースのパフォーマンス関連ビューのデータを定期的に収集し、パフォーマンス診断に関する問題の分析を容易にします。
WRの紹介
Workload Repository(略称:WR)は、OceanBaseデータベースのビューのデータ情報を定期的に収集し、システムの状態を記録するとともに、データベースのパフォーマンス状況を確認するための関連ビューを提供します。データ収集の自動化と履歴パフォーマンスデータの保持により、パフォーマンス監視および管理をサポートします。さらに、DBMS_WORKLOAD_REPOSITORY パッケージを使用して、定期的なスナップショットの開始、スナップショット時間の設定、スナップショットの削除などのWR関連の設定調整が可能です。
機能の紹介
WRは、OceanBaseデータベースのパフォーマンスデータを定期的に記録するため、過去のパフォーマンス記録を遡ることができるだけでなく、特定の期間内のパフォーマンスに関連する問題を研究することもできます。WR機能には、以下の特徴があります:
データの自動化と収集:WRは、
V$ACTIVE_SESSION_HISTORY、V$SYSSTAT、V$STATNAMEなどの指定されたパフォーマンス関連ビューを定期的に収集し、データを処理した後、METAテナントの内部テーブルに挿入します。クラスタのデプロイが完了すると、WRは自動的にスナップショットを作成し、手動でスナップショットを変更することでタイマーの計測時間を変更することもできます。デフォルトでは、1時間ごとに1回スナップショットが収集されます。データの永続化とクリーンアップ:収集されたデータはディスクに永続化され、履歴データの保持が実現されます。WRが過度のストレージ容量を消費するのを避けるため、WRは定期的に期限切れのデータを削除します。通常、毎日のメジャーコンパクション完了時に削除操作がトリガーされます。デフォルトでは、7日を超えるスナップショットデータは期限切れデータと見なされます。
スナップショットの収集と削除:WRはDBMSパッケージを提供しており、PL/SQLを通じて手動で収集タスクをトリガーしたり、指定されたWRスナップショットを削除したりできます。
スナップショット収集頻度の調整:DBMSパッケージを使用することで、タイマースレッドの時間間隔を変更し、WRのスナップショット収集頻度を調整できます。
低オーバーヘッドと低負荷:WRは実行時のオーバーヘッドが低く、必要なリソース消費とリソース利用率が少ないため、システムのパフォーマンスに影響を与えません。
time model収集:
time modelは、1秒単位でデータベース内のすべてのセッションが消費するデータベース時間(DB time)を更新します。これは累積値であり、指定された期間内のすべてのセッションの合計データベース時間を示します。計算式は以下のとおりです:DB time = elapse time - idle wait time = cpu time + non-idle wait time説明
DB timeの計算式におけるパラメータの説明:
elapse time:操作開始から現在まで経過した時間を表します。idle wait time:セッションがアイドル待機状態にあった時間を表します。cpu time:CPU上で実行された時間を表します。non-idle wait time:セッションがアイドル待機以外の状態にあった時間を表します。
関連ビュー
WRが定期的に収集するOceanBaseデータベースのビューは、主に以下の3つです:
[G]V$SYSSTAT:oceanbaseデータベースで最も広く使用され、データベースの運用状態を最もよく表すシステム統計値です。
V$STATNAME:システム統計値の情報を提供し、データベースの運用状態を正確に反映する各指標とその名称を示します。
[G]V$ACTIVE_SESSION_HISTORY:アクティブセッションを1秒ごとにサンプリングし、時間系列に基づいてシステムの運用状態を記録します。WRは10:1(10個の
GV\$ACTIVE_SESSION_HISTORYビューのデータが1行のWRデータに対応する)のサンプリングレートで永続化します。
今後のバージョンでは、WRはデータベースのパフォーマンス、リソース利用状況、その他の重要な指標に関する詳細情報を表示するための、より多くのパフォーマンス関連ビューをサポートする予定です。