SHOW COLUMNAR OFFSET
本文介紹了如何使用SHOW COLUMNAR OFFSET
語句查看列存同步位點(diǎn)。
注意事項
實(shí)例版本需為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 |
+--------------------+---------------+-----------+---------------------+-------------------------+-------------+
返回結(jié)果說明:
列名 | 說明 |
TYPE | 該行數(shù)據(jù)所屬類型。 |
BinlogFile | 當(dāng)前最新的Binlog文件。 |
Position | 當(dāng)前最新的Binlog文件位點(diǎn)。 |
TSO | 時間戳,Binlog中每一個事務(wù)都包含TSO,用于區(qū)分每一個事務(wù)。 |
TIME | TSO對應(yīng)的實(shí)際時間。 |
INTERVAL(ms) | 時間間隔。 |
類型為 CDC 的行,BinlogFile 和 Position 代表主實(shí)例的最新位點(diǎn),TSO是cdc同步到DN的binlog位點(diǎn)的tso,TIME是該 TSO 的實(shí)際時間,LATENCY延時記錄的是CDC節(jié)點(diǎn)收集多個DN生成全局一致binlog的延遲;
類型為 COLUMNAR_LATENCY 的行,BinlogFile 和 Position 代表列存節(jié)點(diǎn)已同步到的 Binlog 位點(diǎn),TSO 是同步位點(diǎn)的時間戳,TIME 是申請該 TSO 的實(shí)際時間,LATENCY則記錄的是 "CDC的TIME" 減去 "TSO 實(shí)際時間" 得到的間隔。
類型為CN_MIN_LATENCY的行,記錄的是CN(計算節(jié)點(diǎn))的最小延遲。
類型為CN_MAX_LATENCY的行,記錄的是CN(計算節(jié)點(diǎn))的最大延遲。
類型為CN_PURGE_WATERMARK的行,記錄的是CN(計算節(jié)點(diǎn))已經(jīng)purge的水位線。
一般 CDC 行和 COLUMNAR_LATENCY 行的 BinlogFile 和 Position 位點(diǎn)接近,則說明列存的數(shù)據(jù)和主實(shí)例基本一致。
常見問題
沒有 COLUMNAR_LATENCY 行數(shù)據(jù)。
答:說明沒有列存節(jié)點(diǎn),或者列存服務(wù)從未同步過數(shù)據(jù)。
CDC 行的 binlog 位點(diǎn)為什么和 COLUMNAR 行的數(shù)據(jù)始終有略微差距?
答:空閑情況下,沒有 DML 更新,CDC 節(jié)點(diǎn)(日志節(jié)點(diǎn))每隔 30s 才會連續(xù)生成三個 TSO 事件,保證位點(diǎn)推進(jìn),所以列存節(jié)點(diǎn)監(jiān)聽 binlog 事件,同步的時候每隔一段時間只會取第一個 TSO 事件觸發(fā)提交,所以會有略微差距。
COLUMNAR_LATENCY 行的 LATENCY 列值能否代表列存與主實(shí)例的延遲?
答:COLUMNAR 行的 LATENCY 列值統(tǒng)計的是CDC最新TSO與列存最后一次提交 binlog 事件的 TSO 的時間間隔,只能當(dāng)作一定參考,例如空閑情況下每隔 30s 才會有新的 binlog 事件,LATENCY 可能會接近30s,實(shí)際是由于binlog中沒有新增數(shù)據(jù),延遲理論上為0,這是因?yàn)榱写婀?jié)點(diǎn)是攢批提交的,所以心跳間隔比較大。
如何查看 PolarDB-X 主實(shí)例的最新 binlog 位點(diǎn)和 binlog 事件內(nèi)容?
答:可通過
SHOW BINARY LOGS
查看 Binlog 日志文件列表,可通過SHOW BINLOG EVENTS
查看Binlog 文件中的具體事件信息。