すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:データ同期テンプレート

最終更新日:Apr 08, 2025

Flink CDCコネクタを使用して、データとテーブルスキーマの変更をリアルタイムで同期できます。データ同期テンプレートを使用すると、データ同期用のFlink SQLデプロイメントコードを迅速に生成できます。このトピックでは、マルチデータベース、マルチテーブル同期テンプレートまたはシャーディングデータマージテンプレートを使用してデータを同期する方法について説明します。

背景情報

Realtime Compute for Apache Flinkは、マルチデータベース、マルチテーブル同期とシャーディングデータマージという2つのデータ同期方法をサポートしています。次の表に、これらの方法の違いを示します。

同期方法

説明

マルチデータベース、マルチテーブル同期

1つ以上のデータベースから1つ以上のビジネスデータテーブルを別のデータベースにリアルタイムで同期する場合、マルチデータベース、マルチテーブル同期テンプレートを使用できます。Flink CDCコネクタは、データベース全体のフルデータと増分データを自動的に同期できます。Flink CDCコネクタは、追加された列など、各ソーステーブルのスキーマ変更をデスティネーションテーブルにリアルタイムで同期することもできます。マルチデータベース、マルチテーブル同期テンプレートは、パラメータをCREATE DATABASE ASステートメントに変換します。 CREATE DATABASE ASステートメントの詳細については、「CREATE DATABASE ASステートメント」をご参照ください。

シャーディングデータマージ

ビジネスデータが異なるデータベースまたはビジネステーブルに分散している場合は、シャーディングデータベース内の複数のテーブルをマージして、同様のスキーマを持つテーブルから1つのデスティネーションテーブルにデータを同期する必要があります。Flink CDCコネクタは、ソースデータベースからシャーディングデータベース内のすべてのテーブルシャードのフルデータと増分データを自動的に同期できます。テーブルには、正規表現に一致する新しいテーブルが含まれます。Flink CDCコネクタは、追加された列など、各ソーステーブルのテーブルスキーマ変更をデスティネーションテーブルにリアルタイムで同期することもできます。シャーディングデータマージテンプレートは、パラメータをCREATE TABLE ASステートメントに変換します。CREATE TABLE ASステートメントの詳細については、「CREATE TABLE ASステートメント」をご参照ください。

制限事項

Flink CDCコネクタは、MySQLからHologresへのデータのみを同期できます。

注意事項

Flink CDCコネクタを使用してMySQLからHologresにデータを同期する場合、テーブルスキーマの変更も同期されます。詳細については、「CREATE TABLE ASステートメント」をご参照ください。MySQLからHologresにデータを同期する場合は、次の点に注意してください。

  • Hologresに手動でテーブルを作成する必要はありません。

    Realtime Compute for Apache Flinkは、Hologresにテーブルを自動的に作成します。ただし、必要なテーブルがHologresに既に存在する場合、Realtime Compute for Apache Flinkは、プランの作成時に選択したデスティネーションデータベースとテーブルに基づいてデータを同期します。

  • Hologresでは、列のデータ型を変更することはできません。

    現在のフィールドのデータ型がHologresテーブルのデータ型と異なる場合、データの書き込みは失敗します。この場合、列のデータ型を変更し、データを再度同期する必要があります。

Hologres結果テーブルの詳細については、「Hologres結果テーブルの作成」をご参照ください。

手順

  1. Realtime Compute for Apache Flinkコンソール にログインします。

  2. 管理するワークスペースを見つけ、コンソール[アクション] 列の をクリックします。

  3. 左側のナビゲーションペインで、[開発] > [ETL] をクリックします。 SQLエディターページで、[新規] をクリックします。

  4. [新規ドラフト] ダイアログボックスで、[flink CDC] タブをクリックします。

  5. [mysqlからhologresへのデータ同期] カードをダブルクリックするか、カードをクリックしてダイアログボックスの右下隅にある [次へ] をクリックします。

  6. データ同期情報を設定します。

    1. ソースとシンクのパラメータを設定し、[次へ] をクリックします。

      选择源和目标

      カテゴリ

      パラメータ

      説明

      ソース

      MySQLカタログ

      作成したMySQLカタログを選択できます。MySQLカタログが存在しない場合は、[カタログの作成] をクリックします。MySQLカタログの作成方法の詳細については、「MySQLカタログの管理」をご参照ください。

      MySQL server-id

      各MySQLデータベースクライアントの一意のIDを入力します。有効な値:5400~6400。このパラメータは、5400-5408などのID範囲に設定することもできます。増分読み取りモードで並列読み取りを有効にする場合は、各並列スレッドのサーバーIDが一意になるように、このパラメータを値の範囲に設定することをお勧めします。

      重要

      データベースにアクセスする異なるデプロイメントまたはサービスに同じサーバーIDを使用しないことをお勧めします。

      シンク

      Hologresカタログ

      作成したHologresカタログを選択できます。Hologresカタログが存在しない場合は、[カタログの作成] をクリックします。詳細については、「Hologresカタログの管理」をご参照ください。

    2. プランを作成します。

      • マルチデータベース、マルチテーブル同期

        1. [単一データベースへ] タブで、ソースデータベースとテーブル名を選択します。数据模板中文

        2. [プランの保存] をクリックして、プランリストを表示します。计划列表

          説明

          マルチデータベース、マルチテーブル同期を実行すると、システムはこのテンプレートを使用して、デスティネーションカタログにソースカタログのデータベースとテーブルと同じ名前のデータベースとテーブルを作成します。デフォルトでは、作成されたデータベースとテーブルはpublicスキーマに同期されます。データベース名、テーブル名、またはスキーマを変更する場合は、SQLステートメントを使用することをお勧めします。データベースまたはテーブルの名前の変更方法の詳細については、「CREATE TABLE ASステートメント」および「CREATE DATABASE ASステートメント」をご参照ください。スキーマの指定方法の詳細については、「CREATE DATABASE ASステートメントで使用されるデスティネーションストアのカタログとして、作成したHologresカタログを使用する」をご参照ください。スキーマを指定した後、関連カタログを使用すると、テーブル名の形式が変更されます。詳細については、「Hologresカタログの管理」をご参照ください。

        3. [次へ] をクリックします。

        4. 選択したデスティネーションデータベースとテーブルに基づいて生成されたSQLコードを表示します。多库多表SQL预览

          ビジネス要件に基づいて、[名前][場所]、または [エンジンバージョン] パラメータを変更できます。

      • シャーディングデータマージ

        1. [複数データベースへ] タブで、ソースデータベースとテーブルの名前を選択するか、デスティネーションデータベースとテーブルの名前を入力します。分库分表

          説明

          正規表現を使用してソースデータベースとソーステーブルを指定することをお勧めします。

        2. [プランの保存] をクリックして、プランリストを表示します。计划列表

          ドラフトでは、マルチデータベース、マルチテーブル同期とシャーディングデータマージの複数のプランを同時に作成できます。次の図は例を示しています。多个执行计划

        3. [次へ] をクリックします。

        4. 選択したデスティネーションデータベースとテーブルに基づいて生成されたSQLコードを表示します。分库分表SQL预览

          ビジネス要件に基づいて、[名前][場所]、または [エンジンバージョン] パラメータを変更できます。

  7. [作成] をクリックします。

    [作成] をクリックすると、SQLエディターページにリダイレクトされます。後続の操作は、一般的なデプロイメントの開発に必要な操作と同じです。パラメータ設定と後続の操作の詳細については、「SQLドラフトの開発」および「デプロイメントの開始」をご参照ください。