全部产品
Search
文档中心

Data Management:Orkestrasi Tugas

更新时间:Jul 02, 2025

Topik ini menjelaskan cara memigrasikan data historis yang dihasilkan enam bulan lalu dari tabel sumber ke tabel tujuan menggunakan node SQL Instance Tunggal yang disediakan oleh fitur orkestrasi tugas Data Management (DMS). Setelah migrasi, data dihapus dari tabel sumber dan diarsipkan ke tabel tujuan.

Prasyarat

  • Instansi tempat Anda ingin menggunakan fitur orkestrasi tugas harus terdaftar dengan DMS. Untuk informasi lebih lanjut tentang cara mendaftarkan instansi ApsaraDB, lihat Daftarkan instansi basis data Alibaba Cloud.

  • Status instansi harus normal. Untuk memeriksa status instansi, buka halaman Beranda konsol DMS. Di panel navigasi sebelah kiri, arahkan pointer ke instansi yang ingin diperiksa, lalu lihat status instansi dari tip yang muncul.

  • Jenis basis data berikut didukung:

    Jenis Basis Data yang Didukung

    • Basis Data Relasional:

      • MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL, PolarDB for Xscale, dan basis data MySQL dari sumber lainnya.

      • SQL Server: ApsaraDB RDS for SQL Server, ApsaraDB MyBase for SQL Server, dan basis data SQL Server dari sumber lainnya.

      • PostgreSQL: ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, ApsaraDB MyBase for PostgreSQL, dan basis data PostgreSQL dari sumber lainnya.

      • OceanBase: ApsaraDB for OceanBase dalam mode MySQL, ApsaraDB for OceanBase dalam mode Oracle, dan basis data OceanBase yang dikelola sendiri.

      • PolarDB for PostgreSQL (Kompatibel dengan Oracle).

      • Oracle.

      • Dameng (DM).

      • Db2.

    • Basis Data NoSQL: Lindorm.

    • Gudang Data:

      • AnalyticDB for MySQL.

      • AnalyticDB for PostgreSQL.

      • Data Lake Analytics (DLA).

      • MaxCompute.

      • Hologres.

    • Penyimpanan Objek: Object Storage Service (OSS).

Catatan Penggunaan

Jika mode kontrol instansi adalah Manajemen Fleksibel atau Perubahan Stabil, pastikan Anda adalah pemilik alur tugas yang ingin Anda edit. Jika tidak, alur tugas mungkin gagal setelah Anda mengedit konfigurasi node alur tugas tersebut. Jika mode kontrol instansi adalah Kolaborasi Keamanan, persyaratan ini tidak diperlukan. Untuk informasi lebih lanjut tentang cara menentukan pemilik alur tugas, lihat Ikhtisar.

Persiapan

Dalam contoh ini, tabel sumber bernama test digunakan. Anda dapat mengeksekusi pernyataan berikut untuk membuat tabel test dan menyisipkan data ke dalam tabel test:

-- Buat tabel.
CREATE TABLE test (
    `id` bigint(20) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'Kunci utama',
      `gmt_create` DATETIME NOT NULL COMMENT 'Waktu pembuatan',
      `gmt_modified` DATETIME NOT NULL COMMENT 'Waktu modifikasi',
    `content` TEXT COMMENT 'Data uji'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Tabel untuk pengujian orkestrasi tugas';

-- Masukkan data ke dalam tabel.
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 juga dapat membuat tabel test pada tab SQLConsole DMS atau dengan mengirimkan tiket perubahan data. Untuk informasi lebih lanjut, lihat bagian "Buat tabel" dari topik Kelola basis data pada tab SQLConsole dan topik Modifikasi Data Normal.

Prosedur

Langkah 1: Buat alur tugas

  1. Masuk ke Konsol DMS V5.0.
  2. Di bilah navigasi atas, pilih All Fteatures > Data + AI > Data Development > Task Orchestration.

    Catatan

    Jika Anda menggunakan konsol DMS dalam mode normal, arahkan pointer ke ikon 2022-10-21_15-25-22.png di sudut kiri atas dan pilih Data + AI > Data Development > Task Orchestration.

  3. Di halaman yang muncul, klik Create Task Flow.

  4. Di kotak dialog New Task Flow, tentukan parameter Task Flow Name dan Description. Lalu, klik OK.

Langkah 2: Konfigurasikan variabel alur tugas

Variabel alur tugas adalah variabel waktu. Anda dapat menggunakan variabel dalam semua node dalam format ${Nama Variabel}. Contoh ini menjelaskan cara mengonfigurasi variabel waktu sebagai kondisi filter dalam pernyataan SQL untuk secara berkala memigrasikan data historis yang dihasilkan enam bulan lalu di tabel test.

Dalam contoh ini, variabel yearmonth6_name dan yearmonth6_date dibuat.

Di bagian bawah halaman, klik tab Variable Configuration. Di panel sebelah kiri, klik Task Flow Variable.

  • Buat variabel yearmonth6_name. Atur parameter Format Waktu menjadi yyyy-MM. Tentukan -, 6, and Month di bidang di bawah parameter Format Waktu.

    Ini menentukan bulan yang enam bulan sebelum bulan saat ini. Nilainya akurat hingga bulan. Jika tanggal saat ini adalah 27 Juni 2023, nilai variabelnya adalah 2022-12.

  • Buat variabel yearmonth6_date. Atur parameter Format Waktu menjadi yyyy-MM-01. Tentukan -, 6, and Month di bidang di bawah parameter Format Waktu.

    Ini menentukan hari pertama bulan yang enam bulan sebelum bulan saat ini. Nilainya akurat hingga hari. Jika tanggal saat ini adalah 27 Juni 2023, nilai variabelnya adalah 2022-12-01.

Untuk informasi tentang aturan dan penggunaan variabel, lihat Variabel.

Langkah 3: Buat dan konfigurasikan node dalam alur tugas

  • Buat Node untuk Memigrasi Data

    1. Dari daftar jenis node di sebelah kiri bagian Jenis Tugas pada halaman Task Orchestration, seret node Single Instance SQL ke area kosong di kanvas.

    2. Klik kanan node. Di menu pintasan yang muncul, klik Rename untuk mengganti nama node menjadi Migrasi Data.

    3. Klik dua kali node untuk masuk ke halaman penulisan pernyataan SQL.

    4. Cari basis data yang diinginkan di kotak pencarian basis data dan masukkan pernyataan SQL berikut di editor SQL:

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

      Pernyataan di atas digunakan untuk membuat tabel bernama test_${yearmonth6_name} untuk mengarsipkan data historis di basis data saat ini dan memigrasikan data historis yang memenuhi persyaratan tanggal dari tabel test ke tabel test_${yearmonth6_name}.

    5. Klik Preview untuk memeriksa validitas pernyataan SQL.

  • Buat Node untuk Membersihkan Data Historis

    1. Dari daftar jenis node di sebelah kiri bagian Jenis Tugas pada halaman Task Orchestration, seret node Single Instance SQL ke area kosong di kanvas.

    2. Klik kanan node. Di menu pintasan yang muncul, klik Rename untuk mengganti nama node menjadi Hapus Data Historis.

    3. Klik dua kali node untuk masuk ke halaman penulisan pernyataan SQL.

    4. Cari basis data yang diinginkan di kotak pencarian basis data dan masukkan pernyataan SQL berikut di editor SQL:

      Peringatan

      Untuk menghapus sejumlah besar data, kami sarankan Anda menggunakan node Single Instance SQL untuk mengeksekusi pernyataan DELETE selama jam non-puncak. Ini membantu mencegah gangguan bisnis yang disebabkan oleh penguncian tabel jangka panjang.

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

      Pernyataan di atas digunakan untuk menghapus data yang telah dimigrasi dari tabel test.

    5. Klik Preview untuk memeriksa validitas pernyataan SQL.

Langkah 4: Hubungkan node dan konfigurasikan informasi penjadwalan

  1. Di kanvas, arahkan pointer ke node Migrasi Data, klik lingkaran kosong di sebelah kanan, lalu tarik garis koneksi ke node Hapus Data Historis.

    Catatan

    Anda dapat menentukan urutan eksekusi node dengan menyeret garis koneksi. Dalam contoh ini, node Migrasi Data dijalankan sebelum node Hapus Data Historis.

  2. Di bagian bawah halaman, klik tab Task Flow Information. Di bagian Scheduling Settings, konfigurasikan parameter berikut.

    Parameter

    Contoh

    Enable Scheduling

    Menentukan apakah akan mengaktifkan fitur penjadwalan. Nyalakan Enable Scheduling.

    Scheduling Type

    Jenis penjadwalan. Pilih Timed Scheduling/Cyclic scheduling.

    Effective Time

    Periode selama properti penjadwalan berlaku. Nilai default adalah 1970-01-01 - 9999-01-01, yang menunjukkan bahwa properti penjadwalan berlaku secara permanen.

    Scheduling Cycle

    Siklus penjadwalan: Pilih Month.

    Specified Time

    Waktu ketika properti penjadwalan berlaku. Pilih 1st of each month.

    Specific Point in Time

    Titik waktu spesifik ketika properti penjadwalan berlaku. Atur parameter ini ke 01:00.

    Time Zone

    Zona waktu berdasarkan sistem menjadwalkan tugas.

    Cron Expression

    Ekspresi CRON, yang dihasilkan secara otomatis berdasarkan siklus penjadwalan dan pengaturan waktu yang ditentukan.

    Catatan

    Dalam contoh ini, alur tugas dijadwalkan berjalan pada 01:00 di hari pertama setiap bulan. Anda dapat menjadwalkan alur tugas untuk berjalan sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Ikhtisar.

Langkah 5: Jalankan alur tugas dan verifikasi hasilnya

  1. Klik Try Run di pojok kiri atas kanvas.

    • Jika status SUCCEEDED muncul di baris terakhir log, uji coba berhasil.

    • Jika status FAILED muncul di baris terakhir log, uji coba gagal.

      Catatan

      Jika uji coba gagal, lihat node tempat kegagalan terjadi dan alasan kegagalannya di log. Lalu, ubah konfigurasi node dan coba lagi.

  2. Pergi ke tab SQLConsole untuk memeriksa apakah data historis di tabel test dimigrasikan ke tabel tuakan dan apakah data yang dimigrasikan dihapus dari tabel test. Untuk informasi lebih lanjut, lihat bagian "Kueri data" dari topik Kelola basis data pada tab SQLConsole.