All Products
Search
Document Center

Data Management:Orkestrasi Tugas

Last Updated:Mar 29, 2026

Gunakan fitur Orkestrasi Tugas di Data Management (DMS) untuk membangun alur tugas multi-langkah yang dijadwalkan guna mengarsipkan data historis secara otomatis. Pada akhir tutorial ini, Anda akan memiliki alur tugas yang berfungsi dan:

  • Membuat tabel arsip bulanan untuk catatan yang berusia lebih dari enam bulan

  • Menyalin baris yang memenuhi kriteria dari tabel sumber ke tabel arsip

  • Menghapus baris yang telah dimigrasikan dari tabel sumber

  • Berjalan secara otomatis pada pukul 01.00 di hari pertama setiap bulan

Langkah-langkah dalam tutorial ini:

  1. Buat alur tugas

  2. Konfigurasikan variabel waktu

  3. Buat dan konfigurasikan node

  4. Hubungkan node dan atur penjadwalan

  5. Jalankan alur tugas dan verifikasi hasilnya

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Instansiasi basis data yang terdaftar di DMS. Untuk detailnya, lihat Mendaftarkan instansiasi basis data Alibaba Cloud.

  • Memiliki instans dengan status Normal. Untuk memeriksanya, buka halaman utama Konsol DMS, arahkan kursor ke instans di panel navigasi kiri, lalu baca tooltip statusnya

  • Memiliki akses Owner terhadap alur tugas jika mode kontrol instans adalah Flexible Management atau Stable Change. Persyaratan ini tidak berlaku untuk instans dalam mode Security Collaboration. Untuk detailnya, lihat Ikhtisar

Database yang didukung

Orkestrasi Tugas mendukung jenis database berikut:

Database relasional

  • MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL, PolarDB for Xscale, dan database MySQL dari sumber lain

  • SQL Server: ApsaraDB RDS for SQL Server, ApsaraDB MyBase for SQL Server, dan database SQL Server dari sumber lain

  • PostgreSQL: ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, ApsaraDB MyBase for PostgreSQL, dan database PostgreSQL dari sumber lain

  • OceanBase: ApsaraDB for OceanBase dalam mode MySQL, ApsaraDB for OceanBase dalam mode Oracle, dan database OceanBase yang dikelola sendiri

  • PolarDB for PostgreSQL (Compatible with Oracle)

  • Oracle

  • Dameng (DM)

  • Db2

Database NoSQL: Lindorm

Gudang data: AnalyticDB for MySQL, AnalyticDB for PostgreSQL, Data Lake Analytics (DLA), MaxCompute, Hologres

Penyimpanan objek: Object Storage Service (OSS)

Siapkan tabel sumber

Tutorial ini menggunakan tabel sumber bernama test. Jalankan pernyataan berikut untuk membuat tabel dan memasukkan data sampel:

-- Buat tabel sumber
CREATE TABLE test (
    `id` bigint(20) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'Primary key',
    `gmt_create` DATETIME NOT NULL COMMENT 'Creation time',
    `gmt_modified` DATETIME NOT NULL COMMENT 'Modification time',
    `content` TEXT COMMENT 'Test data'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Table for a task orchestration test';

-- Masukkan data sampel
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-01-01 01:00:00', '2020-01-01 01:00:00', 'value1');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-02-01 01:00:00', '2020-02-01 01:00:00', 'value2');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-03-01 01:00:00', '2020-03-01 01:00:00', 'value3');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-04-01 01:00:00', '2020-04-01 01:00:00', 'value4');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-05-01 01:00:00', '2020-05-01 01:00:00', 'value5');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-06-01 01:00:00', '2020-06-01 01:00:00', 'value6');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-07-01 01:00:00', '2020-07-01 01:00:00', 'value7');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-08-01 01:00:00', '2020-08-01 01:00:00', 'value8');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-09-01 01:00:00', '2020-09-01 01:00:00', 'value9');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-10-01 01:00:00', '2020-10-01 01:00:00', 'value10');

Anda dapat menjalankan pernyataan ini di tab SQLConsole di DMS atau dengan mengirimkan tiket perubahan data. Untuk detailnya, lihat Kelola database di tab SQLConsole dan Normal Data Modify.

Langkah 1: Buat alur tugas

  1. Masuk ke Konsol DMS V5.0.

  2. Di bilah navigasi atas, pilih All Features > Data + AI > Data Development > Task Orchestration.

    Jika Anda menggunakan mode normal Konsol DMS, arahkan kursor ke ikon di pojok kiri atas lalu pilih Data + AI > Data Development > Task Orchestration.
  3. Klik Create Task Flow.

  4. Di kotak dialog New Task Flow, masukkan Task Flow Name dan Description, lalu klik OK.

Langkah 2: Konfigurasikan variabel waktu

Alur tugas menggunakan dua variabel waktu sebagai kondisi filter SQL agar jendela pengarsipan secara otomatis mundur enam bulan relatif terhadap tanggal saat ini. Semua node dalam alur tugas dapat mereferensikan variabel ini menggunakan sintaksis ${variable_name}.

Di tab Variable Configuration di bagian bawah halaman, klik Task Flow Variable di panel kiri dan buat dua variabel berikut:

VariabelFormat waktuOffsetDeskripsiContoh (jika hari ini 27 Juni 2023)
yearmonth6_nameyyyy-MM-, 6, MonthBulan enam bulan sebelumnya, akurat hingga bulan2022-12
yearmonth6_dateyyyy-MM-01-, 6, MonthHari pertama bulan enam bulan sebelumnya, akurat hingga hari2022-12-01
  • yearmonth6_name digunakan sebagai akhiran dalam nama tabel arsip (misalnya, test_2022-12).

  • yearmonth6_date digunakan sebagai tanggal batas dalam klausa WHERE kedua node SQL.

Untuk sintaksis dan opsi variabel lengkap, lihat Variabel.

Langkah 3: Buat dan konfigurasikan node

Alur tugas memerlukan dua node Single Instance SQL: satu untuk memigrasikan data ke tabel arsip, dan satu lagi untuk menghapus baris yang telah dimigrasikan dari tabel sumber.

Buat node Migrate Data

Node ini membuat tabel arsip bulanan (jika belum ada) dan menyalin semua catatan yang berusia lebih dari enam bulan dari test ke dalamnya.

  1. Dari panel Task Type di sisi kiri kanvas, seret node Single Instance SQL ke kanvas.

  2. Klik kanan node tersebut dan pilih Rename. Masukkan Migrate Data sebagai nama node.

  3. Klik ganda node tersebut untuk membuka editor SQL.

  4. Pilih database Anda di kotak pencarian database dan masukkan SQL berikut:

    CREATE TABLE IF NOT EXISTS `test_${yearmonth6_name}` LIKE test;
    INSERT INTO `test_${yearmonth6_name}`
    SELECT * FROM `test`
    WHERE gmt_create < '${yearmonth6_date}';

    Pernyataan pertama membuat test_${yearmonth6_name} dengan skema yang sama seperti test, melewati pembuatan jika tabel sudah ada. Pernyataan kedua menyalin semua baris dengan tanggal gmt_create sebelum batas enam bulan ke tabel arsip.

  5. Klik Preview untuk memvalidasi pernyataan SQL.

Buat node Clear Historical Data

Node ini menghapus dari test semua baris yang telah disalin ke tabel arsip.

  1. Seret node Single Instance SQL lainnya ke kanvas.

  2. Klik kanan node tersebut dan pilih Rename. Masukkan Clear Historical Data sebagai nama node.

  3. Klik ganda node tersebut untuk membuka editor SQL.

  4. Pilih database Anda di kotak pencarian database dan masukkan SQL berikut:

    Peringatan

    Jalankan pernyataan DELETE selama jam sepi. Menghapus volume data besar dapat menahan kunci tabel dalam periode panjang dan mengganggu operasi lainnya.

    DELETE FROM `test` WHERE gmt_create < '${yearmonth6_date}';

    Pernyataan ini menghapus semua baris yang telah disalin ke tabel arsip, sehingga menjaga test bebas dari catatan yang berusia lebih dari enam bulan.

  5. Klik Preview untuk memvalidasi pernyataan SQL.

Langkah 4: Hubungkan node dan atur penjadwalan

Hubungkan node

Di kanvas, arahkan kursor ke node Migrate Data, klik lingkaran kosong di sisi kanannya, lalu seret garis koneksi ke node Clear Historical Data. Hal ini menentukan urutan eksekusi: Migrate Data dijalankan terlebih dahulu, lalu Clear Historical Data.

Konfigurasikan penjadwalan

  1. Di bagian bawah halaman, klik tab Task Flow Information.

  2. Di bagian Scheduling Settings, konfigurasikan parameter berikut:

    ParameterNilai
    Enable schedulingAktifkan
    Scheduling typeTimed Scheduling/Cyclic scheduling
    Effective time1970-01-01 – 9999-01-01 (default; jadwal berjalan tanpa batas)
    Scheduling cycleMonth
    Specified time1st of each month
    Specific point in time01:00
    Time zoneZona waktu pilihan Anda
    Cron expressionDihasilkan otomatis berdasarkan pengaturan di atas

    Contoh ini menjadwalkan alur tugas untuk berjalan pada pukul 01.00 di hari pertama setiap bulan. Sesuaikan pengaturan sesuai kebutuhan Anda. Untuk opsi lainnya, lihat Ikhtisar.

Langkah 5: Jalankan alur tugas dan verifikasi hasilnya

Jalankan uji coba

Klik Try Run di pojok kiri atas kanvas. Periksa output log:

  • status SUCCEEDED di baris terakhir: uji coba berhasil.

  • status FAILED di baris terakhir: uji coba gagal. Tinjau log untuk mengidentifikasi node mana yang gagal dan alasannya, perbaiki konfigurasi, lalu coba lagi.

Verifikasi hasilnya

Di tab SQLConsole, jalankan kueri untuk memastikan bahwa:

  • Catatan dengan gmt_create sebelum batas enam bulan telah disalin ke tabel arsip test_${yearmonth6_name}.

  • Catatan tersebut tidak lagi ada di tabel test.

Untuk detail cara melakukan kueri data, lihat Kelola database di tab SQLConsole.

Langkah selanjutnya

Referensi