このトピックでは、Data Integration がリアルタイムでデータを同期するために使用するフィールドについて説明します。
次の表は、Data Integration における MySQL データのリアルタイム同期のレコードフォーマットを説明しています。
_sequence_id_ | _operation_type_ | _execute_time_ | _before_image_ | _after_image_ | フィールド 1 | フィールド 2 | フィールド 3 |
増分イベントのレコード ID。値は一意で自動インクリメントされます。 | 操作タイプ (I、D、または U)。 | データのタイムスタンプ。 | レコードに変更前のデータが含まれているかどうかを示します (Y/N)。 | レコードに変更後のデータが含まれているかどうかを示します (Y/N)。 | 実際のデータフィールド 1。 | 実際のデータフィールド 2。 | 実際のデータフィールド 3。 |
Data Integration が MySQL、Loghub、PolarDB などのソースから DataHub または Kafka にリアルタイムでデータを同期する際、宛先に 5 つの追加列が追加されます。これらの列は、メタデータ管理、ソート、重複排除などの操作に使用されます。
パラメーター | タイプ | 説明 |
_sequence_id_ | STRING | 完全データと増分データをマージするために使用される自動インクリメント ID。 |
_operation_type_ | STRING | 操作タイプ。有効な値は次のとおりです。
|
_execute_time_ | LONG | データが生成されたときのタイムスタンプ。これは binlog のタイムスタンプです。 |
_before_image_ | STRING | レコードに更新前のデータが含まれているかどうかを示します。有効な値は Y と N です。 |
_after_image_ | STRING | レコードに更新後のデータが含まれているかどうかを示します。有効な値は Y と N です。 |
INSERT、UPDATE、DELETE などのさまざまな操作タイプについて、増分データレコードの _before_image_ フィールドと _after_image_ フィールドは次のように定義されます。
操作タイプが INSERT の場合、生成されたレコードには挿入されたデータが含まれます。_before_image_ の値は N で、_after_image_ の値は Y です。
操作タイプが UPDATE の場合、Data Integration は操作を 2 つのレコードに分割します。1 つは更新前のデータ用、もう 1 つは更新後のデータ用です。これら 2 つの増分データレコードは、_sequence_id_、_operation_type_、および _execute_time_ の値が同じです。
元のデータを格納するデータレコードの場合、_before_image_ の値は Y で、_after_image_ の値は N です。更新されたデータを格納するデータレコードの場合、_before_image_ の値は N で、_after_image_ の値は Y です。
操作タイプが DELETE の場合、増分データレコードには削除されたデータが含まれます。このレコードでは、_before_image_ の値は Y で、_after_image_ の値は N です。