tencent cloud

Data Transfer Service

MySQLまたはTDSQL-C MySQLデータ購読の作成

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-16 19:45:50
AI翻訳
本シナリオでは、DTSを使用してTencentDB for MySQLまたはTDSQL-C MySQLのデータ購読タスクを作成する操作手順を紹介します。

前提条件

購読対象のTencent Cloudデータベースを準備し、各データベースのバージョンが要件を満たしていることを確認してください。詳細はデータ購読がサポートするデータベースをご参照ください。
ソースインスタンスでbinlogを有効にしました。
ソースインスタンスに購読アカウントを作成しました。必要なアカウント権限は以下の通りです:REPLICATION CLIENT、REPLICATION SLAVE、PROCESS、および全オブジェクトのSELECT権限。 具体的な権限付与ステートメントは以下の通りです:
create user '移行アカウント' IDENTIFIED BY 'アカウントパスワード';
grant SELECT, REPLICATION CLIENT,REPLICATION SLAVE,PROCESS on *.* to '移行アカウント'@'%';
flush privileges;

制約事項

購読したメッセージはDTS内蔵Kafka(単一Topic)に保存されます。現在のデフォルト保存期間は直近1日間で、単一Topicの最大ストレージは500Gです。データの保存期間が1日を超えた場合、またはデータ量が500Gを超えた場合、内蔵Kafkaは最初に書き込まれたデータから削除を開始します。そのため、データが消費される前に削除されないよう、ユーザーは速やかに消費してください。
データ消費の地域は、購読インスタンスの地域と同じである必要があります。
現在、geometry関連のデータ型はサポートされていません。
DTSがKafkaにメッセージを配信する際のセマンティクスは「少なくとも1回(at least once)」を採用しているため、特別な状況では、消費したデータに重複が存在する可能性があります。例えば、購読タスクが再起動した場合、再起動後にソース側から取得するBinlogは、中断された位置から前方に多めに取得されるため、メッセージが重複して配信されることがあります。コンソールでの購読対象の変更や異常タスクの再開などの操作によっても、メッセージが重複する可能性があります。ビジネスで重複データに敏感な場合は、ユーザーが消費Demoでビジネスデータに基づいて重複排除ロジックを追加する必要があります。

サポートされるSQL操作

操作タイプ
サポートされる SQL 操作
DML
INSERT、UPDATE、DELETE
DDL
CREATE DATABASE、DROP DATABASE、CREATE TABLE、ALTER TABLE、DROP TABLE、RENAME TABLE

操作手順

1. DTSコンソールにログインし、左側のナビゲーションでデータ購読を選択し、新しいデータ購読をクリックします。
2. 新しいデータ購読ページで、対応する設定を選択し、今すぐ購入をクリックします。
課金モード:年額・月額課金と従量課金をサポートします。
地域:ソースデータベースがTencent Cloudデータベースの場合、ここの地域はソースデータベースインスタンスの地域と一致させる必要があります。ソースデータベースがTencent Cloudデータベース以外の場合、ここの地域はデータ消費の地域と一致させます。データ消費の地域に特別な要件がない場合は、ソースデータベースに最も近い地域を選択してください。
データベース:具体的なデータベースタイプに応じて選択してください。
バージョン:Kafka版を選択します。Kafkaクライアントから直接消費できます。
購読インスタンス名:現在のデータ購読インスタンスの名前を編集します。
3. 購入が成功した後、データ購読リストに戻り、操作列の購読の設定をクリックして、購入したばかりの購読を設定します。設定が完了してから使用できます。
4. インスタンス選択ページで、ソースデータベースの対応する設定を選択し、完了後に接続テストをクリックします。テストが成功した後、保存して次へをクリックします。
設定項目
説明
インスタンスタイプ
購入時に選択したデータベースタイプは変更できません。
メインデータベースを選択してサブスクリプションを行うことをお勧めします。サブスクリプションサービスがソースデータベースに与える負荷は非常に小さいです。
アクセスタイプ
お客様のシナリオに応じて選択してください。異なるアクセスタイプの準備作業については、準備作業の概要を参照してください。
公衆網:ソースデータベースにはパブリックIPアドレスでアクセスできます。
CVM自社構築:ソースデータベースはTencent CVM上に配置されています。
Direct Connect:ソースデータベースはDirect Connectを介してTencent Cloud VPCと接続できます。
VPNアクセス:ソースデータベースはVPN Connectionsを介してTencent Cloud VPCと接続できます。
クラウドデータベース:ソースデータベースはTencent Cloudデータベースインスタンスに属します。
CCN:ソースデータベースはCCNを介してTencent Cloud VPCと接続できます。
パブリックネットワーク
ホストアドレス:ソースデータベースのIPアドレスまたはドメイン名。
ポート:ソースデータベースが使用するポート。
CVMでの自己構築
CVMインスタンス:CVMのインスタンスID。
ポート:ソースデータベースが使用するポート。
Direct Connect (DC)
VPC Direct Connectゲートウェイ/:Direct Connectアクセス時はVPC Direct Connectゲートウェイのみサポートされます。ゲートウェイに関連付けられたネットワークタイプを確認してください。
VPC:VPC Direct ConnectゲートウェイおよびVPNゲートウェイに関連付けられたVPCとサブネットを選択します。
ホストアドレス:ソースデータベースのIPアドレスまたはドメイン名。
ポート:ソースデータベースが使用するポート。
VPNアクセス
VPNゲートウェイ:VPNゲートウェイ。VPNゲートウェイを介してアクセスするVPNゲートウェイインスタンスを選択してください。
VPC:VPC Direct ConnectゲートウェイおよびVPNゲートウェイに関連付けられたVPCとサブネットを選択します。
ホストアドレス:ソースデータベースのIPアドレスまたはドメイン名。
ポート:ソースデータベースが使用するポート。
クラウドデータベース
クラウドデータベースインスタンス:ソースデータベースのインスタンスID。
プライマリデータベースを選択して購読することをお勧めします。購読サービスがソースデータベースに与える負荷は非常に小さいです。
ソースデータベースがTencentDB for MySQLの場合、読み取り専用インスタンス、災害復旧インスタンスの選択をサポートします。ただし、読み取り専用インスタンスを使用する場合は、事前にチケットを提出して申請する必要があります。TencentDB for MySQL単一ノード(旧基本版-提供終了)をソース側として使用する場合、アクセス方式に「クラウドデータベース」は使用できません。「パブリックネットワーク」アクセス方式を使用できます。MySQL単一ノード(クラウドディスク版)をソース側として使用する場合は制限されず、通常どおり「クラウドデータベース」を使用できます。
ソースデータベースがTencent Cloud TDSQL-C MySQLの場合、読み取り専用インスタンスの選択をサポートします。
CCN
ホストアドレス:ソースデータベースのホストIPアドレスまたはドメイン名。
ポート:ソースデータベースが使用するポート。
VPC CCN:CCNインスタンス名。
アクセスVPC:アクセスVPCとは、CCN内でサブスクリプションリンクに接続されるVPCを指します。CCNに関連付けられているすべてのVPCの中から、ソースデータベースが属するVPC以外のVPCを選択してください。 例えば、広州地域のデータベースがソースデータベースの場合、アクセスVPCには成都VPCや上海VPCなど、他の地域を選択します。
サブネット:選択済みのVPCネットワークのサブネット名。
アクセスVPC地域:タスク購入時に選択したソースデータベースの地域とアクセスVPCの地域は一致している必要があります。一致していない場合、DTSはタスク購入時に選択したソースデータベースの地域をアクセスVPCの地域に変更します。
アカウント/パスワード
アカウント/パスワード:ソースデータベースのアカウント、パスワード。
接続方式
SSLセキュア接続とは、DTSとソースデータベースがSSL(Secure socket layer)で安全に接続し、伝送リンクを暗号化することを指します。
SSLセキュア接続を選択すると、データベースの接続応答時間が増加する可能性があります。一般的にTencent Cloudのプライベートネットワークリンクは比較的安全であるため、SSLセキュア接続を有効にする必要はありません。パブリックネットワーク/専用線などの伝送方式を使用し、かつデータセキュリティ要件が高いシナリオでは、SSLセキュア接続を有効にする必要があります。SSLセキュア接続を選択する前に、まずソースデータベースでSSL暗号化を有効にする必要があります。
XAトランザクションをサポートします。
チェックを入れると、DTSデータ購読はソースデータベースで実行されたXAトランザクション操作を識別できます。コンシューマー側で取得されたデータは、XAトランザクションのロジックに従って解析されます。 ソースデータベースでXAトランザクションのロールバックが発生した場合、DTSはロールバックを識別できます。ソースデータベース上のロールバックおよびロールバック前のSQL文は、コンシューマー側に伝送されません。
現在、MySQL、TDSQL-C MySQLのデータ購読のみがXAトランザクションをサポートしています。
5. 購読タイプと対象選択ページで、購読タイプを選択し、保存して次へをクリックします。
設定項目
説明
サブスクリプションタイプ
データ更新:ソースデータベースの全オブジェクトのデータ更新を購読します。これにはデータのINSERT、UPDATE、DELETE操作が含まれます。
構造更新:ソースデータベースの全オブジェクトの構造の作成、変更、削除を行います。
全インスタンス:ソースデータベースの全オブジェクトのデータ更新と構造更新を購読します。
サブスクリプションデータ形式
ProtoBuf、Avro、JSONの3つの形式をサポートしています。ProtoBufとAvroはバイナリ形式を採用しており、消費効率がより高くなっています。JSONは軽量のテキスト形式を採用しており、よりシンプルで使いやすくなっています。
Topicパーティション数
内置KafkaのTopicにデータを配信する際のパーティション数を設定します。パーティション数を増やすと、データの書き込みと消費の速度を向上させることができます。シングルパーティションではメッセージの順序を保証できますが、マルチパーティションではメッセージの順序を保証できません。消費するメッセージの順序に厳密な要件がある場合は、パーティション数を1に選択してください。
Topicパーティションポリシー
テーブル名によるパーティショニング:同じテーブル名のデータを同じパーティションに書き込みます。
テーブル名+PKによるパーティショニング:同じPKのデータを同じパーティションに書き込みます。ホットデータを含むテーブルに適しており、ホットテーブルのデータを異なるパーティションに分散して、同時消費効率を向上させることができます。
カスタムパーティションポリシーを使用します。
まず正規表現を使用してサブスクリプションデータ内のデータベース名とテーブル名をマッチングし、マッチしたデータをテーブル名、テーブル名+PK、列に従ってパーティションに配信します。次に、残りのマッチしなかったデータをTopicパーティションポリシーに従って配信します。詳細については、パーティションポリシーの設定を参照してください。
6. 事前検証ページでは、事前検証タスクの実行に2分~3分かかると予想されます。事前検証が完了した後、開始をクリックしてデータ購読タスクの設定を完了します。
説明:
検証に失敗した場合は、検証不合格時の対処方法を参照して修正し、再度検証を行ってください。
7. 開始をクリックすると、購読タスクは初期化され、3分~4分かかると予想されます。初期化が成功すると、実行中状態になります。
8. 消費グループを追加、データ購読Kafka版はユーザーが複数の消費グループを作成し、マルチポイント消費を行うことをサポートします。データ購読Kafka版の消費はKafkaの消費グループに依存するため、データを消費する前に消費グループを作成する必要があります。
9. 購読インスタンスが実行中状態になると、データの消費を開始できます。Kafkaの消費にはパスワード認証が必要です。複数言語のDemoコードを提供しており、消費の主な流れと主要なデータ構造についても説明しています。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック