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

AnalyticDB:DMS による AnalyticDB for MySQL タスクのスケジューリング

最終更新日:Aug 25, 2026

AnalyticDB for MySQLEnterprise Edition、Basic Edition、Data Lakehouse Edition および Data Warehouse Edition はすべて、DMS のタスクオーケストレーション機能をサポートしており、AnalyticDB for MySQL タスクのオーケストレーション、スケジューリング、管理、モニタリングが可能です。このトピックでは、DMS を使用したタスク開発とスケジューリングの方法について説明します。

背景情報

  • 課題:イベントスケジューリング

    MySQL Event Scheduler などの従来のデータベースイベントスケジューリングは強力ですが、いくつかの制限があります:

    • 参入障壁が高い:ユーザーはイベント定義のための特別な SQL 構文 (CREATE EVENT および ALTER EVENT) を習得する必要があり、シンプルなインターフェイスでイベントを設定することはできません。

    • データベースカーネルへの強い依存:カーネルがイベントスケジューラをサポートし、有効にする必要があります。

    • 単一データベースへの限定:スケジューリングは単一のデータベースに対してのみ実行でき、他のデータベースやツールと連携することはできません。

    • 追跡が困難:ユーザーはスケジュールされたイベントの実行ステータス、実行履歴、またはランタイムを閲覧できません。

    • メンテナンスが困難:ユーザーはイベントを一時停止または再実行できず、失敗したイベントは復旧できません。

    • 通知機能の欠如:イベントの実行ステータス (成功または失敗) は、SMS、Eメール、またはその他のチャネルを介してユーザーに能動的に通知されません。

  • ソリューション:DMS タスクオーケストレーション

    DMS のタスクオーケストレーション機能は、前述の問題を解決します。これは、データベースカーネルのイベントスケジューリング機能に依存せず、独立した外部のタスクオーケストレーションおよびスケジューリングシステムです。主な機能は次のとおりです:

    • 複数のデータベースエンジン (MySQL、Oracle、PostgreSQL、SQL Server など) とさまざまなエコシステムツール (データ移行、バックアップ、クロスデータベース分析など) をサポートし、クロスデータベースおよびクロスプロダクトのワークフローを実現します。

    • ドラッグアンドドロップ操作と簡単な設定でスケジューリングタスクを作成できる、ビジュアル編集インターフェイスを提供します。

    • DingTalk、SMS、Eメールなど、複数の通知メカニズムをサポートします。

    • 一時停止、終了、再実行など、さまざまな運用保守操作をサポートします。

サンプルデータ

この例では、データベース名は adb_test です。このデータベースには、ordersfinish_orderslarge_finish_orders の 3 つのテーブルを作成します。

create database adb_test;
create table orders(
  order_id bigint not null comment'注文 ID',
  order_status varchar not null comment'注文ステータス',
  total_price decimal(15,2) not null comment'合計金額',
  order_date date not null comment'注文日',
  PRIMARY KEY (order_id)
  );
 create table finish_orders(
  order_id bigint not null comment'注文 ID',
  total_price decimal(15,2) not null comment'注文ステータス',
  order_date date not null comment'注文日',
  PRIMARY KEY (order_id)
  );
  create table large_finish_orders(
  order_id bigint not null comment'注文 ID',
  total_price decimal(15,2) not null comment'注文ステータス',
  order_date date not null comment'注文日',
  PRIMARY KEY (order_id)
  ); 

概要

このトピックでは、AnalyticDB for MySQL Data Warehouse Edition クラスターを例として、タスクスケジューリングプロセスについて説明します。DMS のタスクオーケストレーション機能を使用して、AnalyticDB for MySQL データベースの orders テーブルから、注文金額が 10,000 USD を超える完了済み注文をフィルタリングします。

ステップ

説明

ステップ 1:タスクフローの作成

タスクフローを作成します。

ステップ 2:タスクノードの作成

このステップでは、対象のタスクフローに次の 2 つのタスクノードを作成します:

  • Order Cleansing:orders テーブルから完了した注文 (order_status = 'F' の注文) をフィルタリングし、結果を finish_orders テーブルに書き込みます。

  • Large Order Generation:finish_orders テーブルから合計金額が 10,000 (total_price > 10000) USD を超える注文を検索し、結果を large_finish_orders テーブルに書き込みます。

ステップ 3:タスクフローのスケジューリング設定

対象のタスクを有効にし、定期的に実行するように設定します。

ステップ 1:タスクフローの作成

  1. AnalyticDB for MySQL コンソールにログインします。左上隅で、クラスターのあるリージョンを選択します。左側のナビゲーションペインで、[Clusters] をクリックします。ターゲットクラスターを見つけて、クラスター ID をクリックします。

  2. 左側のナビゲーションペインで、[Unified Data Management] > [Data Assets] を選択します。

    説明
    • DMS (新バージョン) を介して AnalyticDB for MySQL クラスターデータベースに初めてログインし、データアセット管理機能を使用する場合、まずデータベースのログイン情報を入力する必要があります。詳細については、「データベースへのログイン」をご参照ください。

    • 以前に AnalyticDB for MySQL クラスターデータベースにログインしたことがあり、クラスターのコントロールモードが [柔軟管理] または [安定変更] に設定されているものの、データベースのログイン情報を入力する際に [Remember Password] を選択しなかった場合、DMS コンソールに移動した後、表示されるダイアログボックスにターゲットデータベースアカウントのパスワードを入力しないと続行できません。コントロールモードの詳細については、「コントロールモード」をご参照ください。

    • 統合データ管理機能は、インドネシア (ジャカルタ) リージョンの AnalyticDB for MySQL クラスターではサポートされていません。

  3. 上部メニューで、[Integration & Development (DTS)] を選択します。

  4. 左側のナビゲーションペインで、[Data Development] > [Task Orchestration] を選択します。

  5. 新しいタスクフローを作成します。この例では、タスクフローに「Order Filtering」という名前を付けます。

    1. [Create Task Flow] をクリックします。

    2. [New Task Flow] ダイアログボックスで、[Task Flow Name][Description] を入力し、[OK] をクリックします。

ステップ 2:タスクノードの作成

  1. [Order Filtering] のタスクオーケストレーションページで、次の 2 つのタスクノードを作成し、設定します:

    • Order Cleansing

      1. 左側のペインで [Single Instance SQL] を選択し、右側の空のキャンバスにドラッグします。

      2. 新しく追加されたタスクノードを選択し、1 アイコンをクリックして、名前を Order Cleansing に変更します。

      3. タスクノードをダブルクリックするか、2 アイコンをクリックしてタスクノードを編集します。

      4. データベースのドロップダウンリストからターゲットデータベースを選択します。

      5. ターゲットデータベースの下のダイアログボックスに SQL ステートメントを入力し、[Save] をクリックします。ステートメントは次のとおりです:

        insert into finish_orders
         select order_id,total_price,order_date
         from orders
         where order_status = 'F';
        説明

        [Auto Save] が選択されている場合、SQL ステートメントは入力後に自動的に保存されます。

    • Large Order Generation

      1. 左側のペインで [Single Instance SQL] を選択し、右側の空のキャンバスにドラッグします。

      2. 新しく追加されたタスクノードを選択し、1 アイコンをクリックして、名前を Large Order Generation に変更します。

      3. タスクノードをダブルクリックするか、2 アイコンをクリックしてタスクノードを編集します。

      4. データベースのドロップダウンリストからターゲットデータベースを選択します。

      5. ターゲットデータベースの下のダイアログボックスに SQL ステートメントを入力し、[Save] をクリックします。ステートメントは次のとおりです:

        insert into large_finish_orders
         select order_id,total_price,order_date
         from finish_orders
         where total_price > 10000;
        説明

        [Auto Save] が選択されている場合、SQL ステートメントは入力後に自動的に保存されます。

  2. タスクフローキャンバスで、Order Cleansing ノードにカーソルを合わせます。ノードの右側にある小さな円をクリックし、接続線を Large Order Generation ノードにドラッグして、2 つのタスクノード間の依存関係を作成します。

ステップ 3:タスクフローのスケジューリング設定

  1. タスクフローキャンバスの下にある [スケジュール設定] セクションで、[Enable Scheduling] スイッチをオンにし、関連パラメータを設定します。

    説明

    この例では、スケジューリングタスクは 2023-02-01 から 2023-02-28 まで毎日 01:00 に実行されるように設定されています。ビジネスニーズに基づいてスケジューリングタスクをカスタマイズすることもできます。スケジューリング設定パラメータの詳細については、「スケジューリングの設定」をご参照ください。

  2. タスクフローを公開します。

    1. キャンバスの左上隅にある [Publish] をクリックします。

    2. [Publish] ダイアログボックスで、[Remarks] に備考を入力し、[OK] をクリックしてタスクフローを公開します。

  3. 公開ステータスを確認します。

    1. キャンバスの上にある [Go to O&M] をクリックします。

    2. ページの右側で、タスクフローの [公開ステータス]を確認します。

      • [Published]:タスクフローは公開済みです。

      • [Unpublished]:タスクフローは未公開です。