全部产品
Search
文档中心

Hologres:Penggunaan dan penagihan komputasi tanpa server

更新时间:Feb 04, 2026

Hologres Serverless Computing mengenakan biaya untuk pekerjaan SQL besar—misalnya, yang memiliki beban CPU atau memori tinggi—berdasarkan sumber daya komputasi yang dikonsumsi dan durasi penggunaannya. Topik ini menjelaskan cara melihat konsumsi resource Serverless Computing dan rincian penagihan Anda.

Ikhtisar Penagihan

Untuk setiap pekerjaan SQL, Serverless Computing mengukur penggunaan resource dalam satuan CU·H, yaitu jumlah resource aktual dikalikan dengan durasi penggunaannya. Penagihan diproses per jam. Setiap jam, sistem mengagregasi penggunaan dari jam sebelumnya untuk semua pekerjaan SQL yang dijalankan menggunakan Serverless Computing dan menagih Anda sesuai dengan itu. Untuk informasi harga satuan saat ini, lihat Billing Overview.

Penting
  • Penagihan untuk Serverless Computing dimulai pada 2024-07-01 (UTC+8). Dokumen ini memberikan panduan tentang cara memantau konsumsi resource Serverless Computing Anda, memperkirakan tagihan Anda, serta menyesuaikan alokasi resource untuk pekerjaan guna mencegah biaya tak terduga.

  • Untuk daftar wilayah dan zona yang didukung, lihat Serverless Computing User Guide.

  • Kedua tabel hologres.hg_query_log dan hologres.hg_serverless_computing_query_log menyimpan data selama 30 hari terakhir.

Hanya pekerjaan SQL yang berhasil dieksekusi yang dikenai biaya. Eksekusi yang gagal tidak dikenai biaya.

Kueri Konsumsi Resource

Mulai dari Hologres V2.1.18, Anda dapat melakukan kueri terhadap tampilan hologres.hg_serverless_computing_query_log untuk menghitung konsumsi resource Serverless Computing dan memperkirakan biaya menggunakan rumus penagihan Serverless. Untuk detail tentang log kueri lambat, lihat View and Analyze Slow Query Logs.

Catatan
  • Sebelum Hologres V2.2.7, log kueri lambat mencatat semua pekerjaan Serverless Computing yang gagal dan pekerjaan yang berhasil yang berjalan lebih dari 100 milidetik. Mulai dari Hologres V2.2.7, log mencakup semua pekerjaan Serverless Computing.

  • Log kueri lambat mencatat konsumsi resource untuk setiap pernyataan SQL. Selama penagihan, sistem mungkin menerapkan agregasi data dan konversi satuan, yang dapat menyebabkan sedikit perbedaan.

Persyaratan Izin

Untuk memperkirakan konsumsi dan penagihan Serverless Computing dari log kueri lambat, Anda memerlukan izin tertentu. Konten berikut menjelaskan aturan izin dan metode pemberiannya.

  • Menjalankan kueri volume pemindaian data di seluruh database dalam suatu instans

    • Metode 1: Berikan izin Superuser menggunakan perintah berikut:

      -- Ganti "ID akun Alibaba Cloud" dengan username yang sebenarnya.
      -- Untuk Pengguna RAM, tambahkan awalan "p4_" pada ID akun.
      ALTER USER "ID akun Alibaba Cloud" SUPERUSER;
    • Metode 2: Tambahkan pengguna ke grup pg_read_all_stats menggunakan perintah berikut:

      Catatan

      Selain izin Superuser, Hologres mendukung grup pg_read_all_stats untuk melihat volume pemindaian data di seluruh database. Jika Anda adalah pengguna biasa yang memerlukan akses log lengkap, Anda harus menghubungi Superuser untuk otorisasi dan ditambahkan ke grup tersebut.

      GRANT pg_read_all_stats TO "ID akun Alibaba Cloud";-- Model otorisasi PostgreSQL standar
      CALL spm_grant('pg_read_all_stats', 'ID akun Alibaba Cloud');  -- SPM
      CALL slpm_grant('pg_read_all_stats', 'ID akun Alibaba Cloud'); -- SLPM
  • Menampilkan volume pemindaian data untuk database saat ini

    • Aktifkan simple permission model (SPM) atau schema-level simple permission model (SLPM), lalu tambahkan pengguna ke grup db_admin. Peran db_admin dapat melihat volume pemindaian data untuk database saat ini. Anda dapat menggunakan perintah berikut:

      CALL spm_grant('<db_name>_admin', 'Alibaba Cloud account ID');  -- SPM
      CALL slpm_grant('<db_name>.admin', 'Alibaba Cloud account ID'); -- SLPM
    • Pengguna biasa dapat menjalankan kueri terhadap volume pemindaian datanya sendiri dalam database yang terkait dengan akun mereka.

Catatan

Untuk informasi lebih lanjut tentang izin, lihat Permission Management Overview.

Kueri Konsumsi Resource untuk Satu Pernyataan SQL

Anda dapat menggunakan perintah SQL berikut untuk mengambil rincian konsumsi resource untuk pekerjaan Serverless Computing.

SELECT
    *,
    queue_time_ms,	-- Waktu yang dihabiskan SQL menunggu dalam antrian Serverless Computing, dalam milidetik (ms)
    serverless_allocated_cores,	-- Jumlah CU yang dialokasikan oleh Serverless Computing untuk pekerjaan SQL ini
    serverless_resource_used_time_ms, -- Durasi SQL benar-benar menggunakan resource Serverless Computing, dalam milidetik (ms)
    (serverless_allocated_cores::DECIMAL(38, 4)) * (serverless_resource_used_time_ms::DECIMAL(38, 4)) AS serverless_cums
FROM
    hologres.hg_serverless_computing_query_log;

Kueri Konsumsi Resource dalam Periode Waktu Tertentu

Anda dapat menggunakan perintah SQL berikut untuk menghitung total konsumsi resource untuk pekerjaan Serverless Computing yang berhasil dieksekusi dalam rentang waktu tertentu.

SELECT
    (SUM((serverless_allocated_cores::DECIMAL(38, 4)) * (serverless_resource_used_time_ms::DECIMAL(38, 4))) / 1000 / 60 / 60)::bigint AS serverless_cuh
FROM
    hologres.hg_serverless_computing_query_log
WHERE
    status = 'SUCCESS'
    AND serverless_allocated_cores IS NOT NULL
    AND serverless_resource_used_time_ms IS NOT NULL
    AND query_end BETWEEN '2024-05-01 00:00:00' AND '2024-05-31 24:00:00';-- Tentukan rentang waktu

Estimasi Konsumsi Sumber Daya

Jika Anda belum mengaktifkan Serverless Computing tetapi ingin memperkirakan biaya menjalankan pernyataan SQL tertentu menggunakan resource Serverless, Anda dapat terlebih dahulu mengeksekusinya menggunakan resource instans Hologres Anda. Tabel sistem hologres.hg_query_log mencakup bidang cpu_time_ms, yang mencatat waktu CPU yang dikonsumsi oleh setiap pekerjaan SQL. Anda dapat memperkirakan konsumsi resource Serverless secara kasar menggunakan rumus berikut: cpu_time_ms / 1000 / 60 / 60. Anda dapat menggunakan perintah berikut untuk mengkueri cpu_time_ms:

SELECT cpu_time_ms FROM hologres.hg_query_log WHERE query_id = 'xxx';
Catatan

Resource instans dapat dipengaruhi oleh workload lain, sedangkan resource Serverless bersifat terisolasi. Kapasitas resource kedua jenis tersebut juga berbeda. Karena alasan ini, metode ini tidak dapat memberikan perkiraan konsumsi Serverless yang akurat. Kami menyarankan Anda memilih pekerjaan SQL utama dan mengujinya langsung dengan Serverless Computing seperti yang dijelaskan dalam Serverless Computing User Guide. Pengujian ini tidak memengaruhi tugas lain pada instans Anda.

Pemantauan dan Peringatan Konsumsi

Batas Penggunaan Harian

Mulai dari Hologres V3.1.5, Anda dapat membatasi penggunaan harian Serverless Computing menggunakan perintah SQL berikut. Hanya Superuser yang dapat mengatur batas ini.

-- Tetapkan batas untuk database
ALTER DATABASE <db_name> SET hg_serverless_computing_daily_max_cuh_usage_threshold = xx;

-- Tetapkan batas untuk pengguna
ALTER USER <user_name> SET hg_serverless_computing_daily_max_cuh_usage_threshold = xx;
  • Rincian Batas

    • Nilai default adalah -1, yang menunjukkan bahwa tidak ada batas yang ditetapkan.

    • Satuannya adalah CU·H.

    • Hologres mengagregasi dan memperbarui total penggunaan Serverless Computing untuk instans setiap 10 menit. Oleh karena itu, penerapan batas mungkin tertunda hingga 10 menit.

    • Sebelum mengeksekusi pernyataan SQL, Hologres membandingkan penggunaan harian Serverless instans saat ini dengan batas yang dikonfigurasi untuk pengguna atau database. Jika batas tercapai, pernyataan SQL secara otomatis beralih ke penggunaan resource komputasi instans. Jika tidak, pernyataan SQL dijalankan pada resource Serverless.

    • Hologres melacak penggunaan harian Serverless berdasarkan zona waktu default database. Anda dapat menjalankan perintah berikut dalam sesi yang sama untuk memeriksa zona waktu database saat ini:

      -- Atur ulang zona waktu untuk menghindari pengaruh dari pengaturan klien atau pengguna
      RESET timezone;
      
      -- Tampilkan zona waktu default database
      SHOW timezone;
  • Rekomendasi

    • Jika Anda secara rutin menggunakan Hologres Serverless Computing, Anda dapat menentukan batas harian yang sesuai dengan meninjau informasi penggunaan yang dijelaskan dalam Query Resource Consumption Over a Specified Time Period.

    • Jika Anda baru mengenal Serverless Computing, kami menyarankan Anda menunggu hingga workload Anda stabil sebelum menetapkan batas penggunaan harian.

Untuk mencegah kueri secara otomatis beralih ke resource instans ketika batas terlampaui dan sebagai gantinya membuat kueri gagal langsung, Anda dapat menjalankan perintah berikut. Hanya Superuser yang dapat mengatur parameter ini.

-- Tetapkan di tingkat database
ALTER DATABASE <db_name> SET hg_serverless_computing_enable_fallback_when_exceed_cuh_threshold = false;

-- Tetapkan di tingkat pengguna
ALTER USER <user_name> SET hg_serverless_computing_enable_fallback_when_exceed_cuh_threshold = false;
Catatan
  • Nilai default adalah `true`, yang mengaktifkan fallback otomatis ke resource instans ketika batas terlampaui.

  • Jika Anda mengatur parameter ini ke `false`, kueri akan gagal dan menghasilkan error berikut: serverless computing is not available due to exceeding cuh usage threshold, please adjust the threshold or turn off serverless computing for current query.

Analisis Biaya

Anda dapat menggunakan modul Cost > Cost Analysis di Expenses and Costs untuk memantau dan menganalisis penagihan resource komputasi Hologres.

  1. Masuk ke Expenses and Costs. Di panel navigasi sebelah kiri, klik Cost > Cost Analysis.

  2. Di halaman Cost Analysis, pada bagian kanan Condition List > Classification Dimension, pilih Billing Item. Kemudian, pilih Cost Type dan Time Granularity sesuai kebutuhan.

  3. Di bagian kanan Filter Conditions, pilih Billing Item yang sesuai dengan jenis resource Anda.

Untuk informasi selengkapnya, lihat Cost Analysis.

Peringatan Pengeluaran

Anda dapat menggunakan layanan Expenses and Costs yang disediakan oleh Alibaba Cloud untuk mengelola anggaran dan mengatur peringatan pengeluaran bayar sesuai penggunaan untuk produk tertentu di wilayah tertentu. Untuk informasi selengkapnya, lihat Expense Alerts.

Peringatan Durasi Eksekusi SQL Tunggal

Hologres mendukung pemantauan metrik Serverless Computing. Kami menyarankan Anda membuat aturan peringatan berdasarkan skenario bisnis Anda untuk menghindari biaya tak terduga.

Sebagai contoh, untuk metrik Durasi terpanjang di antara kueri Serverless Computing yang sedang berjalan, kami merekomendasikan aturan peringatan berikut:

Peringatan: Durasi terpanjang di antara kueri Serverless Computing yang sedang berjalan ≥ 3.600.000 milidetik selama 5 periode berturut-turut (1 periode = 1 menit).

jiankong.jpg

Untuk informasi selengkapnya, lihat Monitoring and Alerting Best Practices.

Referensi