AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, dan Edisi Data Lakehouse serta Edisi Data Warehouse semuanya mendukung fitur orkestrasi tugas DMS untuk mengorkestrasikan, menjadwalkan, mengelola, dan memantau tugas AnalyticDB for MySQL. Topik ini menjelaskan cara menggunakan DMS untuk pengembangan dan penjadwalan tugas.
Informasi latar belakang
-
Tantangan: penjadwalan event
Penjadwalan event database tradisional, seperti MySQL Event Scheduler, memiliki kemampuan yang kuat tetapi juga beberapa keterbatasan:
-
Hambatan masuk tinggi: Pengguna harus menguasai sintaks SQL khusus untuk definisi event (
CREATE EVENTdanALTER EVENT) dan tidak dapat mengonfigurasi event melalui antarmuka yang sederhana. -
Ketergantungan kuat pada kernel database: Kernel harus mendukung dan mengaktifkan event scheduler.
-
Hanya terbatas pada satu database: Penjadwalan hanya dapat dilakukan untuk satu database dan tidak dapat dikoordinasikan dengan database atau alat lainnya.
-
Sulit dilacak: Pengguna tidak dapat melihat status eksekusi, riwayat eksekusi, atau waktu proses event yang dijadwalkan.
-
Sulit dipelihara: Pengguna tidak dapat menjeda atau menjalankan ulang event, dan event yang gagal tidak dapat dipulihkan.
-
Tidak ada notifikasi: Status eksekusi event (sukses atau gagal) tidak dapat dikirimkan secara proaktif kepada pengguna melalui SMS, email, atau saluran lainnya.
-
-
Solusi: orkestrasi tugas DMS
Fitur orkestrasi tugas DMS mengatasi permasalahan di atas. Fitur ini tidak bergantung pada kemampuan penjadwalan event dari kernel database, melainkan merupakan sistem orkestrasi dan penjadwalan tugas eksternal yang independen. Fitur utamanya meliputi:
-
Mendukung berbagai engine database (MySQL, Oracle, PostgreSQL, SQL Server, dan lainnya) serta berbagai alat ekosistem (migrasi data, backup, analisis lintas database, dan lainnya) untuk mengaktifkan alur kerja lintas database dan lintas produk.
-
Menyediakan antarmuka pengeditan visual tempat Anda dapat membuat tugas penjadwalan melalui operasi drag-and-drop dan konfigurasi sederhana.
-
Mendukung berbagai mekanisme notifikasi seperti DingTalk, SMS, dan email.
-
Mendukung berbagai operasi O&M seperti pause, terminate, dan rerun.
-
Data contoh
Pada contoh ini, nama database adalah adb_test. Tiga tabel dibuat dalam database ini: orders, finish_orders, dan large_finish_orders.
create database adb_test;
create table orders(
order_id bigint not null comment'ID pesanan',
order_status varchar not null comment'status pesanan',
total_price decimal(15,2) not null comment'harga total',
order_date date not null comment'tanggal pesanan',
PRIMARY KEY (order_id)
);
create table finish_orders(
order_id bigint not null comment'ID pesanan',
total_price decimal(15,2) not null comment'status pesanan',
order_date date not null comment'harga total',
PRIMARY KEY (order_id)
);
create table large_finish_orders(
order_id bigint not null comment'ID pesanan',
total_price decimal(15,2) not null comment'status pesanan',
order_date date not null comment'harga total',
PRIMARY KEY (order_id)
);
Ikhtisar
Topik ini menggunakan kluster AnalyticDB for MySQL Edisi Data Warehouse sebagai contoh untuk menjelaskan proses penjadwalan pekerjaan. Anda menggunakan fitur orkestrasi tugas DMS untuk menyaring pesanan yang telah selesai dengan jumlah pesanan lebih dari 10.000 USD dari tabel orders dalam database AnalyticDB for MySQL.
|
Langkah |
Deskripsi |
|
Buat alur tugas. |
|
|
Pada langkah ini, buat dua node tugas berikut dalam alur tugas target:
|
|
|
Aktifkan tugas target dan konfigurasikan agar dijalankan secara berkala. |
Langkah 1: Buat alur tugas
-
Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas, pilih wilayah tempat kluster berada. Di panel navigasi kiri, klik Clusters. Temukan kluster target dan klik ID kluster tersebut.
-
Di panel navigasi kiri, pilih .
Catatan-
Jika ini pertama kalinya Anda masuk ke database kluster AnalyticDB for MySQL melalui DMS (versi baru) untuk menggunakan fitur manajemen aset data, Anda harus memasukkan informasi login database terlebih dahulu. Untuk informasi selengkapnya, lihat Login ke database.
-
Jika Anda sebelumnya pernah masuk ke database kluster AnalyticDB for MySQL dan mode kontrol kluster diatur ke Flexible Management atau Stable Change, tetapi Anda tidak memilih Remember Password saat memasukkan informasi login database, setelah Anda membuka Konsol DMS, Anda harus memasukkan kata sandi akun database target di kotak dialog yang muncul sebelum dapat melanjutkan. Untuk informasi selengkapnya tentang mode kontrol, lihat Mode kontrol.
-
Fitur unified data management tidak didukung untuk kluster AnalyticDB for MySQL di wilayah Indonesia (Jakarta).
-
-
Di bilah menu atas, pilih Integration & Development (DTS).
-
Di panel navigasi kiri, pilih .
-
Buat alur tugas baru. Pada contoh ini, alur tugas diberi nama Order Filtering.
-
Klik Create Task Flow.
-
Di kotak dialog New Task Flow, masukkan Task Flow Name dan Description, lalu klik OK.
-
Langkah 2: Buat node tugas
-
Di halaman orkestrasi tugas untuk Order Filtering, buat dan konfigurasikan dua node tugas berikut:
-
Order Cleansing
-
Di panel kiri, pilih Single Instance SQL dan seret ke kanvas kosong di sebelah kanan.
-
Pilih node tugas yang baru ditambahkan dan klik ikon
untuk mengganti namanya menjadi Order Cleansing. -
Klik ganda node tugas atau klik ikon
untuk mengedit node tugas tersebut. -
Pilih database target dari daftar drop-down database.
-
Di kotak dialog di bawah database target, masukkan pernyataan tugas dan klik Save. Pernyataannya adalah sebagai berikut:
insert into finish_orders select order_id,total_price,order_date from orders where order_status = 'F';CatatanJika Auto Save dipilih, pernyataan SQL akan disimpan secara otomatis setelah Anda memasukkannya.
-
-
Large Order Generation
-
Di panel kiri, pilih Single Instance SQL dan seret ke kanvas kosong di sebelah kanan.
-
Pilih node tugas yang baru ditambahkan dan klik ikon
untuk mengganti namanya menjadi Large Order Generation. -
Klik ganda node tugas atau klik ikon
untuk mengedit node tugas tersebut. -
Pilih database target dari daftar drop-down database.
-
Di kotak dialog di bawah database target, masukkan pernyataan tugas dan klik Save. Pernyataannya adalah sebagai berikut:
insert into large_finish_orders select order_id,total_price,order_date from finish_orders where total_price > 10000;CatatanJika Auto Save dipilih, pernyataan SQL akan disimpan secara otomatis setelah Anda memasukkannya.
-
-
-
Di kanvas alur tugas, arahkan kursor ke node
Order Cleansing. Klik lingkaran kecil di sisi kanan node dan seret garis koneksi ke nodeLarge Order Generationuntuk membuat dependensi antara kedua node tugas tersebut.
Langkah 3: Konfigurasi penjadwalan alur tugas
-
Di bagian Scheduling Settings di bawah kanvas alur tugas, aktifkan sakelar Enable Scheduling dan konfigurasikan parameter terkait.
CatatanPada contoh ini, tugas penjadwalan diatur untuk dijalankan setiap hari pukul 01.00 dari 2023-02-01 hingga 2023-02-28. Anda juga dapat menyesuaikan tugas penjadwalan sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya tentang parameter konfigurasi penjadwalan, lihat Konfigurasi penjadwalan.
-
Publikasikan alur tugas.
-
Klik Publish di pojok kiri atas kanvas.
-
Di kotak dialog Publish, masukkan informasi Remarks dan klik OK untuk mempublikasikan alur tugas.
-
-
Konfirmasi status publikasi.
-
Klik Go to O&M di atas kanvas.
-
Di sisi kanan halaman, periksa publication status alur tugas.
-
Published: Alur tugas berada dalam status dipublikasikan.
-
Unpublished: Alur tugas berada dalam status belum dipublikasikan.
-
-