跳至主要內容
Telemetry
資料庫可靠性 SQL查詢範例

測量資料庫複製和 CDC 延遲

透過平均延遲、最差延遲、落後位元組數和過時取樣率來比較副本和更改資料捕獲消費者。

入門database_replication_samples已審查 2026-07-28測試用 阿帕奇 DataFusion 45.2.0

審閱者 Telemetry產品團隊 . SQL 相容性、事件契約、合成輸出和操作注意事項. 審查標準和所有權

問題已回答

哪些副本或 CDC 使用者落後於源資料庫?

只有當下遊消費者保持足夠的最新狀態以實現其目的時,複製才是健康的。測量落後的秒數和位元組數可以使安靜的停滯消費者與處理較大流的繁忙消費者區分開來。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp複製取樣時間(UTC)。
consumer_nameUtf8穩定的副本、聯結器或下游使用者名稱。
source_typeUtf8postgres_replica、cdc_pipeline 或其他受控源型別。
regionUtf8批准的部署區域。
lag_secondsFloat64觀察到的時間滯後於源。
replay_bytes_behindInt64等待重播或消耗的大約位元組數。
statusUtf8健康、滯後、停滯或不可用。
environmentUtf8部署環境。
DataFusion SQL

複製查詢

sql
SELECT
  consumer_name,
  source_type,
  region,
  COUNT(*) AS samples,
  AVG(lag_seconds) AS average_lag_seconds,
  MAX(lag_seconds) AS maximum_lag_seconds,
  MAX(replay_bytes_behind) AS maximum_bytes_behind,
  SUM(CASE WHEN lag_seconds > 30 THEN 1 ELSE 0 END) AS stale_samples,
  100.0 * SUM(CASE WHEN lag_seconds > 30 THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS stale_sample_rate_pct
FROM database_replication_samples
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
  AND environment = 'production'
GROUP BY consumer_name, source_type, region
HAVING COUNT(*) >= 10
ORDER BY maximum_lag_seconds DESC;

此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。

查詢結果

最大複製或 CDC 滯後

西部區域副本有兩個樣本超過了說明性的三十秒新鮮度閾值。

consumer_namesource_typeregionsamplesaverage_lag_secondsmaximum_lag_secondsmaximum_bytes_behindstale_samplesstale_sample_rate_pct
replica-us-westpostgres_replicaus-west1214.584244,040,192216.67
billing-cdccdc_pipelineus-east12366,291,45600

綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。

Maximum replication or CDC lag:來自 Measure Database Replication and CDC Lag 範例結果的合成 maximum_lag_seconds 值的靜態圖表
確定性範例輸出的可索引 SVG。下載它以獲取帶有歸屬的文章、操作手冊或設計評論。

重現範例

下載公共裝置

JSON 包包含型別化事件契約, reproducible 輸入行、確切的 SQL、預期輸出、審閱註釋和引擎版本。 CSV 包含顯示的結果。

SQL 是如何工作的

  1. 1平均滯後描述了正常狀態,而最大滯後則保留了短暫但後果嚴重的停頓。
  2. 2過時取樣率比一個孤立的最大值更容易發出警示。
  3. 3後面的位元組提供工作負載上下文,因為相同的延遲可以代表截然不同的重放工作量。

需要決定的邊緣情況

  • 資料庫滯後欄位可能意味著寫入、重新整理、重播或聯結器延遲。命名測量邊界。
  • 安靜的源可以在仍然陳舊的情況下報告後面的低位元組;保持時間和音量。
  • 使用特定於工作負載的新鮮度目標,而不是全域性的三十秒閾值。

推薦儀表板

  • 條形:maximum_lag_seconds(按消費者)
  • 趨勢:lag_seconds 和 replay_bytes_behind
  • 資料表:最新的滯後或不可用的消費者

警示指導

當消費者連續樣品超過記錄的新鮮度目標或完全停止報告時發出警示。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

建立資料表,調整欄位並儲存結果

免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。

獲取 API 金鑰