Data Integration を使用すると、AnalyticDB for MySQL 3.0、ClickHouse、Hologres、PolarDB などのソースから Hologres にデータベース全体をオフライン同期できます。このトピックでは、ClickHouse データベース全体を Hologres に同期する方法について説明します。
前提条件
サーバーレスリソースグループまたはデータ統合専用リソースグループを購入済みであること。
ClickHouse データソースと Hologres データソースを作成済みであること。詳細については、「データソース設定」をご参照ください。
リソースグループとデータソース間のネットワーク接続を確立済みであること。詳細については、「ネットワーク接続ソリューション」をご参照ください。
手順
1. 同期タスクのタイプを選択する
Data Integration ページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[Go To Data Integration] をクリックします。
左側のナビゲーションウィンドウで、[Sync Task] をクリックします。ページの上部で、[Create Sync Task] をクリックしてタスク作成ページに移動します。次の基本情報を設定します。
ソースと宛先:
ClickHouseからHologres新しいタスク名: 同期タスクのカスタム名を入力します。
同期タイプ:
Offline Whole-DB。同期ステップ: 完全同期と増分同期を選択します。
2. ネットワークとリソースを設定する
[ネットワークとリソースの設定] セクションで、同期タスクの [リソースグループ] を選択します。[タスクリソースの使用量] に CU を割り当てることができます。
[ソースデータソース] で、
ClickHouseデータソースを選択します。[宛先データソース] で、Hologresデータソースを選択します。次に、[接続テスト] をクリックします。
両方のデータソースの接続テストが成功したら、[次へ] をクリックします。
3. 同期するデータベースとテーブルを選択する
[ソースデータベースとテーブル] エリアで、ソースデータソースから同期するテーブルを選択します。
アイコンをクリックして、テーブルを [選択されたデータベースとテーブル] リストに移動します。

4. 完全同期と増分同期の制御を設定する
タスクの完全同期と増分同期のタイプを設定します。
[同期ステップ] で [完全同期] と [増分同期] の両方を選択した場合、タスクはデフォルトでワンタイムの完全同期と定期的な増分同期になります。この設定は変更できません。
[同期ステップ] で [完全同期] を選択した場合、タスクをワンタイムの完全同期または定期的な完全同期に設定できます。
[同期ステップ] で [増分同期] を選択した場合、タスクをワンタイムまたは定期的な増分同期として設定できます。
説明以下のステップでは、ワンタイムの完全同期と定期的な増分同期タスクを例として使用します。
定期的なスケジュールパラメーターを設定します。
タスクを定期的なスケジュールで実行する場合は、[定期的なスケジュールパラメーター] をクリックします。
5. 宛先テーブルにマッピングする
前のステップで同期するテーブルを選択すると、このページに自動的に表示されます。宛先テーブルのステータスは「マッピングをリフレッシュする必要があります」です。ソーステーブルと宛先テーブル間のマッピングを定義する必要があります。これにより、ソーステーブルからデータを読み取り、宛先テーブルに書き込む方法が指定されます。次に、[マッピングをリフレッシュ] をクリックして続行します。マッピングをすぐにリフレッシュするか、最初に宛先テーブルのルールをカスタマイズできます。
同期するテーブルを選択し、[バッチリフレッシュマッピング] をクリックできます。マッピングルールが設定されていない場合、デフォルトのテーブル名ルールは
${Source Table Name}です。宛先に同じ名前のテーブルが存在しない場合は、自動的に作成されます。定期的なスケジューリングが必要なため、定期的なスケジューリングタスクのプロパティを定義する必要があります。これらのプロパティには、[スケジューリングサイクル]、[スケジューリング時間]、[スケジューリングリソースグループ] が含まれます。この同期のスケジューリング設定は、Data Studio のノードスケジューリング設定と同じです。パラメーターの詳細については、「ノードスケジューリング」をご参照ください。
[増分条件] を設定して、WHERE 句でソースデータをフィルタリングする必要があります。WHERE キーワードなしで、WHERE 句の内容のみを入力します。定期的な設定を有効にする場合は、システムパラメーター変数を使用できます。
[カスタム宛先スキーマ名マッピング] 列で、[設定] をクリックして、宛先スキーマの命名規則をカスタマイズします。
組み込み変数と手動で入力した文字列を使用して、宛先スキーマ名を作成できます。組み込み変数を編集することもできます。たとえば、ソースデータベース名にサフィックスを追加して宛先スキーマ名を形成する新しいスキーマ命名規則を作成できます。
[カスタム宛先テーブル名マッピング] 列で、[編集] をクリックして、宛先テーブルの命名規則をカスタマイズします。
組み込み変数と手動で入力した文字列を使用して、宛先テーブル名を作成できます。組み込み変数を編集することもできます。たとえば、ソーステーブル名にサフィックスを追加して宛先テーブル名を形成する新しいテーブル命名規則を作成できます。
1. フィールドタイプマッピングを編集する
同期タスクは、デフォルトでソースフィールドタイプを宛先フィールドタイプにマッピングします。このマッピングをカスタマイズするには、テーブルの右上隅にある [フィールドタイプマッピングの編集] をクリックします。マッピングを設定した後、[適用してマッピングをリフレッシュ] をクリックします。
2. 宛先テーブルスキーマを編集し、フィールド値を割り当てる
宛先テーブルのステータスが [作成予定] の場合、そのスキーマにフィールドを追加できます。次のステップに従ってください:
宛先テーブルにフィールドを追加します。
単一のテーブルにフィールドを追加するには、[宛先テーブル名] 列の
ボタンをクリックします。バッチでフィールドを追加するには、同期するすべてのテーブルを選択します。テーブルの下部で、 を選択します。
フィールドに値を割り当てます。次の操作を使用して、追加したフィールドに値を割り当てることができます。
単一のテーブルに値を割り当てるには: [宛先テーブルフィールドの割り当て] 列で、[設定] をクリックします。
バッチで値を割り当てるには、リストの下部で を選択して、複数の宛先テーブルにまたがる同一のフィールドに値を割り当てます。
説明定数または変数を割り当てることができます。
アイコンをクリックして、割り当てモードを切り替えます。
3. 高度なパラメーターをカスタマイズする
タスクを詳細に制御するには、[高度なパラメーターのカスタマイズ] 列の [設定] をクリックします。
これらのパラメーターは、その機能を完全に理解している場合にのみ変更してください。設定が正しくないと、予期しないエラーやデータ品質の問題が発生する可能性があります。
6. 高度なパラメーターを設定する
同期タスクには、必要に応じて変更できるいくつかのパラメーターが用意されています。たとえば、接続の最大数を制限して、同期タスクが本番データベースに過度の圧力をかけるのを防ぐことができます。
これらのパラメーターは、その機能を完全に理解している場合にのみ変更してください。設定が正しくないと、予期しないエラーやデータ品質の問題が発生する可能性があります。
ページの右上隅にある [高度なパラメーター設定] をクリックして、高度なパラメーター設定ページに移動します。
[高度なパラメーター設定] ページで、パラメーター値を変更します。
7. リソースグループを設定する
ページの右上隅にある [リソースグループ設定] をクリックして、現在のタスクのリソースグループを表示または切り替えます。
8. 同期タスクを実行する
設定が完了したら、ページの下部にある [設定完了] をクリックします。
ページで、作成した同期タスクを見つけ、[アクション] 列の [開始] をクリックします。
[タスクリスト] で、タスクの [名前/ID] をクリックして実行詳細を表示します。
9. アラートを設定する
タスクが実行されると、オペレーションセンターでスケジュールされたジョブが生成されます。タスクエラーによるデータ同期の遅延を防ぐために、同期タスクにアラームポリシーを設定できます。
[タスクリスト] で、実行中の同期タスクを見つけます。[アクション] 列で、 を選択してタスク編集ページを開きます。
[次へ] をクリックします。次に、ページの右上隅にある [アラーム設定] をクリックして、アラーム設定ページを開きます。
[スケジューリング情報] 列で、スケジュールされたジョブをクリックしてオペレーションセンターでタスク詳細ページを開き、[タスク ID] を取得します。
オペレーションセンターの左側のナビゲーションウィンドウで、 を選択して、ルール管理ページに移動します。
[カスタムルールの作成] をクリックし、[ルールオブジェクト]、[トリガーメソッド]、[アラーム動作] を設定します。詳細については、「ルール管理」をご参照ください。
[ルールオブジェクト] フィールドで、取得したタスク ID を使用してターゲットタスクを検索し、アラートを設定します。
同期タスクの O&M
タスクの実行ステータスを表示する
同期タスクを作成した後、同期タスクページで作成された同期タスクのリストとその基本情報を表示できます。

[アクション] 列では、同期タスクを [開始] または [停止] できます。また、[その他] をクリックして、[編集] や [表示] などの他の操作を実行することもできます。
実行中のタスクについては、[実行概要] セクションでその基本ステータスを表示できます。概要セクションをクリックして実行詳細を表示することもできます。

ClickHouse から Hologres へのオフライン全データベース同期タスクの場合:
タスクの同期ステップが [完全同期] の場合、スキーマ移行と完全同期の詳細が表示されます。
タスクの同期ステップが [増分同期] の場合、スキーマ移行と増分同期の詳細が表示されます。
タスクの同期ステップが [完全同期] と [増分同期] の場合、スキーマ移行、完全同期、増分同期の詳細が表示されます。
タスクを再実行する
[再実行] をクリックして、タスク設定を変更せずにタスクを再実行します。
効果: この操作は、ワンタイムタスクを再実行するか、定期的なタスクのプロパティを更新します。
テーブルを追加または削除してタスクを変更した後にタスクを再実行するには、タスクを編集して [完了] をクリックします。タスクのステータスが [更新を適用] に変わります。[更新を適用] をクリックすると、変更されたタスクの再実行がすぐにトリガーされます。
効果: 新しいテーブルのみが同期されます。以前に同期されたテーブルは再度同期されません。
タスクを編集 (たとえば、宛先テーブル名を変更したり、別の宛先テーブルに切り替えたり) して [完了] をクリックすると、タスクで利用可能な操作が [更新を適用] に変わります。[更新を適用] をクリックすると、変更されたタスクの再実行がすぐにトリガーされます。
効果: 変更されたテーブルが同期されます。変更されていないテーブルは再度同期されません。