Data Transmission Service (DTS) の変更追跡機能は、PolarDB for PostgreSQL(Oracle 互換)クラスターから INSERT、DELETE、UPDATE 操作をリアルタイムでキャプチャします。ダウンストリームクライアントは、SDK、Flink DTS コネクタ、または Kafka クライアントを用いて、コンシューマーグループ経由で追跡されたデータを消費します。
前提条件
開始する前に、以下の点をご確認ください。
ソースとなる PolarDB for PostgreSQL(Oracle 互換)クラスターが作成済みである必要があります。詳細については、「クラスターの作成」をご参照ください。
ソースクラスターの
wal_levelパラメーターがlogicalに設定されている必要があります。この設定により、先行書き込みログ(WAL)における論理エンコーディングが有効になります。詳細については、「クラスターパラメーターの指定」をご参照ください。ApsaraDB RDS for MySQL インスタンスがクラシックネットワークタイプを使用している場合、そのインスタンスには内部エンドポイントが設定されている必要があります。
制限事項
ソースデータベースの制限
ソーステーブルには PRIMARY KEY または一意制約(UNIQUE constraint)が必須であり、すべてのフィールド値が一意である必要があります。これを満たさない場合、追跡されたデータ変更に重複が発生する可能性があります。
テーブルを選択して追跡対象とする場合、1 つの変更追跡タスクでサポートされる最大テーブル数は 500 テーブルです。この上限を超えるとリクエストエラーが発生します。500 テーブルを超えて追跡する場合は、複数の変更追跡タスクに分割するか、代わりにデータベース全体を追跡してください。
WAL の要件:
wal_levelパラメーターをlogicalに設定する必要があります。これにより、WAL における論理エンコーディングが有効になります。詳細については、「クラスターパラメーターの指定」をご参照ください。WAL ログは 24 時間以上保持する必要があります。DTS が WAL ログを取得できない場合、タスクが失敗し、データの不整合や損失が発生する可能性があります。WAL ログの保持期間がこの要件を満たさない場合、Data Transmission Service (DTS) のサービスレベル合意(SLA)で保証される信頼性およびパフォーマンスは保証されません。
ソースインスタンスが読み取り専用または一時インスタンスの場合、トランザクションログが記録されていることを確認してください。
その他の制限
ソースインスタンスにおけるスキーマ更新は追跡できません。
1 つの変更追跡タスクでは、1 つのデータベースからのみデータ変更を追跡できます。複数のデータベースから変更を追跡するには、各データベースごとに個別の変更追跡タスクを作成してください。
DTS は FLOAT または DOUBLE 型のカラムから値を取得する際に、
ROUND(COLUMN,PRECISION)関数を使用します。精度(PRECISION)を明示的に指定しない場合、DTS は以下のデフォルト値を使用します。ビジネス要件に応じて、精度設定が適切であることをご確認ください。FLOAT:38 桁
DOUBLE:308 桁
変更追跡タスクの作成
ステップ 1:変更追跡ページを開く
Data Management (DMS) コンソールにログインします。
上部ナビゲーションバーで、DTS をクリックします。
左側ナビゲーションウィンドウで、DTS (DTS) > 変更追跡 を選択します。
シンプルモードを使用している場合は、左上隅のアイコンにポインターを移動し、[すべての機能] > [DTS] > [変更追跡] の順に選択します。 詳細については、「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。 新しい DTS コンソールを使用することもできます。
ステップ 2:リージョンの選択
変更追跡タスク の右側から、変更追跡タスクを作成するリージョンを選択します。
新しい DTS コンソールを使用している場合、変更追跡タスクページの ワークベンチ の右側にあるドロップダウンリストからリージョンを選択します。
ステップ 3:ソースデータベースおよびコンシューマーのネットワークタイプの設定
タスクの作成 をクリックします。表示されたページで、ソースデータベースインスタンスおよびコンシューマーのネットワークタイプを設定します。
ソースデータベースインスタンスを指定した後、ページ上部に表示される 制限事項 を必ずご確認ください。これらの制限事項に従わないと、タスクが失敗したり、追跡されたデータが正常に消費されなくなる可能性があります。
ソースデータベース
| パラメーター | 説明 |
|---|---|
| タスク名 | DTS が自動的に名前を割り当てます。タスクを容易に識別できるよう、意味のある名前を指定してください。タスク名は一意である必要はありません。 |
| 既存のデータベース接続を選択 | ソースデータベースが属するインスタンスです。既存のインスタンスを利用する場合、DTS が自動的にソースデータベースのパラメーターを入力します。それ以外の場合は、手動でパラメーターを設定してください。 |
| データベースタイプ | PolarDB(Oracle 互換) を選択します。 |
| アクセス方法 | パブリック IP アドレス を選択します。 |
| インスタンスリージョン | PolarDB for PostgreSQL(Oracle 互換)クラスターが配置されているリージョンです。 |
| データソース | 単一データソース を選択します。ドメイン名または IP アドレス フィールドにソースクラスターまたはプライマリノードのエンドポイントを入力し、ポート番号 を設定します。 |
| ドメイン名または IP アドレス | ソースクラスターまたはプライマリノードのエンドポイントです。 |
| ポート番号 | ソースクラスターのサービスポート番号です。デフォルト値:1521。 |
| データベース名 | ソースデータベースの名前です。 |
| データベースアカウント | PolarDB for PostgreSQL(Oracle 互換)データベースの特権アカウントです。 |
| データベースパスワード | データベースアカウントのパスワードです。 |
コンシューマーのネットワークタイプ
| パラメーター | 説明 |
|---|---|
| ネットワークタイプ | [VPC] に固定。 [VPC] と [vSwitch] を選択します。詳細については、「VPC」をご参照ください。 |
変更追跡タスクの設定後に、コンシューマーのネットワークタイプを変更することはできません。変更追跡クライアントが VPC 内にデプロイされている場合、ネットワーク遅延を最小限に抑えるため、クライアントが接続されているのと同じ VPC および vSwitch を選択してください。
ステップ 4:接続性のテスト
ページ下部の 接続性のテストと続行 をクリックします。
ソースデータベースが Alibaba Cloud データベースインスタンス(例:ApsaraDB RDS for MySQL または ApsaraDB for MongoDB)の場合、DTS は対応するリージョンの DTS サーバーの CIDR ブロックを、そのインスタンスのホワイトリストに自動的に追加します。ソースデータベースが ECS インスタンスでホストされている場合、DTS は CIDR ブロックを ECS インスタンスのセキュリティグループルールに自動的に追加します。データセンター内またはサードパーティクラウド上の自己管理データベースの場合は、DTS サーバーの CIDR ブロックをデータベースのセキュリティ設定に手動で追加してください。詳細については、「DTS サーバーの CIDR ブロックをオンプレミスデータベースのセキュリティ設定に追加する」をご参照ください。
データベースインスタンスのホワイトリストまたは ECS インスタンスのセキュリティグループルールに DTS サーバーのパブリック CIDR ブロックを追加すると、セキュリティリスクが発生する可能性があります。実行前に、ユーザー名およびパスワードの強化、公開ポートの制限、API 呼び出しの認証、ホワイトリストまたはセキュリティグループルールの定期的な監査、不正な CIDR ブロックの削除など、予防措置を講じてください。また、Express Connect、VPN Gateway、または Smart Access Gateway を使用して、データベースを DTS に接続することもできます。
ステップ 5:追跡対象および高度な設定の構成
基本設定
| パラメーター | 説明 |
|---|---|
| データ変更タイプ | データ更新 および スキーマ更新 がデフォルトで選択されており、変更できません。DTS は、選択されたオブジェクトに対するデータ変更(INSERT、DELETE、UPDATE 操作)およびスキーマ変更を追跡します。 |
| ソースオブジェクト | ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択し、 |
変更追跡の対象として、テーブルまたはデータベースを選択できます。
データベースを選択した場合、DTS はそのデータベース内のすべてのオブジェクト(後から追加される新規オブジェクトを含む)の増分データを追跡します。
テーブルを選択した場合、DTS はそのテーブルの増分データのみを追跡します。追加のテーブルを追跡するには、オブジェクトリストに追加してください。詳細については、「変更追跡のオブジェクトを変更する」をご参照ください。
高度な設定
| パラメーター | 説明 |
|---|---|
| モニタリングおよびアラート | このタスクに対してアラートを有効にするかどうかを指定します。有効にした場合、タスクの失敗または遅延がしきい値を超えたときに、指定されたアラート連絡先に通知が送信されます。選択肢:いいえ(デフォルト)または はい(アラートしきい値および連絡先の設定が必要)。 |
| 失敗した接続のリトライ時間 | 接続失敗時のリトライ期間です。DTS はこの期間内に自動的に再試行します。有効な値:10~1440 分。デフォルト:120 分。最適な結果を得るには、30 分より長い値を設定してください。DTS が指定された期間内に再接続できた場合、タスクは再開されます。それ以外の場合は、タスクが失敗します。 |
| ETL の設定 | ETL (抽出・変換・書き出し) 機能を有効にするかどうかを指定します。オプション: [はい] (コードエディタにポリシーを入力)または [いいえ]。詳細については、「ETL とは?」をご参照ください。 |
失敗した接続のリトライ時間 について:
1 つのインスタンスが複数の変更追跡タスクのソースまたは宛先として機能する場合、最も短いリトライ期間が優先されます。
リトライ中も DTS インスタンスの課金が発生します。ビジネス要件に応じてリトライ期間を設定してください。ソースおよび宛先インスタンスがリリースされた後は、できるだけ速やかに DTS インスタンスもリリースしてください。
ステップ 6:事前チェックの実行
ページ下部の 次へ:タスク設定の保存と事前チェック をクリックします。
次へ:タスク設定の保存と事前チェック にポインターを合わせ、OpenAPI パラメーターのプレビュー をクリックすると、インスタンス設定に使用される API パラメーター設定を確認できます。
DTS は、変更追跡タスクを開始する前に事前チェックを実行します。タスクは、事前チェックに合格した場合にのみ開始されます。
いずれかの項目が事前チェックに不合格となった場合、不合格項目の横にある 詳細の表示 をクリックし、エラーメッセージに基づいて問題をトラブルシューティングした後、再事前チェック をクリックします。
無視できないアラート項目がある場合、不合格項目の横にある 詳細の表示 をクリックし、問題をトラブルシューティングした後、再事前チェックを実行します。
無視可能なアラート項目がある場合、アラート詳細の確認 をクリックします。[詳細の表示] ダイアログボックスで 無視 をクリックし、OK をクリックします。その後、再事前チェック をクリックします。アラート項目を無視すると、データの不整合が発生し、ビジネスに潜在的なリスクが及ぶ可能性があります。
ステップ 7:インスタンスの購入
成功率 が 100% に達するまで待ち、その後 次へ:インスタンスの購入 をクリックします。
[購入] ページで、変更追跡インスタンスの課金方法を設定します。
| パラメーター | 説明 |
|---|---|
| 課金方法 | サブスクリプション:インスタンス作成時に前払い。長期利用に適しており、契約期間が長いほどコストが低くなります。従量課金:時間単位で課金されます。短期利用に最適です。不要になった時点でインスタンスをリリースすることで、コストを削減できます。 |
| リソースグループ設定 | インスタンスのリソースグループです。デフォルト: [デフォルト リソースグループ]。詳細については、「Resource Management とは?」をご参照ください。 |
| サブスクリプション期間 | サブスクリプション 課金方法でのみ利用可能です。選択肢:1~9 か月、または 1、2、3、5 年です。 |
ステップ 8:タスクの開始
Data Transmission Service(従量課金)利用規約 を読み、同意します。
購入して開始 をクリックして、変更追跡タスクを開始します。
タスクリストでタスクの進行状況を確認できます。
次のステップ
変更追跡タスクの実行が開始された後、ダウンストリームクライアントから追跡されたデータを消費するために、コンシューマーグループを作成します。
使用者グループの作成および管理。 詳細については、「使用者グループの作成」をご参照ください。
以下のいずれかの方法で、追跡されたデータを消費します。
アイコンにポインターを移動し、[すべての機能] > [DTS] > [変更追跡] の順に選択します。 詳細については、「