全部產品
Search
文件中心

PolarDB:SHOW COLUMNAR OFFSET

更新時間:Jul 06, 2024

本文介紹了如何使用SHOW COLUMNAR OFFSET語句查看列存同步位點。

注意事項

執行個體版本需為5.4.19-16989811及以上

文法

SHOW COLUMNAR OFFSET

樣本

SHOW COLUMNAR OFFSET;
+--------------------+---------------+-----------+---------------------+-------------------------+-------------+
| TYPE               | BinlogFile    | Position  | TSO                 | TIME                    | LATENCY(ms) |
+--------------------+---------------+-----------+---------------------+-------------------------+-------------+
| CDC                | binlog.000010 | 223718750 | 7185913700627251264 | 2024-04-16 16:15:34.050 | 218         |
| COLUMNAR_LATENCY   | binlog.000010 | 223718418 | 7185913684139442240 | 2024-04-16 16:15:30.119 | 3931        |
| CN_MIN_LATENCY     | binlog.000010 | 223718418 | 7185913684139442240 | 2024-04-16 16:15:30.119 | 3931        |
| CN_MAX_LATENCY     | binlog.000010 | 223714434 | 7185912425433006144 | 2024-04-16 16:10:30.020 | 304030      |
| CN_PURGE_WATERMARK | binlog.000010 | 223713604 | 7185912174181613632 | 2024-04-16 16:09:30.117 | 363933      |
+--------------------+---------------+-----------+---------------------+-------------------------+-------------+

返回結果說明:

列名

說明

TYPE

該行資料所屬類型。

BinlogFile

當前最新的Binlog檔案。

Position

當前最新的Binlog檔案位點。

TSO

時間戳記,Binlog中每一個事務都包含TSO,用於區分每一個事務。

TIME

TSO對應的實際時間。

INTERVAL(ms)

時間間隔。

  • 類型為 CDC 的行,BinlogFile 和 Position 代表主執行個體的最新位點,TSO是cdc同步到DN的binlog位點的tso,TIME是該 TSO 的實際時間,LATENCY延時記錄的是CDC節點收集多個DN產生全域一致binlog的延遲;

  • 類型為 COLUMNAR_LATENCY 的行,BinlogFile 和 Position 代表列存節點已同步到的 Binlog 位點,TSO 是同步位點的時間戳記,TIME 是申請該 TSO 的實際時間,LATENCY則記錄的是 "CDC的TIME" 減去 "TSO 實際時間" 得到的間隔。

  • 類型為CN_MIN_LATENCY的行,記錄的是CN(計算節點)的最小延遲。

  • 類型為CN_MAX_LATENCY的行,記錄的是CN(計算節點)的最大延遲。

  • 類型為CN_PURGE_WATERMARK的行,記錄的是CN(計算節點)已經purge的水位線。

  • 一般 CDC 行和 COLUMNAR_LATENCY 行的 BinlogFile 和 Position 位點接近,則說明列存的資料和主執行個體基本一致。

常見問題

  1. 沒有 COLUMNAR_LATENCY 行資料。

    答:說明沒有列存節點,或者列存服務從未同步過資料。

  1. CDC 行的 binlog 位點為什麼和 COLUMNAR 行的資料始終有略微差距?

    答:空閑情況下,沒有 DML 更新,CDC 節點(日誌節點)每隔 30s 才會連續產生三個 TSO 事件,保證位點推進,所以列存節點監聽 binlog 事件,同步的時候每隔一段時間只會取第一個 TSO 事件觸發提交,所以會有略微差距。

  1. COLUMNAR_LATENCY 行的 LATENCY 列值能否代表列存與主執行個體的延遲?

    答:COLUMNAR 行的 LATENCY 列值統計的是CDC最新TSO與列存最後一次提交 binlog 事件的 TSO 的時間間隔,只能當作一定參考,例如空閑情況下每隔 30s 才會有新的 binlog 事件,LATENCY 可能會接近30s,實際是由於binlog中沒有新增資料,延遲理論上為0,這是因為列存節點是攢批提交的,所以心跳間隔比較大。

  1. 如何查看 PolarDB-X 主執行個體的最新 binlog 位點和 binlog 事件內容?

    答:可通過SHOW BINARY LOGS查看 Binlog 記錄檔列表,可通過SHOW BINLOG EVENTS查看Binlog 檔案中的具體事件資訊。