マテリアライズドビューの分析機能は、テナント内のマテリアライズドビューを表示および管理するサービスを提供します。**マテリアライズドビュー**タブで、マテリアライズドビューの基本情報、更新状態、更新履歴を確認できます。これにより、マテリアライズドビューの稼働状態を監視し、更新異常などの問題を迅速に発見・対処することができます。
背景
マテリアライズドビュー(Materialized View, MV)はデータベースオブジェクトの一種で、従来のビューとは異なり、実際にクエリ結果のデータを格納しています。簡単に言えば、マテリアライズドビューを作成すると、データベースは関連するSQLクエリを実行し、その結果セットをディスクに保存します。これにより、ビューのクエリ結果を事前に計算・格納することで、リアルタイムでの計算を削減し、クエリ性能を向上させるとともに複雑なクエリロジックを簡略化できます。主に、レポートの高速生成やデータ分析のシナリオで利用されます。マテリアライズドビューの詳細な技術説明については、マテリアライズドビューの概要 (MySQLモード)およびマテリアライズドビューの概要 (Oracleモード)をご参照ください。
マテリアライズドビューは、データをベーステーブルと同期させるために定期的なリフレッシュが必要です。マテリアライズドビューの分析機能は、以下の点で役立ちます:
- マテリアライズドビューの基本情報と設定を確認します。
- マテリアライズドビューの更新状態と遅延を監視します。
- マテリアライズドビューの更新履歴を確認します。
- リフレッシュ異常や遅延を迅速に検出します。
マテリアライズドビューの一覧を表示する
OceanBase Cloudコンソールにログインします。
左側のナビゲーションペインで、**インスタンス**をクリックします。
インスタンスリストで対象のインスタンスを見つけ、インスタンス名をクリックしてインスタンスのダッシュボードに移動します。
左側のナビゲーションペインで 診断 をクリックし、診断 ページで リアルタイム診断 タブを選択します。
ページの中央にある マテリアライズドビュー タブをクリックします。
マテリアライズドビュー タブの左上でテナントを選択します。
**マテリアライズドビュータブで、リスト**をクリックし、現在のテナント配下のマテリアライズドビューリストを確認します。
マテリアライズドビューのリストには、以下の情報が含まれます:
列名 |
説明 |
|---|---|
| ID | マテリアライズドビューの一意の識別子です。 |
| データベース | マテリアライズドビューが属するデータベース名です。データベースをフィルタリングできます。 |
| 名前 | マテリアライズドビューの名前です。名前でフィルタリングできます。 |
| ビュー定義 | マテリアライズドビューのクエリ定義です。表示 をクリックすると、完全なビュー定義ステートメントを確認できます。 |
| ビルドモード | マテリアライズドビューのビルドモード。以下を含みます: • IMMEDIATE: 即時ビルド。マテリアライズドビュー作成時にクエリを実行し、データを即座にフィルします。 • DEFERRED: 延遅ビルド。マテリアライズドビュー作成時にデータをフィルせず、ビルドは手動でトリガーする必要があります。 |
| リフレッシュモード | マテリアライズドビューのリフレッシュモード。以下を含みます: • ON COMMIT:コミット時リフレッシュ。ベーステーブルのデータがコミットされると、マテリアライズドビューが自動的にリフレッシュされます。 • ON DEMAND:オンデマンドリフレッシュ。マテリアライズドビューは手動またはスケジュールによってリフレッシュする必要があります。 • ON STATEMENT:ステートメント単位でのリフレッシュ。関連するステートメントを実行するたびにリフレッシュされます。 |
| リフレッシュモード | マテリアライズドビューのリフレッシュモード。次のいずれかを指定します。 • COMPLETE:完全リフレッシュ。クエリステートメントを再実行し、既存データを上書きします。 • FAST:高速リフレッシュ(増分リフレッシュ)。変更されたデータのみをリフレッシュします。マテリアライズドビューのログ(Mlog)に依存します。 |
| リフレッシュ間隔(秒) | 自動リフレッシュモードの場合、マテリアライズドビューのリフレッシュ間隔時間(単位:秒)。 |
| 現在の遅延(秒) | マテリアライズドビューの現在のデータ遅延時間(単位:秒)、つまり前回の更新から経過した時間です。現在の遅延が大きい場合、マテリアライズドビューのデータが古くなっている可能性があります。 |
| 次回のリフレッシュ | マテリアライズドビューの次回の計画リフレッシュ時間です。 |
| 最終更新日時 | マテリアライズドビューが最後に更新された日時。 |
| 最終更新時間(秒) | マテリアライズドビューの最終更新にかかった時間(単位:秒)。 |
説明
- マテリアライズドビューのリストは名前でフィルタリングでき、対象のマテリアライズドビューをすばやく特定するのに役立ちます。
- マテリアライズドビューの現在のレイテンシが高い場合は、更新タスクが正常に実行されているか確認するか、更新間隔の設定を調整することを検討してください。
- 最終的なリフレッシュ時間は、マテリアライズドビューのリフレッシュ性能を評価するのに役立ちます。時間がかかりすぎる場合は、マテリアライズドビューの定義やリフレッシュ方法を最適化する必要がある可能性があります。
リフレッシュレコードの表示
リフレッシュレコード機能は、マテリアライズドビューの履歴的なリフレッシュ操作を追跡し、リフレッシュ頻度やパフォーマンスの傾向を分析することで、リフレッシュ異常問題を迅速に発見するのに役立ちます。
**マテリアライズドビュータブで、レコードを更新**タブをクリックします。
リフレッシュレコードページでは、以下のフィルタ条件を使用して対象レコードを検索できます:
- タイムアウト記録のみ表示:このオプションを選択すると、リフレッシュがタイムアウトしたレコードのみが表示され、リフレッシュ異常問題の迅速な特定に役立ちます。
- ベーステーブルの内容を表示:このオプションを選択すると、マテリアライズドビューのベーステーブルに関する情報を確認できます。
- 時間範囲:確認するリフレッシュレコードの期間を選択します。以下の方法があります:
- **カスタム**ボタンをクリックし、開始時間と終了時間を手動で選択します。
- 時間範囲セレクタの両側にあるナビゲーション矢印(
<と>)を使用して、時間範囲を素早く調整します。
リフレッシュレコードリストで、マテリアライズドビューの履歴的なリフレッシュレコードを確認します。
列名 |
説明 |
|---|---|
| ID | リフレッシュレコードの一意の識別子。 |
| データベース | マテリアライズドビューが属するデータベース名。データベースでフィルタリングできます。 |
| 名前 | マテリアライズドビューの名前。 |
| リフレッシュ方式 | 今回のリフレッシュで使用されたリフレッシュ方式。以下を含みます: • COMPLETE:フルリフレッシュ。 • FAST:クイックリフレッシュ(増分リフレッシュ)。 |
| リフレッシュ時間(秒) | 今回のリフレッシュ操作にかかった時間(単位:秒)。 |
| 開始時間 | 今回のリフレッシュ操作の開始時間。 |
| 終了時間 | 今回のリフレッシュ操作の終了時間。 |
| 結果 | 今回のリフレッシュ操作の結果。以下を含みます: • 成功:リフレッシュ操作が正常に完了しました。 • 失敗しました:リフレッシュ操作が失敗しました。エラーメッセージを確認してトラブルシューティングを行ってください。 |
| リフレッシュ前行数 | リフレッシュ前のマテリアライズドビューのデータ行数。 |
| リフレッシュ後行数 | リフレッシュ後のマテリアライズドビューのデータ行数。 |
説明
- リフレッシュ前後の行数を比較することで、今回のリフレッシュ操作がデータに与えた影響を把握できます。
- リフレッシュに時間がかかる場合は、マテリアライズドビューの定義の複雑さやベーステーブルのデータ量を確認し、リフレッシュ方式の最適化やリフレッシュ戦略の調整を検討することをお勧めします。
- リフレッシュ結果が失敗と表示された場合は、エラーメッセージを確認し、ベーステーブルのデータやマテリアライズドビューのログ(Mlog)などが正常であるか確認することをお勧めします。
- リフレッシュレコードリストはページネーション表示をサポートしています。下部のページネーションコントロールを使用してページを切り替えたり、1ページあたりの表示レコード数を調整したりできます。