このトピックでは、SHOW COLUMNAR OFFSET
ステートメントを使用して、列指向のデータ同期チェックポイントを照会する方法について説明します。
使用上の注意
PolarDB-Xインスタンスのバージョンは5.4.19-16989811以降である必要があります。
構文
ショーCOLUMNAR OFFSET
例
ショーCOLUMNAR OFFSET;
+ -------------------- + ------------- ----------------- + --------------------- + ------------------------- + ------------------------- + ---------------
| TYPE | BinlogFile | ポジション | TSO | タイム | 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 |
+ -------------------- + ------------- ----------------- + --------------------- + ------------------------- + ------------------------- + ----------------
次の表に、返された結果のパラメーターを示します。
パラメーター | 説明 |
タイプ | 行のデータ型。 |
BinlogFile | 最新のバイナリログファイル。 |
Position | 最新のバイナリログファイルのチェックポイント。 |
TSO | タイムスタンプ。 バイナリログの各トランザクションには、各トランザクションを区別するためのTimestamp Oracle (TSO) が含まれています。 |
時間 | TSOに対応する実際の時間。 |
インターバル (ms) | 時間間隔。 |
変更データキャプチャ (CDC) のデータ行では、BinlogFileおよびPositionパラメーターはプライマリインスタンスの最新のチェックポイントを示し、TSOパラメーターはCDCノードからデータノードに同期されたデータのバイナリログファイルのチェックポイントのタイムスタンプを示し、TIMEパラメーターはTSOの実際の時刻を示し、LATENCYパラメーターは、CDCノードが複数のデータノードからデータを受信してグローバルに整合性のあるバイナリログファイルを生成するときに経過したレイテンシを示します。
COLUMNAR_LATENCYデータ行では、BinlogFileおよびPositionパラメーターは、列ストアノードが同期されるバイナリログファイルのチェックポイントを示し、TSOパラメーターは同期チェックポイントのタイムスタンプを示し、TIMEパラメーターは、TSO値が有効になる実際の時間を示します。LATENCYパラメーターは、CDCノードのtime値からTSOの実際の時間を差し引いて計算されます。
CN_MIN_LATENCYデータ行は、計算ノードの最小レイテンシを記録します。
CN_MAX_LATENCYデータ行は、計算ノードの最大レイテンシを記録します。
CN_PURGE_WATERMARKデータ行は、計算ノードによってパージされた透かしを記録する。
ほとんどの場合、CDCデータ行のBinlogFileとPositionの値がCOLUMNAR_LATENCYデータ行の値に近い場合、列指向のデータはプライマリインスタンスのデータと一致します。
よくある質問
COLUMNAR_LATENCYデータ行が見つからないのはなぜですか?
これは、使用可能な列ストアノードがないか、列ストアノードがデータを同期しないことを示します。
CDCデータ行のバイナリログファイルのチェックポイントがCOLUMNARデータ行のチェックポイントとわずかに異なるのはなぜですか?
アイドル状態では、DML更新が存在しない場合、CDCノードは30秒ごとに3つのTSOイベントを連続して生成し、バイナリログファイルのチェックポイントの進行を保証します。 その結果、列ストアノードはバイナリログイベントをリッスンし、データ同期中に定期的に最初のTSOイベントをコミットします。 これにより、行間のバイナリログファイルのチェックポイントにわずかな違いが生じます。
COLUMNAR_LATENCYデータ行のLATENCY列の値は、列ストアノードとプライマリインスタンス間のレイテンシを示すことができますか。
COLUMNAR_LATENCYデータ行のLATENCY列の値は、CDCノードの最新のTSOと、列ストアノードによってバイナリログイベントが最後にコミットされたときのTSOとの間の間隔を示します。 値は参照にのみ使用できます。 たとえば、アイドル状態では、新しいバイナリログイベントが30秒ごとに発生し、LATENCY列値は30秒に達する可能性があります。 実際には、バイナリログファイルにデータが書き込まれないため、待ち時間は発生しません。 バイナリログイベントは、列ストアノードによってバッチでコミットされます。これにより、ハートビート間隔が大きくなります。
PolarDB-Xプライマリインスタンスの最新のバイナリログファイルチェックポイントとバイナリログイベントを表示するにはどうすればよいですか?
バイナリログファイルを表示するには
SHOW BINARY LOGS
ステートメントを実行し、ファイル内の特定のイベントを表示するにはSHOW BINLOG EVENTS
ステートメントを実行します。