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

Data Transmission Service:RDS MySQL インスタンスから ApsaraDB for ClickHouse クラスターにデータを同期する

最終更新日:Nov 09, 2025

ApsaraDB for ClickHouse は、オンライン分析処理 (OLAP) のために構築されたカラムナデータベースです。大規模なワイドテーブルに対して高速な集計分析とクエリを提供します。その速度は他の分析データベースよりも桁違いに高速です。Data Transmission Service (DTS) を使用して、自己管理 MySQL データベースや ApsaraDB RDS for MySQL インスタンスなどの MySQL データベースから ApsaraDB for ClickHouse クラスターにデータを同期できます。これにより、分析のためにデータを一元化できます。このトピックでは、RDS MySQL インスタンスを例として、そのデータを ApsaraDB for ClickHouse クラスターに同期する方法を説明します。

前提条件

バージョン 20.8 以降を実行する宛先の ApsaraDB for ClickHouse クラスターを作成済みであること。詳細については、「クラスターの作成」をご参照ください。

説明

ApsaraDB for ClickHouse クラスターのストレージ容量は、ソース RDS MySQL インスタンスが使用するストレージ容量よりも大きい必要があります。

制限事項

タイプ

説明

ソースデータベースの制限

  • プライマリキーのないテーブルは同期できません。

  • テーブルレベルでデータを同期し、テーブル名や列名のマッピングなどのオブジェクトを編集する必要がある場合、単一のデータ同期タスクは最大 1,000 テーブルをサポートします。この制限を超えると、タスクを送信した後にエラーが報告されます。この場合、テーブルを複数のタスクに分割するか、データベース全体を同期するようにタスクを構成します。

  • バイナリログ:

    • バイナリログは、ApsaraDB RDS for MySQL インスタンスではデフォルトで有効になっています。`binlog_row_image` パラメーターが `full` に設定されていることを確認する必要があります。そうでない場合、事前チェックが失敗し、データ同期タスクを開始できません。パラメーターの設定方法の詳細については、「インスタンスパラメーターの設定」をご参照ください。

      重要
      • ソースインスタンスが自己管理 MySQL データベースの場合、バイナリログを有効にし、`binlog_format` パラメーターを `row` に、`binlog_row_image` パラメーターを `full` に設定する必要があります。

      • ソースの自己管理 MySQL データベースが、2 つのデータベースが互いにプライマリとセカンダリであるプライマリ/プライマリ アーキテクチャである場合、`log_slave_updates` パラメーターを有効にする必要があります。これにより、DTS がすべてのバイナリログを取得できるようになります。詳細については、「自己管理 MySQL データベースのデータベースアカウントを作成し、バイナリログを構成する」をご参照ください。

    • ApsaraDB RDS for MySQL インスタンスのローカルバイナリログは、少なくとも 3 日間保持する必要があります。7 日間保持することをお勧めします。自己管理 MySQL データベースのローカルバイナリログは、少なくとも 7 日間保持する必要があります。そうでない場合、DTS がバイナリログを取得できないため、DTS タスクが失敗する可能性があります。極端な場合、データが不整合になったり、失われたりする可能性があります。必要な期間よりも短いバイナリログ保持期間によって引き起こされる問題は、DTS サービスレベルアグリーメント (SLA) の対象外です。

      説明

      RDS MySQL インスタンスのローカルバイナリログの [保持期間] の設定手順については、「ローカルログの自動削除」をご参照ください。

  • 初期スキーマ同期および初期完全データ同期中は、データベースまたはテーブルのスキーマを変更する DDL 操作を実行しないでください。そうしないと、データ同期タスクが失敗します。

  • 同期中、バイナリログに記録されない操作によって生成されたデータ変更は、ターゲットデータベースに同期されません。このような操作の例には、物理バックアップを使用したデータ回復やカスケード操作が含まれます。

    説明

    これが発生した場合、ビジネスで許可されていれば、同期オブジェクトからデータベースまたはテーブルを削除してから再度追加できます。詳細については、「同期オブジェクトの変更」をご参照ください。

  • ソースデータベースがバージョン 8.0.23 以降の MySQL データベースで、同期するデータに不可視列が含まれている場合、これらの列のデータを取得できないため、データが失われる可能性があります。

    説明
    • ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE; コマンドを実行して、不可視列を可視にすることができます。詳細については、「不可視列」をご参照ください。

    • プライマリキーのないテーブルは、自動的に不可視プライマリキーを生成します。この不可視プライマリキーも可視にする必要があります。詳細については、「生成された不可視プライマリキー」をご参照ください。

その他の制限

  • ソース RDS MySQL インスタンスの DDL 文が標準の MySQL 構文に従っていない場合、同期タスクが失敗したり、データが失われたりする可能性があります。

  • ソースデータベースで一時テーブルを使用するオンライン DDL 操作 (複数のテーブルのマージなど) を実行すると、ターゲットデータベースでデータが失われたり、同期インスタンスが失敗したりする可能性があります。

  • DMS または gh-ost ツールを使用してソースでオンライン DDL 操作を実行すると、DTS は元の DDL 文のみを宛先に同期します。このシナリオでは、DTS は大量の一時テーブルデータを同期する必要はありませんが、これにより宛先でテーブルがロックされる可能性があります。

    説明

    DTS は、pt-online-schema-change などのツールで行われたオンライン DDL 変更の同期をサポートしていません。ソースにそのような変更が存在する場合、宛先でデータが失われたり、同期インスタンスが失敗したりする可能性があります。

  • INDEX、PARTITION、VIEW、PROCEDURE、FUNCTION、TRIGGER、および FK の同期がサポートされています。

  • RENAME TABLE 操作はサポートされていません。

  • 同期インスタンスの実行中にプライマリキーまたは一意キーの競合が発生した場合:

    • ソースデータベースとターゲットデータベースのスキーマが同じで、ターゲットデータベースのデータレコードがソースデータベースのデータレコードと同じプライマリキー値または一意キー値を持つ場合:

      • 完全データ同期中、DTS はデータレコードをターゲットデータベースに同期しません。ターゲットデータベースの既存のデータレコードが保持されます。

      • 増分データ同期中、DTS はデータレコードをターゲットデータベースに同期します。ターゲットデータベースの既存のデータレコードは上書きされます。

    • ソースデータベースとターゲットデータベースのスキーマが異なる場合、データの初期化に失敗する可能性があります。この場合、一部の列のみが同期されるか、データ同期インスタンスが失敗します。注意して進めてください。

  • ApsaraDB for ClickHouse の時間型のデータには範囲の制限があります。RDS MySQL の時間データがこの範囲外の場合、ApsaraDB for ClickHouse に同期される時間は正しくありません。範囲の制限については、「時間情報」をご参照ください。

  • パーティションキー は NULL 値許容フィールドにできません。そうしないと、同期タスクは失敗します。

    説明

    パーティションキーとしてサポートされているのは、BIGINT、INT、TIMESTAMP、DATETIME、DATE 型のフィールドのみです。

  • 同期するデータベースの数が、ApsaraDB for ClickHouse の制限である 256 を超えないこと。

  • 同期するデータベース、テーブル、および列の名前が、ApsaraDB for ClickHouse の命名規則に準拠していること。規則の詳細については、「オブジェクトの命名規則」をご参照ください。

  • スキーマ同期中、DTS は _sign_is_deleted、および _version フィールドを宛先テーブルに追加します。同期タイプ を設定する際に スキーマ同期 を選択しない場合、宛先でデータを受信するためのテーブルを手動で作成し、追加のフィールドをテーブルに追加する必要があります。テーブル作成要件とフィールドの詳細については、「テーブルとフィールドの情報」をご参照ください。

  • データを同期する前に、ソースデータベースとターゲットデータベースのパフォーマンスを評価してください。オフピーク時間にデータ同期を実行することをお勧めします。そうしないと、初期完全データ同期がソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを消費し、データベースの負荷が増加する可能性があります。

  • データベース全体ではなく 1 つ以上のテーブルを同期する場合、pt-online-schema-change などのツールを使用してソースデータベースの同期オブジェクトに対してオンライン DDL 操作を実行しないでください。そうしないと、同期が失敗します。

    Data Management (DMS) を使用してオンライン DDL 操作を実行できます。詳細については、「テーブルをロックせずにスキーマを変更する」をご参照ください。

  • DTS 同期中、DTS からのデータ以外のデータがターゲットデータベースに書き込まれないようにしてください。そうしないと、ソースデータベースとターゲットデータベース間でデータの不整合が発生します。

  • ApsaraDB RDS for MySQL インスタンスで Always-Confidential (EncDB) 機能が有効になっている場合、初期完全データ同期はサポートされません。

    説明

    TDE (透過的データ暗号化) が有効になっている ApsaraDB RDS for MySQL インスタンスは、スキーマ同期、初期完全データ同期、および増分データ同期をサポートしています。

  • インスタンスが失敗した場合、DTS ヘルプデスクは 8 時間以内にインスタンスの回復を試みます。回復プロセス中、インスタンスの再起動やパラメーターの調整などの操作が実行される場合があります。

    説明

    パラメーターが調整されると、DTS インスタンスのパラメーターのみが変更されます。データベースのパラメーターは変更されません。変更される可能性のあるパラメーターには、「インスタンスパラメーターの変更」で説明されているパラメーターが含まれますが、これらに限定されません。

その他の注意事項

  • ソースデータベースが自己管理 MySQL データベースの場合:

    • 同期中にソースデータベースでプライマリ/セカンダリフェールオーバーが発生すると、同期タスクは失敗します。

    • DTS の遅延は、ターゲットデータベースに同期された最後のデータレコードのタイムスタンプと現在のタイムスタンプの差に基づいて計算されます。ソースデータベースで DML 操作が長期間実行されない場合、遅延情報が不正確になる可能性があります。表示される遅延が長すぎる場合は、ソースデータベースで DML 操作を実行して遅延情報を更新できます。

      説明

      データベース全体を同期することを選択した場合、ハートビートテーブルを作成することもできます。ハートビートテーブルは 1 秒ごとに更新または書き込みされます。

    • DTS は、ソースデータベースで定期的に CREATE DATABASE IF NOT EXISTS `test` コマンドを実行して、バイナリログオフセットを進めます。

    • ソースデータベースが Amazon Aurora MySQL インスタンスまたは他のクラスター化された MySQL インスタンスである場合、タスクに構成されたドメイン名または IP アドレスとその解決結果が常に読み取り/書き込み (RW) ノードを指していることを確認してください。そうしないと、同期タスクが期待どおりに実行されない可能性があります。

  • ソースデータベースが ApsaraDB RDS for MySQL インスタンスの場合:

    • ApsaraDB RDS for MySQL 5.6 の読み取り専用インスタンスなど、トランザクションログを記録しない ApsaraDB RDS for MySQL インスタンスは、ソースデータベースとして使用できません。

    • DTS は、ソースデータベースで定期的に CREATE DATABASE IF NOT EXISTS `test` コマンドを実行して、バイナリログオフセットを進めます。

課金

同期タイプタスク構成料金
スキーマ同期と完全データ同期無料。
増分データ同期課金対象。詳細については、「課金の概要」をご参照ください。

サポートされる SQL 操作

操作タイプ

SQL 文

DML

INSERT、UPDATE、DELETE

DDL

  • CREATE TABLE、DROP TABLE、TRUNCATE TABLE

  • ADD COLUMN、MODIFY COLUMN、DROP COLUMN

データ型のマッピング

MySQL と ApsaraDB for ClickHouse クラスターは異なるデータ型をサポートしているため、1 対 1 のマッピングは不可能です。DTS が初期スキーマ同期を実行すると、ターゲットデータベースでサポートされている型に基づいてデータ型をマッピングします。詳細については、「初期スキーマ同期のデータ型マッピング」をご参照ください。

データベースアカウントの権限

データベース

必要な権限

作成および権限付与方法

ソース RDS MySQL

同期するオブジェクトに対する読み取り権限。

アカウントの作成 および アカウント権限の変更

宛先 ApsaraDB for ClickHouse クラスター

  • バージョン 22.8 以降: ターゲットデータベースに対する読み取りおよび書き込み権限。特権アカウントが要件を満たします。

  • バージョン 21.8: [読み取り/書き込みと設定] および [DDL を許可]

Community-compatible Edition アカウント管理

説明

使用しているソースデータベースアカウントが RDS MySQL コンソールを通じて作成および権限付与されていない場合、アカウントに REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW、および SELECT 権限があることを確認してください。

手順

  1. 次のいずれかの方法でデータ同期ページに移動し、データ同期インスタンスが存在するリージョンを選択します。

    DTS コンソール

    1. DTS コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、データ同期 をクリックします。

    3. ページの左上隅で、データ同期タスクが存在するリージョンを選択します。

    DMS コンソール

    説明

    実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「DMS コンソールのレイアウトとスタイルをカスタマイズする」をご参照ください。

    1. DMS コンソールにログインします。

    2. 上部のナビゲーションバーで、ポインターを [データ + AI] に移動し、[DTS (DTS)] > [データ同期] を選択します。

    3. データ同期タスク の右側にあるドロップダウンリストから、データ同期インスタンスが存在するリージョンを選択します。

  2. タスクの作成 をクリックして、タスク構成ページに移動します。

  3. ソースデータベースとターゲットデータベースを構成します。次の表にパラメーターを示します。

    カテゴリ

    構成

    説明

    なし

    タスク名

    DTS タスクの名前。DTS は自動的にタスク名を生成します。タスクを簡単に識別できる説明的な名前を指定することをお勧めします。一意のタスク名を指定する必要はありません。

    移行元データベース

    既存の接続情報の選択

    • DTS に登録されているデータベースインスタンスを使用する場合、ドロップダウンリストからインスタンスを選択します。DTS は、インスタンスの次のデータベースパラメーターを自動的に入力します。詳細については、「データベース接続の管理」をご参照ください。

      説明

      DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。

    • DTS へのインスタンスの登録に失敗した場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を構成する必要があります。

    データベースタイプ

    MySQL を選択します。

    アクセス方法

    Alibaba Cloud インスタンス を選択します。

    インスタンスのリージョン

    ソース RDS MySQL インスタンスが存在するリージョンを選択します。

    Alibaba Cloud アカウント間でデータを複製

    この例では、同じ Alibaba Cloud アカウント内での同期を示します。× を選択します。

    RDS インスタンス ID

    ソース RDS MySQL インスタンスの ID を選択します。

    データベースアカウント

    ソース RDS MySQL インスタンスのデータベースアカウントを入力します。権限要件については、「データベースアカウントの権限」をご参照ください。

    データベースのパスワード

    データベースへのアクセスに使用されるパスワード。

    暗号化

    データベースへの接続を暗号化するかどうかを指定します。ビジネス要件に応じて [非暗号化] または [SSL 暗号化] を選択できます。このパラメーターを [SSL 暗号化] に設定する場合は、DTS タスクを構成する前に ApsaraDB RDS for MySQL インスタンスの SSL 暗号化を有効にする必要があります。詳細については、「クラウド証明書を使用して SSL 暗号化を有効にする」をご参照ください。

    移行先データベース

    既存の接続情報の選択

    • DTS に登録されているデータベースインスタンスを使用する場合、ドロップダウンリストからインスタンスを選択します。DTS は、インスタンスの次のデータベースパラメーターを自動的に入力します。詳細については、「データベース接続の管理」をご参照ください。

      説明

      DMS コンソールでは、[DMS データベースインスタンスを選択] ドロップダウンリストからデータベースインスタンスを選択できます。

    • DTS へのインスタンスの登録に失敗した場合、または DTS に登録されているインスタンスを使用する必要がない場合は、次のデータベース情報を構成する必要があります。

    データベースタイプ

    ClickHouse を選択します。

    アクセス方法

    Alibaba Cloud インスタンス を選択します。

    インスタンスのリージョン

    宛先の ApsaraDB for ClickHouse クラスターが存在するリージョンを選択します。

    Alibaba Cloud アカウント間でデータを複製

    この例では、同じ Alibaba Cloud アカウント内での同期を示します。× を選択します。

    クラスタータイプ

    必要に応じて ApsaraDB for ClickHouse クラスターのタイプを選択します。

    クラスター ID

    宛先の ApsaraDB for ClickHouse クラスターの ID を選択します。

    データベースアカウント

    宛先の ApsaraDB for ClickHouse クラスターのデータベースアカウントを入力します。権限要件については、「データベースアカウントの権限」をご参照ください。

    データベースのパスワード

    データベースへのアクセスに使用されるパスワード。

  4. ページの下部にある 接続をテストして続行 をクリックします。

    説明
    • DTS サーバーからのアクセスを許可するために、DTS サーバーの CIDR ブロックがソースデータベースとターゲットデータベースのセキュリティ設定に自動または手動で追加できることを確認してください。詳細については、「DTS サーバーの IP アドレスをホワイトリストに追加する」をご参照ください。

    • ソースデータベースまたはターゲットデータベースが自己管理データベースで、その アクセス方法Alibaba Cloud インスタンス に設定されていない場合、DTS サーバーの CIDR ブロック ダイアログボックスで 接続テスト をクリックします。

  5. 同期するオブジェクトを構成します。

    1. オブジェクト設定 ステップで、同期するオブジェクトを構成します。

      構成

      説明

      同期タイプ

      同期タイプ。デフォルトでは、[増分データ同期] が選択されています。[スキーマ同期][完全データ同期] も選択する必要があります。事前チェックが完了すると、DTS は選択したオブジェクトの既存データをソースデータベースから宛先クラスターに同期します。既存データは、後続の増分同期の基礎となります。

      競合するテーブルの処理モード

      • エラーの事前チェックと報告: ターゲットデータベースにソースデータベースのテーブルと同じ名前のテーブルが含まれているかどうかをチェックします。ソースデータベースとターゲットデータベースに同じテーブル名のテーブルが含まれていない場合、事前チェックは合格します。そうでない場合、事前チェック中にエラーが返され、データ同期タスクを開始できません。

        説明

        ソースデータベースとターゲットデータベースに同じ名前のテーブルが含まれており、ターゲットデータベースのテーブルを削除または名前変更できない場合は、オブジェクト名マッピング機能を使用して、ターゲットデータベースに同期されるテーブルの名前を変更できます。詳細については、「オブジェクト名のマッピング」をご参照ください。

      • エラーを無視して続行: ソースデータベースとターゲットデータベースの同じテーブル名の事前チェックをスキップします。

        警告

        エラーを無視して続行 を選択すると、データの不整合が発生し、ビジネスに潜在的なリスクが生じる可能性があります。

        • ソースデータベースとターゲットデータベースのスキーマが同じで、ターゲットデータベースのデータレコードがソースデータベースのデータレコードと同じプライマリキー値または一意キー値を持つ場合:

          • 完全データ同期中、DTS はデータレコードをターゲットデータベースに同期しません。ターゲットデータベースの既存のデータレコードが保持されます。

          • 増分データ同期中、DTS はデータレコードをターゲットデータベースに同期します。ターゲットデータベースの既存のデータレコードは上書きされます。

        • ソースデータベースとターゲットデータベースのスキーマが異なる場合、データの初期化に失敗する可能性があります。この場合、一部の列のみが同期されるか、データ同期インスタンスが失敗します。注意して進めてください。

      移行先インスタンスでのオブジェクト名の大文字化

      宛先インスタンスのデータベース名、テーブル名、列名の大文字/小文字。デフォルトでは、[DTS のデフォルトポリシー] が選択されています。他のオプションを選択して、オブジェクト名の大文字/小文字がソースデータベースまたはターゲットデータベースと一致するようにすることができます。詳細については、「宛先インスタンスでのオブジェクト名の大文字/小文字の指定」をご参照ください。

      ソースオブジェクト

      ソースオブジェクト セクションから 1 つ以上のオブジェクトを選択し、向右 アイコンをクリックしてオブジェクトを 選択中のオブジェクト セクションに追加します。

      説明

      データベースまたはテーブルレベルで同期するオブジェクトを選択できます。

      選択中のオブジェクト

      • 宛先インスタンスに同期するオブジェクトの名前を変更するには、選択中のオブジェクト セクションでオブジェクトを右クリックします。詳細については、「オブジェクト名のマッピング」トピックの「単一オブジェクト名のマッピング」セクションをご参照ください。

      • 一度に複数のオブジェクトの名前を変更するには、選択中のオブジェクト セクションの右上隅にある 一括編集 をクリックします。詳細については、「オブジェクト名のマッピング」トピックの「複数のオブジェクト名を一度にマッピングする」セクションをご参照ください。

      説明
      • データをフィルター処理するには、選択中のオブジェクト ボックスで同期するテーブルを右クリックし、ダイアログボックスでフィルター条件を設定します。詳細については、「フィルター条件の設定」をご参照ください。

      • オブジェクト名マッピング機能を使用する場合、マッピングされたオブジェクトに依存する他のオブジェクトの同期に失敗する可能性があります。

    2. 次へ:詳細設定 をクリックして詳細設定を構成します。

      構成

      説明

      タスクのスケジュールに使用する専用クラスターの選択

      専用クラスターを指定しない場合、DTS はデフォルトでタスクを共有クラスターにスケジュールします。データ同期インスタンスの安定性を向上させたい場合は、専用クラスターを購入してください。詳細については、「DTS 専用クラスターとは」をご参照ください。

      ターゲットデータベースのタイムゾーン

      ApsaraDB for ClickHouse クラスターに書き込まれる DateTime データのタイムゾーンを選択できます。

      失敗した接続の再試行時間

      接続失敗のリトライ時間範囲。データ同期タスクの開始後にソースデータベースまたはターゲットデータベースへの接続に失敗した場合、DTS は時間範囲内で直ちに接続をリトライします。有効値: 10 から 1440。単位: 分。デフォルト値: 720。このパラメーターを 30 より大きい値に設定することをお勧めします。指定された時間範囲内に DTS がソースデータベースとターゲットデータベースに再接続した場合、DTS はデータ同期タスクを再開します。そうでない場合、データ同期タスクは失敗します。

      説明
      • 同じソースデータベースまたはターゲットデータベースを持つ複数のデータ同期タスクに異なるリトライ時間範囲を指定した場合、最も短いリトライ時間範囲が優先されます。

      • DTS が接続をリトライすると、DTS インスタンスに対して課金されます。ビジネス要件に基づいてリトライ時間範囲を指定することをお勧めします。また、ソースインスタンスと宛先インスタンスがリリースされた後、できるだけ早く DTS インスタンスをリリースすることもできます。

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。

      その他の問題のリトライ時間範囲。たとえば、データ同期タスクの開始後に DDL または DML 操作の実行に失敗した場合、DTS は時間範囲内で直ちに操作をリトライします。有効値: 1 から 1440。単位: 分。デフォルト値: 10。このパラメーターを 10 より大きい値に設定することをお勧めします。指定された時間範囲内に失敗した操作が正常に実行された場合、DTS はデータ同期タスクを再開します。そうでない場合、データ同期タスクは失敗します。

      重要

      移行元データベースと移行先データベースで他の問題が発生した場合の、再試行までの待機時間です。 パラメーターの値は、失敗した接続の再試行時間 パラメーターの値より小さくする必要があります。

      完全同期レートを制限するかどうか

      完全データ同期中、DTS はソースデータベースとターゲットデータベースの読み取りおよび書き込みリソースを使用します。これにより、データベースサーバーの負荷が増加する可能性があります。1 秒あたりのソースデータベースのクエリ率 QPS1 秒あたりの完全移行の行数 RPS、および 1 秒あたりの完全移行データ量 (MB) BPS パラメーターを完全データ同期タスクに構成して、ターゲットデータベースサーバーの負荷を軽減できます。

      説明

      このパラメーターは、同期タイプ パラメーターで 完全データ同期 が選択されている場合にのみ構成できます。

      増分同期率を制限するかどうか

      増分データ同期のスロットリングを有効にするかどうかを指定します。ビジネス要件に基づいて増分データ同期のスロットリングを有効にできます。スロットリングを構成するには、1 秒あたりの増分同期の行数 RPS および 1 秒あたりの増分同期データ量 (MB) BPS パラメーターを構成する必要があります。これにより、ターゲットデータベースサーバーの負荷が軽減されます。

      順方向および逆方向タスクのハートビートテーブル SQL を削除

      DTS インスタンスの実行中にハートビートテーブルに対する SQL 操作をソースデータベースに書き込むかどうかを指定します。有効値:

      • [はい]: ハートビートテーブルに対する SQL 操作を書き込みません。この場合、DTS インスタンスの遅延が表示されることがあります。

      • [いいえ]: ハートビートテーブルに対する SQL 操作を書き込みます。この場合、ソースデータベースの物理バックアップやクローニングなどの機能が影響を受ける可能性があります。

      環境タグ

      必要に応じてインスタンスを識別するための環境タグを選択できます。この例では選択は不要です。

      ETL の設定

      抽出、変換、書き出し (ETL) 機能を有効にするかどうかを指定します。詳細については、「ETL とは」をご参照ください。有効値:

      監視アラート

      データ同期インスタンスのアラートを設定するかどうかを指定します。タスクが失敗した場合、または同期遅延が指定されたしきい値を超えた場合、アラート連絡先は通知を受け取ります。有効値:

      • [いいえ]: アラートを有効にしません。

      • [はい]: アラートを設定します。この場合、アラートのしきい値と アラート通知設定も設定する必要があります。詳細については、「モニタリングとアラートの設定」トピックの「DTS タスク作成時のモニタリングとアラートの設定」セクションをご参照ください。

    3. 次:データベースおよびテーブルのフィールド設定 をクリックして、ClickHouse に同期するテーブルの タイププライマリキー列の追加ソートキー配布キー、および パーティションキー を構成します。

      • DTS はデフォルトの構成を提供します。定義ステータスすべて に設定して構成を変更できます。

      • プライマリキー列の追加ソートキー は複合キーにすることができます。ドロップダウンリストから複数のフィールドを選択して、プライマリキー列の追加 または ソートキー を定義できます。プライマリキー列の追加 から 1 つ以上の列を パーティションキー として選択する必要もあります。配布キー として選択できるフィールドは 1 つだけです。プライマリキー列、ソートキー、パーティションキーの詳細については、「CREATE TABLE」をご参照ください。

        説明
        • パーティションキー はオプションですが、NULL 値許容フィールドにすることはできません。そうしないと、同期タスクが失敗します。

        • パーティションキーとしてサポートされているのは、BIGINT、INT、TIMESTAMP、DATETIME、DATE 型のフィールドのみです。計算ロジックについては、「パーティションキーの計算ロジック」をご参照ください。

  6. タスク設定を保存し、事前チェックを実行します。

    • 関連する API 操作を呼び出して DTS タスクを構成する際に指定するパラメーターを表示するには、ポインターを 次:タスク設定の保存と事前チェック に移動し、OpenAPI パラメーターのプレビュー をクリックします。

    • パラメーターを表示する必要がない場合、または表示済みの場合、ページの下部にある 次:タスク設定の保存と事前チェック をクリックします。

    説明
    • データ同期タスクを開始する前に、DTS は事前チェックを実行します。タスクが事前チェックに合格した後にのみ、データ同期タスクを開始できます。

    • データ同期タスクが事前チェックに失敗した場合、失敗した各項目の横にある [詳細の表示] をクリックします。チェック結果に基づいて原因を分析した後、問題をトラブルシューティングします。その後、事前チェックを再実行します。

    • 事前チェック中に項目のアラートがトリガーされた場合:

      • アラート項目を無視できない場合は、失敗した項目の横にある [詳細の表示] をクリックして問題をトラブルシューティングします。その後、再度事前チェックを実行します。

      • アラート項目を無視できる場合は、[アラート詳細の確認] をクリックします。[詳細の表示] ダイアログボックスで、[無視] をクリックします。表示されるメッセージで、[OK] をクリックします。その後、[再事前チェック] をクリックして再度事前チェックを実行します。アラート項目を無視すると、データの不整合が発生し、ビジネスに潜在的なリスクが生じる可能性があります。

  7. インスタンスを購入します。

    1. [成功率][100%] になるまで待ちます。その後、[次へ: インスタンスの購入] をクリックします。

    2. [購入] ページで、データ同期タスクの課金方法とインスタンスクラスのパラメーターを構成します。次の表にパラメーターを示します。

      セクション

      パラメーター

      説明

      新しいインスタンスクラス

      課金方法

      • サブスクリプション: データ同期インスタンスを作成する際にサブスクリプション料金を支払います。サブスクリプション課金方法は、長期使用の場合、従量課金方法よりも費用対効果が高くなります。

      • 従量課金: 従量課金インスタンスは時間単位で課金されます。従量課金方法は短期使用に適しています。従量課金データ同期インスタンスが不要になった場合は、インスタンスをリリースしてコストを削減できます。

      リソースグループ設定

      データ同期インスタンスが属するリソースグループ。デフォルト値: [デフォルトリソースグループ]。詳細については、「Resource Management とは」をご参照ください。

      インスタンスクラス

      DTS は、同期速度が異なるインスタンスクラスを提供します。ビジネス要件に基づいてインスタンスクラスを選択できます。詳細については、「データ同期インスタンスのインスタンスクラス」をご参照ください。

      サブスクリプション期間

      サブスクリプション課金方法を選択した場合、サブスクリプション期間と作成するデータ同期インスタンスの数を指定します。サブスクリプション期間は、1 ~ 9 か月、1 年、2 年、3 年、または 5 年にすることができます。

      説明

      このパラメーターは、サブスクリプション 課金方法を選択した場合にのみ使用できます。

    3. [Data Transmission Service (従量課金) サービス規約] を読んで選択します。

    4. [購入して開始] をクリックします。表示されるダイアログボックスで、OK をクリックします。

      タスクリストでタスクの進行状況を表示できます。

付録

時間情報

データの型

最小値

最大値

Date

1970-01-01 00:00:00

2149-06-06 00:00:00

Date32

1925-01-01 00:00:00

2283-11-11 00:00:00

DateTime

1970-01-01 08:00:00

2106-02-07 14:28:15

DateTime64

1925-01-01 08:00:00

2283-11-12 07:59:59

テーブルとフィールドの情報

テーブル情報

オブジェクト名マッピング機能を使用しない場合、作成するテーブルは次の要件を満たす必要があります。

重要

宛先テーブルに ENGINE が含まれている場合、それは ENGINE = ReplicatedReplacingMergeTree(_version, _is_deleted) である必要があります。そうでない場合、データの不整合が発生する可能性があります。

  • ClickHouse Community Edition インスタンス: 1 つのローカルテーブルと 1 つの分散テーブルを作成する必要があります。分散テーブルの名前はソーステーブル名と同じでなければなりません。ローカルテーブルの名前は <distributed_table_name>_local でなければなりません。

  • ClickHouse Enterprise Edition インスタンス: ソーステーブルと同じ名前のテーブルを作成する必要があります。

フィールド情報

説明

ClickHouse インスタンスでは、select * from table_name final where _sign>0; 文を実行してデータをクエリできます。where 条件は削除されたデータをフィルター処理し、テーブル名の後の final キーワードは同じソートキーを持つデータをフィルター処理します。

バージョン

名前

データの型

デフォルト値

説明

Community Edition 23.8 より前

_sign

Int8

1

DML 操作のタイプ。

  • INSERT: レコードは 1 です。

  • UPDATE: レコードは 1 です。

  • DELETE: レコードは -1 です。

_version

UInt64

1

データが ClickHouse に書き込まれたときのタイムスタンプ。

Enterprise Edition および Community Edition 23.8 以降

_sign

Int8

1

DML 操作のタイプ。

  • INSERT: レコードは 1 です。

  • UPDATE: レコードは 1 です。

  • DELETE: レコードは -1 です。

_is_deleted

UInt8

0

レコードが削除されたかどうかを示します:

  • 挿入: レコードは 0 です。

  • 削除: レコードは 1 です。

  • 更新: レコードは 0 です。

_version

UInt64

1

データが ClickHouse に書き込まれたときのタイムスタンプ。

パーティションキーの計算ロジック

ソースフィールドの型

パーティションキーの計算ロジック

BIGINT

intDiv(" + tablePartKey + ", 18014398509481984)

INT

intDiv(" + tablePartKey + ", 4194304)

TIMESTAMP

toYYYYMM(" + tablePartKey + ")

DATETIME

DATE