SlideShare a Scribd company logo
2
Most read
© 2019 QlikTech International AB. All rights reserved.
Change Tables
(変更テーブル)のご説明
クリックテック・ジャパン株式会社
2
Change Tableの有効化
• ソース エンドポイント テーブルからターゲット エンドポイント内の対応するテーブルに変更をレプリケートするだけでなくターゲット エンドポイント内の対応する
Change Tableに変更の履歴をレプリケートすることもできます。
• このプロセスは、ターゲットテーブルに変更を適用するときに同時に発生します。
• Qlik Replicateで、変更をターゲットのみにレプリケートするか、Change Tableに変更を保存するか、またはその両方にレプリケートするかを決定できます。
3
Change Tableの内容
• Change Tableの名前は、レプリケートされるテーブルと同じですが、各テーブル名にデフォルトで__ctのサフィックスが付加されます。
• 変更テーブルには、元のテーブル列とヘッダー列が含まれます。ヘッダー列には、header__のプレフィックスが含まれています。
• [Task Settings]の[Store Changes Settings]より、プレフィックス・サフィックスは変更が可能です。
Qlik Replicate Control Table
ソースシステム ターゲットシステム
変更内容を履歴として保存される
ヘッダー列 ソースのテーブル列
4
Change Tableのテーブル構造
列名 データ型 説明
[header__]change_seq varchar (35)
タスクのすべての変更テーブルに共通する、単調に増加する変更シーケンサー。変更順序の形式は次のとおりです。
YYYYMMDhDHHmSShhxxxxxxxxxxxxxxxxxxxxxxxxx
・YYYY は 4 桁の年です (2012 など)
・MM は 2 桁の月です (範囲は 01 から 12 まで)
・HH は、その日の時間です (範囲は 00 から 23 まで)
・mmは時間の分です(範囲は00から59まで)
・SS は分単位の秒です (範囲は 00 から 59 まで)
・hh は 2 番目の 100 分の 1 です (範囲は 00 から 99 まで)
・xxxxxxxxxxxxxxxxxxxxxx は、19 桁の 0 個のプレフィックス付き変更番号 (タスクごとにグローバル) です。
通常、時間部分は、変更レコードを含むトランザクションのコミット時間を指します。Qlik Replicateにはシーケンス番号の単調性を維持するロジッ
クが含まれているため、エンドポイント時間を変更または調整すると、同じタイムスタンプ内にあるように見えても変更ナンバーが増えているように見え
る複数の変更が発生する可能性があります。
xxx…xxx は、通常、BEFORE-IMAGE レコードの場合は、一致する UPDATE レコードの変更番号と同じである (たとえば、BEFORE-
IMAGE の変更番号が 1000 で、UPDATE の変更番号が 1001 の場合は、両方とも 1001) という点を除いて、データレコードからの内部変
更番号です。これにより、テーブルとそれ自体の間で、左のテーブルはある時点までスキャンするがoperation=before-imageをフィルタアウトし、
右側のテーブルはchange_operは「B」で同じchange_seqと結合できます。
[header__]change_oper varchar (1)
操作の種類。これは、次のいずれかです。
I: INSERT
D: DELETE
U: UPDATE
B: Before Image
5
Change Tableのテーブル構造
列名 データ型 説明
[header__] change_mask varbinary (128)
変更マスクは、変更テーブル内のどのデータ列が、ソーステーブルで変更された列に関連付けられているかを示します。
変更マスク内のビット位置は、変更テーブルの列序数に基づいています。つまり、ヘッダー列が 5 個ある場合、それらはビット 0 から 4 を占め、最初のデータ列は変
更マスクのビット 5 になります。
変更マスクは、変更マスクをリトルエンディアン順で表すバイナリ列 (バイト配列) です。
バイト 0 ビット 7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0
バイト 1 ビット 15 ビット14 ビット13 ビット12 ビット11 ビット10 ビット9 ビット8
この例では、bit#Nは序数 N の変更テーブル列が、ソース 表内で変更された列に関連していることを示します。更新マスクが 11000 で、列序数が 3 の場合、
列は変更されませんでした。
以下に、ビットセマンティクスについて説明します。
・INSERT レコードの場合、挿入されたすべての列に関連するビットセットがあります。
・DELETE レコードの場合、主キー (または一意のインデックス) 列にのみ、関連するビットが設定されます。これにより、別のソースから主キー フィールドを見つける
ことなく、アプリケーションが DELETE ステートメントを構築できます。
・BEFORE-IMAGE レコードの場合、すべてのビットはクリア (変更マスクは空にすることができます) です。
・UPDATE レコードの場合、BEFORE-IMAGE と UPDATE の間で値が変更された各列には、関連するビットセットが設定されます。
スペースと処理の効率を高める場合、変更マスクに格納されている実際のバイト数は NULL で切り捨てることができます。つまり、末尾のゼロを格納する必要はあり
ません。処理ロジックでは、この点を考慮する必要があります。
[header__] stream_position varchar (128) ソース CDC ストリームの位置。
[header__] operation varchar (12)
変更レコードに関連付けられている操作。次のいずれかの値を指定できます。
・INSERT
・UPDATE
・DELETE
・BEFOREIMAGE
[header__] transaction_id varchar (32)
変更レコードが属するトランザクションの ID。
値は 128 ビット トランザクション ID の 16 進数の文字列です。
[header__] timestamp timestamp
元の変更 UTC タイムスタンプ (値は概算値である場合があります)。
※ PostgreSQL ソースでは、タイムスタンプはコミットが発生した後にのみ認識されます。したがって、変更がソース表にコミットされるまで、デフォルトの日付が表示さ
れます (例: 1970-01-01)。
[header__] partition_name string
データのパーティション分割の変更が有効な場合にターゲットに作成されたパーティションの名前。パーティション名は、パーティションの開始時刻と終了時刻で構成さ
れます。
例: 20170313T123000_20170313T170000
6
Truncateの処理について
• TRUNCATE 操作では、変更テーブルは切り捨てられません。代わりに、 operation=TRUNCATEの追加のレコードがテーブルに追加されます。これは、ま
た、Hadoop ターゲットにレプリケートするときに、変更テーブルに対応する HDFS ファイルが削除されないことを意味します。
• 実際のターゲット表に関しては、 Apply ChangesとStore Changesの両方のレプリケーション・オプションが有効になっている場合、ターゲット表は切り捨てら
れます。これは、Hadoop ターゲットにレプリケートする場合、変更テーブルに対応する HDFS ファイルも削除されることを意味します。
• TRUNCATE 操作を変更テーブルとターゲット テーブルの両方に適用するには (TRUNCATE をサポートするソースの場合)、[Task Settings]の[Store
Changes Settings]タブで:
 [DDL options]ドロップダウン リストから [Apply to Change Table] (既定) が選択されていることを確認します。
 [When source table is truncated] ドロップダウン リストから [TRUNCATE target table] (既定) が選択されていることを確認します。
7
注意事項
• ソース データを変更しないソースに適用されたUPDATE は、ターゲットに適用されますが、対応するChange Tableには適用されません。たとえば、ソースの
列 A の UPDATE 操作で、10 から 1 より大きい値をすべて変更し、列 A のレコードの 1 つが既に 1 である場合、そのレコードの UPDATE はChange
Tableに書き込まれません。
• ソース テーブルから選択した列に加えて、Change Tableには、操作、トランザクション、タイムスタンプなど、行が表す変更に関する詳細情報を提供する特
別なヘッダー列も含まれています。これにより、SQL クエリ言語を使用して、不正検出、傾向分析、ビジネス プロセスのトリガー、ディザスタ リカバリなど、さま
ざまな変更イベントの分析を実行できます。
• 変更テーブルを使用する場合は、変更テーブルに変更を保存するか、ターゲット テーブルに変更を適用するか、または両方の変更を保存して適用するかを
決定できます。これは、レプリケーションタスクを定義するときに決定します。この設定の詳細については、「変更の設定を保存する」を参照してください。
• 変更を適用および保存する場合、以下の条件を満たします。
 ターゲットテーブルと変更テーブルは、同じエンドポイントに含まれていなければなりませんが、異なるスキーマを持つことができます。たとえば、変更テーブ
ルにはメタデータ ヘッダーが含まれます。
 変更テーブルに適用された変更は、ソース データベースの対応するトランザクションで実行された変更とまったく同じように処理されます。したがって、
Transactional apply modeまたはBatch optimized apply モードを使用して[Preserve transaction consistency]オプション
を選択すると、変更は単一のトランザクションとして処理されます。例外は、エラーが発生し、Replicateが "1 つずつ" 適用モードに切り替わり、どの
変更操作がエラーの原因かを判断する場合です。
 同じデータ列が適用され、両方とも、変更ヘッダー列を除いて、保存されている変更テーブルに追加されます。
www.qlik.com/sap

More Related Content

PPTX
Qlik Replicateでのテーブル設定詳細(変換・フィルターなど)
PPTX
Qlik Replicateでのタスク設定の詳細
PPTX
Qlik Replicateのタスク実行時の操作
PPTX
Qlik Replicate コンソールの利用方法
PPTX
Qlik Replicate - Control Tableの詳細
PPTX
Qlik Replicateでのレプリケーション・タスクの監視と制御
PPTX
Qlik Replicate のインストール
PPTX
Qlik ReplicateにおけるExpression Builderの利用方法
Qlik Replicateでのテーブル設定詳細(変換・フィルターなど)
Qlik Replicateでのタスク設定の詳細
Qlik Replicateのタスク実行時の操作
Qlik Replicate コンソールの利用方法
Qlik Replicate - Control Tableの詳細
Qlik Replicateでのレプリケーション・タスクの監視と制御
Qlik Replicate のインストール
Qlik ReplicateにおけるExpression Builderの利用方法

What's hot (20)

PPTX
Qlik Replicateでのタスクの定義と管理
PPTX
Qlik composeを利用したDWH構築の流れ
PPTX
Oracleのソース・ターゲットエンドポイントとしての利用
PPTX
Microsoft SQL Serverのソース・ターゲットエンドポイントとしての利用
PPTX
Qlik TECH TALK 20210706 SAPデータ分析を加速するQlikのアクセレレーターパッケージご紹介
PPTX
Qlik ReplicateでのLog Streamの利用
PPTX
Qlik Sense SaaSからオンプレミスデータを活用!Qlik Data Gateway - Direct Accessのご紹介
PDF
Oracle GoldenGate Cloud Serviceユーザーズガイド
PPTX
Qlik Replicateのファイルチャネルの利用
PPTX
Qlik Replicate - IBM DB2 for LUWを ソースおよびターゲットエンドポイントとして使用する
PDF
Oracle Data Guard による高可用性
PDF
[B31] LOGMinerってレプリケーションソフトで使われているけどどうなってる? by Toshiya Morita
PDF
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
PPTX
Salesforceのソースエンドポイントとしての利用
PPTX
Qlik composeのご紹介
PPTX
Qlik ReplicateでApache Kafkaをターゲットとして使用する
PPTX
Qlik Replicate - Replicate Logger
PDF
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
PPTX
Sql server のバックアップとリストアの基礎
PDF
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Qlik Replicateでのタスクの定義と管理
Qlik composeを利用したDWH構築の流れ
Oracleのソース・ターゲットエンドポイントとしての利用
Microsoft SQL Serverのソース・ターゲットエンドポイントとしての利用
Qlik TECH TALK 20210706 SAPデータ分析を加速するQlikのアクセレレーターパッケージご紹介
Qlik ReplicateでのLog Streamの利用
Qlik Sense SaaSからオンプレミスデータを活用!Qlik Data Gateway - Direct Accessのご紹介
Oracle GoldenGate Cloud Serviceユーザーズガイド
Qlik Replicateのファイルチャネルの利用
Qlik Replicate - IBM DB2 for LUWを ソースおよびターゲットエンドポイントとして使用する
Oracle Data Guard による高可用性
[B31] LOGMinerってレプリケーションソフトで使われているけどどうなってる? by Toshiya Morita
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Salesforceのソースエンドポイントとしての利用
Qlik composeのご紹介
Qlik ReplicateでApache Kafkaをターゲットとして使用する
Qlik Replicate - Replicate Logger
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
Sql server のバックアップとリストアの基礎
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Ad

More from QlikPresalesJapan (20)

PPTX
20250819 Qlik Tips AI assistants (SQLアシスタントとデータモデルリレーションシップ)
PPTX
QlikTips_20250819_Qlik Automate Update.pptx
PDF
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
PPTX
【Qlik 医療データ活用勉強会】第50回 日本医療マネジメント学会参加報告、DPCデータの活用等
PPTX
20250729_TechTalk_QlikTalendCloud_データ品質とデータガバナンス
PDF
20250722_TECH TALK 事例発表 Qlikを活用したSAPデータ活用の事例紹介
PDF
20250722_TECH TALK 事例発表 データ活用で未来を拓く!AI/機械学習が導くビジネス変革事例
PPTX
Powering Performance: メルセデス・ベンツにおけるDatabricksとQlikのリアルなユースケース
PPTX
Qlik Cloud Analytics HTMLによるレポートテンプレートの作成方法
PPTX
Snowflakeでキーペア認証を行う ~ Talend Studio, Qlik Cloud, Qlik Replicate ~
PPTX
Qlikデータ統合・品質関連機能を完全おさらい! Qlik Talend Cloudの概要紹介
PPTX
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年6月リリース最新機能のご紹介 ~
PDF
Qlik Cloud Analyticsの機能を全部知ってますか? Qlik Cloud Analyticsの機能概要紹介
PDF
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年5月リリース最新機能のご紹介
PPTX
【Qlik 医療データ活用勉強会】DPC機能評価係数Ⅱ(2025年度)の内訳データの分析
PPTX
Qlik TECH TALK セミナー:Qlik Talend CloudのDatabricksデータ連携ベストプラクティス
PPTX
Qlik Talend CloudのSnowflakeデータ連携ベストプラクティス
PPTX
【無料ハンズオンセミナー】 20250513_Qlik Talend Cloud と Snowflake による最新のデータ統合と変換の実践.pptx
PPTX
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年4月リリース最新機能のご紹介 ~
PPTX
【Qlik 医療データ活用勉強会】令和5年度DPC「退院患者調査」データの活用(過年度と比較した二次医療圏の変化)
20250819 Qlik Tips AI assistants (SQLアシスタントとデータモデルリレーションシップ)
QlikTips_20250819_Qlik Automate Update.pptx
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
【Qlik 医療データ活用勉強会】第50回 日本医療マネジメント学会参加報告、DPCデータの活用等
20250729_TechTalk_QlikTalendCloud_データ品質とデータガバナンス
20250722_TECH TALK 事例発表 Qlikを活用したSAPデータ活用の事例紹介
20250722_TECH TALK 事例発表 データ活用で未来を拓く!AI/機械学習が導くビジネス変革事例
Powering Performance: メルセデス・ベンツにおけるDatabricksとQlikのリアルなユースケース
Qlik Cloud Analytics HTMLによるレポートテンプレートの作成方法
Snowflakeでキーペア認証を行う ~ Talend Studio, Qlik Cloud, Qlik Replicate ~
Qlikデータ統合・品質関連機能を完全おさらい! Qlik Talend Cloudの概要紹介
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年6月リリース最新機能のご紹介 ~
Qlik Cloud Analyticsの機能を全部知ってますか? Qlik Cloud Analyticsの機能概要紹介
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年5月リリース最新機能のご紹介
【Qlik 医療データ活用勉強会】DPC機能評価係数Ⅱ(2025年度)の内訳データの分析
Qlik TECH TALK セミナー:Qlik Talend CloudのDatabricksデータ連携ベストプラクティス
Qlik Talend CloudのSnowflakeデータ連携ベストプラクティス
【無料ハンズオンセミナー】 20250513_Qlik Talend Cloud と Snowflake による最新のデータ統合と変換の実践.pptx
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年4月リリース最新機能のご紹介 ~
【Qlik 医療データ活用勉強会】令和5年度DPC「退院患者調査」データの活用(過年度と比較した二次医療圏の変化)
Ad

Qlik Replicate - Change Tables(変更テーブル)のご説明

  • 1. © 2019 QlikTech International AB. All rights reserved. Change Tables (変更テーブル)のご説明 クリックテック・ジャパン株式会社
  • 2. 2 Change Tableの有効化 • ソース エンドポイント テーブルからターゲット エンドポイント内の対応するテーブルに変更をレプリケートするだけでなくターゲット エンドポイント内の対応する Change Tableに変更の履歴をレプリケートすることもできます。 • このプロセスは、ターゲットテーブルに変更を適用するときに同時に発生します。 • Qlik Replicateで、変更をターゲットのみにレプリケートするか、Change Tableに変更を保存するか、またはその両方にレプリケートするかを決定できます。
  • 3. 3 Change Tableの内容 • Change Tableの名前は、レプリケートされるテーブルと同じですが、各テーブル名にデフォルトで__ctのサフィックスが付加されます。 • 変更テーブルには、元のテーブル列とヘッダー列が含まれます。ヘッダー列には、header__のプレフィックスが含まれています。 • [Task Settings]の[Store Changes Settings]より、プレフィックス・サフィックスは変更が可能です。 Qlik Replicate Control Table ソースシステム ターゲットシステム 変更内容を履歴として保存される ヘッダー列 ソースのテーブル列
  • 4. 4 Change Tableのテーブル構造 列名 データ型 説明 [header__]change_seq varchar (35) タスクのすべての変更テーブルに共通する、単調に増加する変更シーケンサー。変更順序の形式は次のとおりです。 YYYYMMDhDHHmSShhxxxxxxxxxxxxxxxxxxxxxxxxx ・YYYY は 4 桁の年です (2012 など) ・MM は 2 桁の月です (範囲は 01 から 12 まで) ・HH は、その日の時間です (範囲は 00 から 23 まで) ・mmは時間の分です(範囲は00から59まで) ・SS は分単位の秒です (範囲は 00 から 59 まで) ・hh は 2 番目の 100 分の 1 です (範囲は 00 から 99 まで) ・xxxxxxxxxxxxxxxxxxxxxx は、19 桁の 0 個のプレフィックス付き変更番号 (タスクごとにグローバル) です。 通常、時間部分は、変更レコードを含むトランザクションのコミット時間を指します。Qlik Replicateにはシーケンス番号の単調性を維持するロジッ クが含まれているため、エンドポイント時間を変更または調整すると、同じタイムスタンプ内にあるように見えても変更ナンバーが増えているように見え る複数の変更が発生する可能性があります。 xxx…xxx は、通常、BEFORE-IMAGE レコードの場合は、一致する UPDATE レコードの変更番号と同じである (たとえば、BEFORE- IMAGE の変更番号が 1000 で、UPDATE の変更番号が 1001 の場合は、両方とも 1001) という点を除いて、データレコードからの内部変 更番号です。これにより、テーブルとそれ自体の間で、左のテーブルはある時点までスキャンするがoperation=before-imageをフィルタアウトし、 右側のテーブルはchange_operは「B」で同じchange_seqと結合できます。 [header__]change_oper varchar (1) 操作の種類。これは、次のいずれかです。 I: INSERT D: DELETE U: UPDATE B: Before Image
  • 5. 5 Change Tableのテーブル構造 列名 データ型 説明 [header__] change_mask varbinary (128) 変更マスクは、変更テーブル内のどのデータ列が、ソーステーブルで変更された列に関連付けられているかを示します。 変更マスク内のビット位置は、変更テーブルの列序数に基づいています。つまり、ヘッダー列が 5 個ある場合、それらはビット 0 から 4 を占め、最初のデータ列は変 更マスクのビット 5 になります。 変更マスクは、変更マスクをリトルエンディアン順で表すバイナリ列 (バイト配列) です。 バイト 0 ビット 7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 バイト 1 ビット 15 ビット14 ビット13 ビット12 ビット11 ビット10 ビット9 ビット8 この例では、bit#Nは序数 N の変更テーブル列が、ソース 表内で変更された列に関連していることを示します。更新マスクが 11000 で、列序数が 3 の場合、 列は変更されませんでした。 以下に、ビットセマンティクスについて説明します。 ・INSERT レコードの場合、挿入されたすべての列に関連するビットセットがあります。 ・DELETE レコードの場合、主キー (または一意のインデックス) 列にのみ、関連するビットが設定されます。これにより、別のソースから主キー フィールドを見つける ことなく、アプリケーションが DELETE ステートメントを構築できます。 ・BEFORE-IMAGE レコードの場合、すべてのビットはクリア (変更マスクは空にすることができます) です。 ・UPDATE レコードの場合、BEFORE-IMAGE と UPDATE の間で値が変更された各列には、関連するビットセットが設定されます。 スペースと処理の効率を高める場合、変更マスクに格納されている実際のバイト数は NULL で切り捨てることができます。つまり、末尾のゼロを格納する必要はあり ません。処理ロジックでは、この点を考慮する必要があります。 [header__] stream_position varchar (128) ソース CDC ストリームの位置。 [header__] operation varchar (12) 変更レコードに関連付けられている操作。次のいずれかの値を指定できます。 ・INSERT ・UPDATE ・DELETE ・BEFOREIMAGE [header__] transaction_id varchar (32) 変更レコードが属するトランザクションの ID。 値は 128 ビット トランザクション ID の 16 進数の文字列です。 [header__] timestamp timestamp 元の変更 UTC タイムスタンプ (値は概算値である場合があります)。 ※ PostgreSQL ソースでは、タイムスタンプはコミットが発生した後にのみ認識されます。したがって、変更がソース表にコミットされるまで、デフォルトの日付が表示さ れます (例: 1970-01-01)。 [header__] partition_name string データのパーティション分割の変更が有効な場合にターゲットに作成されたパーティションの名前。パーティション名は、パーティションの開始時刻と終了時刻で構成さ れます。 例: 20170313T123000_20170313T170000
  • 6. 6 Truncateの処理について • TRUNCATE 操作では、変更テーブルは切り捨てられません。代わりに、 operation=TRUNCATEの追加のレコードがテーブルに追加されます。これは、ま た、Hadoop ターゲットにレプリケートするときに、変更テーブルに対応する HDFS ファイルが削除されないことを意味します。 • 実際のターゲット表に関しては、 Apply ChangesとStore Changesの両方のレプリケーション・オプションが有効になっている場合、ターゲット表は切り捨てら れます。これは、Hadoop ターゲットにレプリケートする場合、変更テーブルに対応する HDFS ファイルも削除されることを意味します。 • TRUNCATE 操作を変更テーブルとターゲット テーブルの両方に適用するには (TRUNCATE をサポートするソースの場合)、[Task Settings]の[Store Changes Settings]タブで:  [DDL options]ドロップダウン リストから [Apply to Change Table] (既定) が選択されていることを確認します。  [When source table is truncated] ドロップダウン リストから [TRUNCATE target table] (既定) が選択されていることを確認します。
  • 7. 7 注意事項 • ソース データを変更しないソースに適用されたUPDATE は、ターゲットに適用されますが、対応するChange Tableには適用されません。たとえば、ソースの 列 A の UPDATE 操作で、10 から 1 より大きい値をすべて変更し、列 A のレコードの 1 つが既に 1 である場合、そのレコードの UPDATE はChange Tableに書き込まれません。 • ソース テーブルから選択した列に加えて、Change Tableには、操作、トランザクション、タイムスタンプなど、行が表す変更に関する詳細情報を提供する特 別なヘッダー列も含まれています。これにより、SQL クエリ言語を使用して、不正検出、傾向分析、ビジネス プロセスのトリガー、ディザスタ リカバリなど、さま ざまな変更イベントの分析を実行できます。 • 変更テーブルを使用する場合は、変更テーブルに変更を保存するか、ターゲット テーブルに変更を適用するか、または両方の変更を保存して適用するかを 決定できます。これは、レプリケーションタスクを定義するときに決定します。この設定の詳細については、「変更の設定を保存する」を参照してください。 • 変更を適用および保存する場合、以下の条件を満たします。  ターゲットテーブルと変更テーブルは、同じエンドポイントに含まれていなければなりませんが、異なるスキーマを持つことができます。たとえば、変更テーブ ルにはメタデータ ヘッダーが含まれます。  変更テーブルに適用された変更は、ソース データベースの対応するトランザクションで実行された変更とまったく同じように処理されます。したがって、 Transactional apply modeまたはBatch optimized apply モードを使用して[Preserve transaction consistency]オプション を選択すると、変更は単一のトランザクションとして処理されます。例外は、エラーが発生し、Replicateが "1 つずつ" 適用モードに切り替わり、どの 変更操作がエラーの原因かを判断する場合です。  同じデータ列が適用され、両方とも、変更ヘッダー列を除いて、保存されている変更テーブルに追加されます。