DTS は RDS の binlog をサブスクライブすることで、増分データをリアルタイムで入力し、組み込まれた SDK でデータを利用することができます。データサブスクリプション機能を使用して、軽量キャッシュ更新、メッセージ通知、および ETL 処理を伴うリアルタイムのデータ同期が行えます。
データサブスクリプションを高レベルに使用する場合は、次の手順を実行します。
- Data Transmission Service 購入ページでデータサブスクリプションインスタンスを作成します。
- DTS コンソールで、RDS インスタンスにサブスクライブするよう、サブスクリプションチャネルを設定します。
- DTS SDK を使用して、binlog を取得して使用するサブスクリプションチャネルにアクセスします。
このドキュメントでは、RDS インスタンスをサブスクライブするサブスクリプションチャネルを、DTS コンソールを使って設定する方法について説明します。
前提条件
データサブスクリプションには、次のような制約があります。
- ソースインスタンスは RDS for MySQL のみをサポートします。
- MySQL 5.6 の場合、binlog の binlog_row_image 形式は Full でなければなりません。
- MySQL ストレージエンジンは myisam と innodb のみをサポートします。
- MySQL の文字コードは、latin1、GBK、UTF-8、UTF8mb4 およびバイナリのみをサポートします。
手順
先に進む前に、少なくとも 1 つの利用可能なサブスクリプションインスタンスを持っているか、あるいは Data Transmission Service 購入ページで購入する必要があります。詳細については、DTS インスタンスの購入をご覧ください。
DTS コンソールでサブスクリプションチャネルを設定するには、次の手順で行います。
DTS コンソールにログインします。
左側のナビゲーションペインで [データサブスクリプション] をクリックします。
ターゲットサブスクリプションインスタンスの下の [サブスクリプションチャネルの設定] をクリックします。
[インスタンスの選択] の段階で、次に示す設定を完了してから、[ホワイトリストを承認して次のステップに進む] をクリックしてください。
- サブスクリプション名: ビジネス要件に従ってサブスクリプションインスタンスを指定するか、そのまま使用します。名前はサブスクリプションチャネルの別名であり、一意である必要はありません。
- インスタンスタイプ: [RDS インスタンス] を指定します。
- RDS インスタンス ID: サブスクライブしている RDS インスタンスの ID を指定します。
[サブスクリプションオブジェクトの選択] の段階で、次に示す設定を完了し、[保存して事前チェック] をクリックします。
サブスクライブするデータ: [データ更新] もしくは [構造更新]、またはその両方を指定します。
- データ更新は、
insert
、delete
、update
などの DML (データ操作言語、データ自体の操作に使用される) を示します。 - 構造更新は
create table
、drop table
、alter table
のような DDL (データ定義言語、データ構造定義に使用される) を示します。
構造更新をサブスクライブすると、DTS は RDS インスタンス上のすべての構造更新を取得します。取得した構造更新は、必要に応じて SDK の入力のためにフィルタリングすることができます。
- データ更新は、
サブスクリプションオブジェクト: 複数のデータベースまたはテーブルを指定します。
事前チェックが完了するまで待ち、[閉じる] をクリックしてサブスクリプションインスタンスを起動します。
サブスクリプションインスタンスが起動されると、サブスクリプションチャネルが初期化を開始します。初期化後、サブスクリプションデータの表示、または SDK を使用したデータの変更のサブスクライブを実行できます。