全部产品
Search
文档中心

Hologres:Komputasi tanpa server adaptif

更新时间:Feb 07, 2026

Saat menjalankan tugas baca dan tulis menggunakan resource komputasi tanpa server, beberapa permintaan bersifat tidak terduga. Permintaan ini dapat langsung menghabiskan resource komputasi Anda dan memengaruhi tugas lainnya. Hologres terus mengembangkan fitur cerdas untuk mengatasi masalah tersebut. Mulai dari V3.1, Hologres mendukung isolasi tugas besar adaptif. Mulai dari V4.1, Hologres mendukung isolasi beban adaptif. Fitur-fitur ini secara otomatis mengidentifikasi tugas besar dan menjalankannya secara dinamis menggunakan resource tanpa server, sehingga meningkatkan stabilitas sistem dan pemanfaatan resource.

Hologres memungkinkan Anda menjalankan tugas baca dan tulis menggunakan resource komputasi tanpa server. Anda dapat menentukan aturan routing untuk pernyataan SQL, pengguna, atau antrian kueri guna mengarahkan tugas yang telah diketahui ke resource tanpa server. Namun, dalam skenario produksi, beberapa permintaan baca dan tulis bersifat tidak terduga. Anda mungkin tidak mengetahui apakah permintaan tersebut akan mengonsumsi resource komputasi secara berlebihan, pengguna mana yang akan memulainya, atau seperti apa fitur klasifikasinya. Permintaan ini dapat langsung menghabiskan seluruh resource komputasi gudang virtual, sehingga memengaruhi permintaan baca dan tulis lainnya.

Untuk mengatasi skenario ini, Hologres terus meningkatkan kemampuan cerdasnya guna mendukung komputasi tanpa server adaptif.

  • Mulai dari V3.1, Hologres mendukung isolasi tugas besar adaptif. Sistem secara otomatis mengidentifikasi "tugas besar" dan menjalankannya menggunakan resource tanpa server.

  • Mulai dari V4.1, Hologres mendukung isolasi beban adaptif. Sistem secara otomatis menyesuaikan ambang batas untuk "tugas besar" berdasarkan beban saat ini dan hanya menjalankan tugas besar pada resource tanpa server ketika beban tinggi. Fitur ini tidak berpengaruh saat beban rendah.

Cara kerja

Seperti dijelaskan dalam Jumlah resource tanpa server yang digunakan oleh suatu pernyataan SQL, jumlah resource tanpa server ditentukan oleh nilai minimum dari Kuota, Max Cores, dan Required Cores. Hologres dapat secara otomatis memperkirakan Required Cores dan menentukan jumlah optimal resource komputasi tanpa server untuk suatu pernyataan SQL berdasarkan faktor-faktor seperti kompleksitas SQL dan volume data tabel terkait.

Berdasarkan jumlah resource optimal yang diperkirakan secara otomatis oleh Hologres untuk suatu pernyataan SQL, Anda dapat menetapkan ambang batas resource. Pernyataan SQL yang melebihi ambang batas ini didefinisikan sebagai "tugas besar." Hal ini memungkinkan skenario komputasi tanpa server adaptif berikut:

  • Isolasi tugas besar adaptif: Anda menetapkan ambang batas resource untuk "tugas besar." Semua "tugas besar" secara otomatis dijalankan pada resource tanpa server.

  • Isolasi beban adaptif: Sistem secara dinamis menyesuaikan ambang batas resource untuk "tugas besar" berdasarkan beban dan hanya menjalankan "tugas besar" pada resource tanpa server ketika beban tinggi.

Hologres mendukung dua jenis ambang batas resource kustom: ambang batas rasio dan ambang batas absolut. Suatu pernyataan SQL secara otomatis dijalankan pada resource tanpa server hanya jika nilai Required Cores yang diperkirakan sistem melebihi kedua ambang batas tersebut: Required Cores > max(ambang batas rasio, ambang batas absolut). Untuk fitur isolasi tugas besar adaptif, Anda dapat mengubah kedua ambang batas ini.

  • hg_adaptive_serverless_computing_min_resource_ratio_threshold: Koefisien ambang batas rasio. Nilai default adalah 0,3. Untuk instans gudang virtual, ambang batas rasio adalah koefisien ambang batas rasio × resource komputasi gudang virtual. Untuk instans serbaguna, ambang batas rasio adalah koefisien ambang batas rasio × resource komputasi instans.

  • hg_adaptive_serverless_computing_min_cores_threshold: Ambang batas absolut. Nilai default adalah 256, dalam satuan CU.

-- Ubah pada tingkat session
SET hg_adaptive_serverless_computing_min_resource_ratio_threshold = 0.3;
SET hg_adaptive_serverless_computing_min_cores_threshold = 256;

-- Ubah pada tingkat pengguna
ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_adaptive_serverless_computing_min_resource_ratio_threshold = 0.3;
ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_adaptive_serverless_computing_min_cores_threshold = 256;

-- Ubah pada tingkat DB
ALTER DATABASE <db_name> SET hg_adaptive_serverless_computing_min_resource_ratio_threshold = 0.3;
ALTER DATABASE <db_name> SET hg_adaptive_serverless_computing_min_cores_threshold = 256;

Isolasi beban adaptif (Beta)

Penggunaan

Sistem secara otomatis menentukan apakah akan mengaktifkan isolasi beban adaptif berdasarkan beban saat ini. Aktifkan fitur ini pada tingkat DB. Jalankan perintah berikut untuk mengaktifkan fitur ini pada suatu DB.

-- Aktifkan isolasi beban adaptif pada tingkat DB
ALTER DATABASE <db_name> SET hg_adaptive_serverless_computing_enable_load_isolation = on;

Isolasi tugas besar adaptif

Penggunaan

Jalankan perintah berikut untuk mengaktifkan fitur isolasi tugas besar adaptif. Aktifkan fitur ini pada tingkat pengguna atau DB.

  • Sebelum V4.1, Anda harus mengaktifkan kedua parameter agar fitur berlaku.

  • Mulai dari V4.1, parameter hg_enable_adaptive_serverless_computing sudah tidak digunakan lagi. Anda hanya perlu mengaktifkan parameter hg_adaptive_serverless_computing_enable_big_query_isolation.

-- Aktifkan pada tingkat session
SET hg_enable_adaptive_serverless_computing = on;
SET hg_adaptive_serverless_computing_enable_big_query_isolation = on;

-- Aktifkan pada tingkat pengguna
ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_enable_adaptive_serverless_computing = on;
ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_adaptive_serverless_computing_enable_big_query_isolation = on;

-- Aktifkan pada tingkat DB
ALTER DATABASE <db_name> SET hg_enable_adaptive_serverless_computing = on;
ALTER DATABASE <db_name> SET hg_adaptive_serverless_computing_enable_big_query_isolation = on;

Validasi

Penerapan fitur isolasi tugas besar adaptif bergantung pada logika estimasi otomatis sistem. Hologres menyediakan fungsi estimasi resource untuk menghitung Required Cores suatu pernyataan SQL dan memeriksa apakah fitur serverless adaptif dipicu.

-- Gunakan ini jika pernyataan SQL tidak mengandung tanda kutip tunggal yang perlu di-escape.
SELECT * FROM hologres.hg_estimate_adaptive_serverless_computing('select * from tbl;');

-- Gunakan ini jika pernyataan SQL mengandung tanda kutip tunggal yang perlu di-escape.
SELECT * FROM hologres.hg_estimate_adaptive_serverless_computing($$insert into test_tbl_dst_1 select * from test_tbl_src;$$);

Fungsi ini memiliki nilai kembali berikut:

Nama nilai kembali

Deskripsi

estimated_cores

Jumlah Required Cores yang diperkirakan secara otomatis oleh sistem untuk pernyataan SQL tersebut.

status

Menunjukkan apakah fitur serverless adaptif diterapkan pada pernyataan SQL berdasarkan pengaturan parameter saat ini, sehingga pernyataan tersebut dijalankan pada resource tanpa server.

  • eligible: Pernyataan memenuhi kondisi ambang batas dan akan secara otomatis dijalankan pada resource tanpa server.

  • ineligible: Pernyataan tidak memenuhi kondisi ambang batas dan akan dijalankan pada resource milik instans.

  • invalid: Pernyataan tidak memenuhi syarat untuk komputasi tanpa server dan akan dijalankan pada resource milik instans.

adaptive_serverless_computing_min_ratio_threshold

Koefisien ambang batas rasio yang dikonfigurasi saat ini.

adaptive_serverless_computing_min_cores_threshold

Ambang batas absolut yang dikonfigurasi saat ini.