All Products
Search
Document Center

PolarDB:Tulis hasil inferensi model AI kembali ke database

Last Updated:Mar 28, 2026

Menjalankan inferensi AI pada data di luar database Anda memerlukan pipeline terpisah untuk mengekspor data, memberi skor, lalu memuat kembali hasilnya. PolarDB for AI menghilangkan kebutuhan tersebut dengan memungkinkan inferensi langsung di dalam PolarDB for MySQL dan menyimpan output-nya sebagai tabel yang dapat dikueri.

Output tersebut disimpan dalam AI-augmented table (AAT)—sebuah tabel yang satu atau beberapa kolomnya berisi hasil inferensi dari model AI. AAT didukung oleh Object Storage Service (OSS), bukan mesin penyimpanan utama, sehingga mencegah model AI menulis data ke database secara frekuen. Setelah dihasilkan, AAT berperilaku seperti tabel eksternal lainnya: dapat dikueri menggunakan SELECT, digabungkan (join) dengan tabel yang sudah ada, serta difilter atau diagregasikan berdasarkan kolom-kolomnya. Sebagai contoh, Anda dapat dengan mudah mengelompokkan pengguna, memprediksi jumlah penjualan, dan memperoleh konten yang dihasilkan AI menggunakan data yang tersimpan di AAT.

Contoh: Tabel berikut berisi catatan penerbangan dengan atribut seperti maskapai, rute, dan waktu keberangkatan.

Gambar 1. Tabel asli

image.png

AAT menambahkan kolom result yang berisi prediksi dari model—dalam kasus ini, apakah suatu penerbangan kemungkinan besar mengalami keterlambatan.

Gambar 2. AAT dengan hasil inferensi AI

image.png

Sebelum memulai

Sebelum memulai, pastikan hal-hal berikut:

  • Arsip data dingin telah diaktifkan pada kluster PolarDB for MySQL Anda. AAT disimpan sebagai tabel eksternal OSS, yang memerlukan fitur ini. Lihat Aktifkan arsip data dingin.

  • Database bernama polar4ai telah tersedia dengan set karakter utf8mb4. AAT secara otomatis ditulis ke database ini. Akun database harus sesuai dengan akun yang digunakan oleh PolarDB for AI dan memiliki izin baca serta tulis. Lihat Buat database.

Buat AAT dari model AI

Langkah-langkah berikut menjelaskan contoh lengkap: melatih model LightGBM pada data penerbangan, menjalankan tugas prediksi offline, dan mengkueri hasilnya.

Langkah 1: Buat model

Jalankan pernyataan berikut untuk melatih model LightGBM bernama airlines_gbm_copy1 pada tabel airlines_train:

/*polar4ai*/
CREATE MODEL airlines_gbm_copy1
WITH (model_class='lightgbm',
  x_cols ='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',
  y_cols='Delay',
  model_parameter=(boosting_type='gbdt', n_estimators=100,
                   max_depth=8, num_leaves=256))
AS (SELECT * FROM airlines_train)

Langkah 2: Konfirmasi bahwa model telah terdaftar

/*polar4ai*/SHOW MODELS;

Output mencantumkan semua model yang terdaftar di database:

image.png

Langkah 3: Jalankan tugas prediksi offline untuk menghasilkan AAT

Kirimkan tugas prediksi menggunakan model yang telah dilatih:

/*polar4ai*/SELECT TripID,Delay
FROM
  PREDICT (
    MODEL airlines_gbm_copy1,
      SELECT * FROM airlines_train_1000_copy1)
WITH
   (s_cols='TripID,Delay',
    x_cols = 'Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',
    y_cols='Delay',
    primary_key='TripID', mode='async',into_type='db')
INTO lightgbm_v2_predict82201;

Parameter utama dalam pernyataan ini:

ParameterNilaiPenjelasan
modeasyncMenjalankan tugas secara asinkron. Inferensi skala besar dapat memakan waktu signifikan—menjalankannya secara sinkron akan memblokir koneksi Anda selama proses berlangsung.
into_typedbMenulis output ke tabel yang dapat diakses database. Gunakan db saat Anda perlu mengkueri atau menggabungkan hasilnya dengan SQL.
primary_keyTripIDMenetapkan kunci utama untuk AAT yang dihasilkan.

Setelah dieksekusi, ID tugas akan dikembalikan. Contohnya: babc6d66-xxxx-yyyy-a4b8-1b1426ce8614.

lightgbm_v2_predict82201 adalah nama AAT yang akan dibuat secara otomatis.

Langkah 4: Periksa status tugas

Gunakan ID tugas untuk memantau progres. Saat statusnya finish, model telah menyelesaikan inferensi dan AAT siap dikueri.

/*polar4ai*/SHOW TASK `babc6d66-xxxx-yyyy-a4b8-1b1426ce8614`
image.png

Langkah 5: Periksa skema AAT

SHOW CREATE TABLE polar4ai.lightgbm_v2_predict82201;

Output:

CREATE TABLE `lightgbm_v2_predict82201` (
 `TripID` bigint(20) NOT NULL,
 `Delay` bigint(20) DEFAULT NULL,
 `result` text,
 PRIMARY KEY (`TripID`)
) ENGINE=CSV DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci /*!99990 800020204 NULL_MARKER='NULL' */ CONNECTION='default_oss_server'

Kolom TripID dan Delay mencerminkan tipe dan panjang dari tabel asli. Kolom result berisi output inferensi model. Entri ENGINE=CSV dan CONNECTION='default_oss_server' mengonfirmasi bahwa tabel ini merupakan tabel eksternal yang didukung OSS.

Langkah 6: Kueri AAT

SELECT * FROM polar4ai.lightgbm_v2_predict82201 LIMIT 1000;
image.png

Kolom result berisi hasil prediksi beserta nilai probabilitasnya.

Langkah 7: Gabungkan AAT dengan tabel lain

AAT berfungsi seperti tabel biasa. Gabungkan dengan dataset asli untuk memfilter dan menganalisis hasil:

SELECT * FROM
airlines_train_1000_copy1, polar4ai.lightgbm_v2_predict82204
WHERE
airlines_train_1000_copy1.TripID=polar4ai.lightgbm_v2_predict82204.TripID
AND
airlines_train_1000_copy1.Delay=1
image.png

Batasan

  • AAT disimpan sebagai tabel eksternal OSS, bukan di mesin penyimpanan utama.

  • Database polar4ai harus menggunakan set karakter utf8mb4. Set karakter lain tidak didukung untuk penyimpanan AAT.

  • Akun database yang digunakan untuk membuat dan mengkueri AAT harus sesuai dengan akun yang dikonfigurasi untuk PolarDB for AI dan memiliki izin baca serta tulis eksplisit.