AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, Edisi Data Lakehouse, dan Edisi Data Warehouse mendukung fitur orkestrasi tugas Data Management (DMS) untuk mengorkestrasikan, menjadwalkan, mengelola, dan memantau tugas AnalyticDB for MySQL. Topik ini menjelaskan cara menggunakan DMS untuk mengembangkan dan menjadwalkan tugas.
Informasi latar belakang
Tantangan dan kebutuhan penjadwalan event
Penjadwal event database tradisional, seperti MySQL Event Scheduler, sangat andal tetapi memiliki beberapa keterbatasan:
Persyaratan teknis tinggi: Anda harus memahami sintaks SQL khusus untuk mendefinisikan event, seperti
CREATE EVENTdanALTER EVENT. Konfigurasi tidak dapat diselesaikan melalui antarmuka pengguna yang sederhana.Ketergantungan kuat pada kernel database: Kernel harus mendukung penjadwal event, dan penjadwal tersebut harus diaktifkan.
Hanya terbatas pada satu database: Penjadwalan hanya dapat dilakukan untuk satu database. Anda tidak dapat menjadwalkan event lintas database berbeda atau mengintegrasikannya dengan alat lain.
Sulit dilacak: Anda tidak dapat melihat status eksekusi, riwayat, atau waktu proses event yang dijadwalkan.
O&M sulit: Anda tidak dapat menjeda atau menjalankan ulang event. Jika suatu event gagal, Anda tidak dapat memulihkannya.
Tidak ada notifikasi: Sistem tidak mengirimkan notifikasi mengenai status event (berhasil atau gagal) melalui pesan teks atau email.
Solusi: Orkestrasi tugas DMS
Fitur orkestrasi tugas DMS mengatasi masalah-masalah tersebut. Fitur ini merupakan sistem orkestrasi dan penjadwalan tugas eksternal serta independen yang tidak bergantung pada kemampuan penjadwalan event dari kernel database. Fitur orkestrasi tugas memiliki karakteristik berikut:
Mendukung berbagai mesin database, seperti MySQL, Oracle, PostgreSQL, dan SQL Server, serta berbagai alat ekosistem untuk migrasi data, pencadangan, dan analisis lintas database. Hal ini memungkinkan fungsionalitas gabungan dan interaksi antara database dan produk yang berbeda.
Menyediakan editor visual. Anda dapat membuat tugas penjadwalan dengan menyeret dan melepas node serta melakukan konfigurasi sederhana.
Mendukung berbagai metode notifikasi, seperti DingTalk, pesan teks, dan email.
Mendukung berbagai operasi O&M, seperti menjeda, menghentikan, dan menjalankan ulang tugas.
Data sampel
Topik ini menggunakan database bernama adb_test. Tiga tabel dibuat dalam database tersebut: orders, finish_orders, dan large_finish_orders. Kode berikut menunjukkan data sampel:
create database adb_test;
create table orders(
order_id bigint not null COMMENT 'Order ID',
order_status varchar not null COMMENT 'Status pesanan',
total_price decimal(15,2) not null COMMENT 'Total harga',
order_date date not null COMMENT 'Tanggal pesanan',
PRIMARY KEY (order_id)
);
create table finish_orders(
order_id bigint not null COMMENT 'Order ID',
total_price decimal(15,2) not null COMMENT 'Status pesanan',
order_date date not null COMMENT 'Total harga',
PRIMARY KEY (order_id)
);
create table large_finish_orders(
order_id bigint not null COMMENT 'Order ID',
total_price decimal(15,2) not null COMMENT 'Status pesanan',
order_date date not null COMMENT 'Total harga',
PRIMARY KEY (order_id)
); Deskripsi proses
Topik ini menjelaskan proses penjadwalan pekerjaan menggunakan kluster AnalyticDB for MySQL Edisi Data Warehouse sebagai contoh. Anda dapat menggunakan fitur orkestrasi tugas Data Management Service (DMS) untuk menyaring pesanan yang telah selesai dengan jumlah lebih dari 10.000 USD dari tabel orders dalam database AnalyticDB for MySQL.
Langkah | Deskripsi |
Buat alur tugas. | |
Buat dua node tugas berikut dalam alur tugas:
| |
Aktifkan tugas dan konfigurasikan agar berjalan secara berkala. |
Langkah 1: Tambahkan alur tugas baru
Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih Wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.
Di panel navigasi sebelah kiri, pilih .
CatatanJika ini pertama kalinya Anda menggunakan fitur manajemen aset data untuk masuk ke database AnalyticDB for MySQL dari konsol DMS, Anda harus memasukkan informasi login database. Untuk informasi selengkapnya, lihat Masuk ke database.
Jika sebelumnya Anda pernah masuk ke database kluster AnalyticDB for MySQL di mode Flexible Management atau Stable Change dan Anda tidak memilih Remember Password, sebuah kotak dialog akan muncul setelah Anda masuk ke konsol DMS. Anda harus memasukkan kata sandi akun database untuk melakukan operasi selanjutnya. Untuk informasi selengkapnya mengenai mode kontrol, lihat Mode kontrol.
Fitur manajemen data end-to-end tidak didukung untuk kluster AnalyticDB for MySQL di wilayah Indonesia (Jakarta).
Di bilah menu atas, pilih DTS.
Di panel navigasi sebelah kiri, pilih .
Tambahkan alur tugas baru. Dalam contoh ini, alur tugas diberi nama Order Filtering.
Di halaman Orkestrasi Tugas, klik Create Task Flow.
Di kotak dialog New Task Flow, atur parameter Task Flow Name dan Description, lalu klik OK.
Langkah 2: Buat node tugas
Di halaman orkestrasi tugas Order Filtering, buat dan konfigurasikan dua node tugas:
Order Cleansing
Di panel sebelah kiri, pilih Single Instance SQL dan seret ke Kanvas.
Pilih node tugas baru tersebut, lalu klik ikon
untuk mengganti namanya menjadi Order Cleansing.Klik ganda node tugas tersebut atau klik ikon
untuk mengedit node tugas.Dari daftar drop-down database, pilih database target.
Di editor di bawah daftar drop-down database, masukkan Pernyataan SQL berikut dan klik Save:
insert into finish_orders select order_id,total_price,order_date from orders where order_status = 'F';CatatanJika Anda memilih Automatic Save, Pernyataan SQL akan disimpan secara otomatis.
Large Order Generation
Di panel sebelah kiri, pilih Single Instance SQL dan seret ke Kanvas.
Pilih node tugas baru tersebut, lalu klik ikon
untuk mengganti namanya menjadi Large Order Generation.Klik ganda node tugas tersebut atau klik ikon
untuk mengedit node tugas.Dari daftar drop-down database, pilih database target.
Di editor kode, masukkan Pernyataan SQL berikut dan klik Save:
insert into large_finish_orders select order_id,total_price,order_date from finish_orders where total_price > 10000;CatatanJika Anda memilih Automatic Save, Pernyataan SQL akan disimpan secara otomatis.
Di kanvas alur tugas, arahkan pointer ke node
Order Cleansing. Klik lingkaran di sisi kanan node tersebut dan seret garis ke nodeLarge Order Generation. Hal ini menghubungkan kedua node tugas dan membuat dependensi dalam alur tugas.
Langkah 3: Konfigurasi penjadwalan alur tugas
Di bagian Scheduling Configuration di bawah kanvas alur tugas, aktifkan sakelar Enable Scheduling dan konfigurasikan parameter-parameter tersebut.
CatatanDalam contoh ini, tugas penjadwalan diatur untuk berjalan secara berkala pada pukul 01.00 setiap hari dari 1 Februari 2023 hingga 28 Februari 2023. Anda juga dapat menyesuaikan tugas penjadwalan sesuai kebutuhan. Untuk informasi selengkapnya mengenai parameter penjadwalan, lihat Konfigurasi penjadwalan.
Publikasikan alur tugas.
Di pojok kiri atas kanvas, klik Publish.
Di kotak dialog Publish, atur parameter Remarks dan klik Publish.
Lihat status alur tugas.
Di pojok kanan atas kanvas, klik Go to O&M.
Di sisi kanan halaman, periksa nilai parameter Released.
Published: Alur tugas telah dipublikasikan.
Not published: Alur tugas belum dipublikasikan.