イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | レプリカの読み取り完了時間。 |
| region | Utf8 | アプリケーション領域。 |
| replica_role | Utf8 | プライマリ、レプリカ、またはフェイルオーバー ターゲット。 |
| replay_lag_ms | Float64 | リプレイラグが観察または報告されました。 |
| consistency_outcome | Utf8 | 新しい、古い、失敗した、または不明です。 |
| operation_name | Utf8 | アプリケーションの読み取り操作を制御します。 |
クエリをコピーする
SELECT
region,
replica_role,
operation_name,
COUNT(*) AS reads,
approx_percentile_cont(replay_lag_ms, 0.95) AS p95_replay_lag_ms,
SUM(CASE WHEN consistency_outcome = 'stale' THEN 1 ELSE 0 END)
AS stale_reads,
SUM(CASE WHEN consistency_outcome = 'failed' THEN 1 ELSE 0 END)
AS failed_reads
FROM database_replica_read_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY region, replica_role, operation_name
ORDER BY stale_reads DESC, p95_replay_lag_ms DESC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
レプリカ領域ごとの古い読み取り数
ap-southeast サブスクリプション読み取りには、観測された最も高い失効性とリプレイ ラグ テールがあります。
| region | replica_role | operation_name | reads | p95_replay_lag_ms | stale_reads | failed_reads |
|---|---|---|---|---|---|---|
| ap-southeast | replica | subscription-status | 18,400 | 4,820 | 214 | 18 |
| eu-west | replica | project-list | 42,100 | 740 | 31 | 2 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1レプリカの役割とリージョンは読み取りパスを識別します。
- 2アプリケーションの整合性の結果は、報告された遅延とは別に、ユーザーに見える古さを記録します。
- 3オペレーション名は、どのワークフローがより強力な読み取り後書き込み動作を必要とするかを示します。
決定すべきエッジケース
- 一貫性の結果には、防御可能なアプリケーション チェックが必要です。
- 再生ラグの単位はデータベースとコレクターによって異なります。
- データベースネイティブのレプリケーションおよびフェイルオーバーツールは、引き続きサーバー診断のソースとなります。
推奨されるダッシュボード
- バー: 地域別 stale_reads
- 傾向: 役割別の p95_replay_lag_ms
- 表: 操作別の失敗した読み取り
レシピを活用する
関連する機器とガイド
分析を続ける
遅いデータベース クエリをフィンガープリントで検出する
生の SQL やパラメーターを保存せずに、正規化されたデータベース操作を低速クエリ レート、平均継続時間、観測された最悪の継続時間によってランク付けします。
レシピを開くデータベース接続プールの飽和状態を測定する
平均プール使用率、キューに入れられた取得待機、タイムアウト、およびアプリケーション サービスごとのアイドル容量を測定します。
レシピを開くデータベーストランザクションのロールバック率の計算
エラー カテゴリ、期間、影響を受けるアカウントを維持しながら、コミットされたトランザクションとロールバックされたトランザクションをサービスごとに比較します。
レシピを開く実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。