All Products
Search
Document Center

Hologres:Penggunaan dan penagihan Komputasi Tanpa Server

Last Updated:Jun 22, 2026

Hologres Serverless Computing menagih Anda untuk pekerjaan SQL yang intensif sumber daya—misalnya, yang memiliki beban overhead CPU atau memori tinggi—berdasarkan sumber daya komputasi yang dikonsumsi dan waktu eksekusi. Topik ini menjelaskan cara melihat konsumsi sumber daya Anda serta memahami detail penagihan.

Penagihan

Fitur Serverless Computing mengukur penggunaan sumber daya untuk setiap pekerjaan SQL dalam satuan Compute Unit·Hour (CU·H). Sistem menghitung nilai ini dengan mengalikan sumber daya yang dikonsumsi dengan waktu eksekusi. Penagihan diselesaikan per jam: setiap jam, sistem mengagregasi penggunaan dari semua pekerjaan SQL yang dijalankan pada Serverless Computing dalam satu jam sebelumnya dan memotong biaya yang sesuai. Untuk harga satuan spesifik, lihat Ikhtisar penagihan.

Penting
  • Penagihan untuk Serverless Computing secara resmi dimulai pada 1 Juli 2024, waktu Beijing. Harap rujuk informasi di bawah ini untuk memantau konsumsi sumber daya Serverless Computing Anda dan memperkirakan tagihan Anda. Jika perlu, sesuaikan alokasi sumber daya untuk pekerjaan Anda guna menghindari biaya tak terduga.

  • Untuk daftar wilayah dan zona tempat Serverless Computing tersedia, lihat Panduan Pengguna Serverless Computing.

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

Hanya pekerjaan SQL yang berhasil diselesaikan yang dikenai biaya. Pekerjaan yang gagal tidak dikenai biaya.

Kueri penggunaan sumber daya

Mulai dari Hologres V2.1.18, Anda dapat melakukan kueri terhadap tampilan hologres.hg_serverless_computing_query_log untuk menghitung konsumsi sumber daya tugas Serverless Computing dan memperkirakan biaya berdasarkan rumus penagihan sumber daya Serverless. Untuk informasi lebih lanjut tentang log kueri lambat, lihat Lihat dan analisis log kueri lambat.

Catatan
  • Pada versi sebelum Hologres V2.2.7, log kueri lambat hanya mencatat tugas Serverless Computing yang berhasil dengan durasi eksekusi lebih dari 100 ms dan semua tugas yang gagal. Pada Hologres V2.2.7 dan versi setelahnya, Anda dapat melihat semua tugas Serverless Computing.

  • Karena penagihan melibatkan agregasi data dan konversi satuan, perbedaan kecil dapat terjadi antara data log dan tagihan akhir Anda.

Izin

Untuk memperkirakan konsumsi sumber daya dan biaya Serverless Computing dari log kueri lambat, Anda memerlukan izin tertentu. Bagian berikut menjelaskan izin yang diperlukan dan metode otorisasi.

  • Lakukan kueri volume pemindaian data untuk semua database dalam suatu instans

    • Opsi 1: Berikan izin Superuser. Perintah berikut memberikan izin tersebut:

      -- Ganti "ID akun Alibaba Cloud" dengan username aktual. Untuk Pengguna RAM, tambahkan awalan "p4_" pada ID akun.
      ALTER USER "ID akun Alibaba Cloud" SUPERUSER;
    • Opsi 2: Tambahkan pengguna ke kelompok pengguna pg_read_all_stats. Gunakan salah satu perintah berikut berdasarkan model izin Anda:

      Catatan

      Selain izin Superuser, Hologres memungkinkan anggota kelompok pengguna pg_read_all_stats untuk melihat volume pemindaian data untuk semua database. Jika pengguna biasa perlu melihat semua log, mereka dapat meminta Superuser untuk memberikan izin ini dan menambahkan mereka ke kelompok tersebut.

      GRANT pg_read_all_stats TO "ID akun Alibaba Cloud"; -- Untuk model izin expert
      CALL spm_grant('pg_read_all_stats', 'ID akun Alibaba Cloud');  -- Untuk model izin sederhana (SPM)
      CALL slpm_grant('pg_read_all_stats', 'ID akun Alibaba Cloud'); -- Untuk model izin sederhana tingkat skema (SLPM)
  • Lihat volume pemindaian data untuk database saat ini

    • Aktifkan model izin sederhana (SPM) atau model izin sederhana tingkat skema (SLPM) dan tambahkan pengguna ke role db_admin. Role db_admin dapat melihat volume pemindaian data untuk database saat ini. Gunakan salah satu perintah berikut untuk memberikan role ini.

      CALL spm_grant('<db_name>_admin', 'ID akun Alibaba Cloud');  -- Untuk SPM
      CALL slpm_grant('<db_name>.admin', 'ID akun Alibaba Cloud'); -- Untuk SLPM
    • Pengguna biasa dapat melakukan kueri volume pemindaian data untuk kueri yang telah mereka eksekusi di database saat ini menggunakan akun mereka sendiri.

Catatan

Untuk informasi lebih lanjut tentang operasi izin, lihat Ikhtisar Manajemen Izin.

Kueri konsumsi untuk satu SQL

Gunakan pernyataan SQL berikut untuk mengkueri konsumsi sumber daya terperinci dari suatu pekerjaan Serverless Computing.

SELECT
    *,
    queue_time_ms,	-- Waktu yang dihabiskan kueri SQL menunggu dalam antrian Serverless Computing, dalam milidetik (ms).
    serverless_allocated_cores,	-- Jumlah CU yang dialokasikan oleh Serverless Computing untuk kueri SQL saat ini.
    serverless_resource_used_time_ms, -- Durasi kueri SQL benar-benar menggunakan sumber daya 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 dalam rentang waktu

Gunakan pernyataan SQL berikut untuk mengkueri total konsumsi sumber daya pekerjaan Serverless Computing yang berhasil 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+08'::timestamptz AND '2024-05-31 24:00:00+08'::timestamptz;-- Tentukan rentang waktu.

Perkirakan konsumsi sumber daya

Jika Anda belum mengaktifkan Serverless Computing tetapi ingin menjalankan kueri SQL tertentu menggunakan sumber daya tanpa server, Anda dapat terlebih dahulu mengeksekusinya pada instans Hologres Anda. Tabel sistem hologres.hg_query_log berisi bidang cpu_time_ms, yang dapat Anda gunakan untuk menemukan waktu CPU yang dikonsumsi oleh pekerjaan SQL tersebut. Kemudian, Anda dapat menggunakan rumus cpu_time_ms / 1000 / 60 / 60 untuk memperkirakan secara kasar konsumsi jika kueri yang sama dijalankan dengan sumber daya tanpa server. Perintah SQL untuk mengkueri informasi cpu_time_ms adalah sebagai berikut:

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

Sumber daya instans dapat dipengaruhi oleh workload lain, sedangkan sumber daya tanpa server bersifat terisolasi. Selain itu, kapasitas sumber daya mereka mungkin berbeda. Oleh karena itu, metode ini tidak dapat memberikan perkiraan yang tepat mengenai konsumsi sumber daya tanpa server. Kami merekomendasikan agar Anda memilih beberapa pekerjaan SQL utama dan mengikuti Panduan Pengguna Serverless Computing untuk mengujinya langsung dengan sumber daya tanpa server. Hal ini memungkinkan Anda mengukur konsumsi sumber daya aktual tanpa memengaruhi pekerjaan lain pada instans Anda.

Memantau biaya dan mengonfigurasi peringatan

Tetapkan batas penggunaan harian

Mulai dari Hologres V3.1.5, Anda dapat menggunakan SQL untuk menetapkan batas harian penggunaan sumber daya Serverless Computing. Hanya Superuser yang dapat menetapkan batas ini.

-- Tetapkan batas untuk database.
ALTER DATABASE <db_name> SET hg_serverless_computing_daily_max_cuh_usage_threshold = <value>;
-- Tetapkan batas untuk pengguna.
ALTER USER <user_name> SET hg_serverless_computing_daily_max_cuh_usage_threshold = <value>;
  • Rincian batas

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

    • Satuannya adalah CU·H.

    • Hologres mengagregasi dan memperbarui total penggunaan sumber daya Serverless Computing untuk instans saat ini setiap 10 menit. Oleh karena itu, mungkin terjadi penundaan hingga 10 menit dalam penerapan batas tersebut.

    • Sebelum mengeksekusi kueri SQL, Hologres membandingkan total sumber daya tanpa server yang digunakan hari ini oleh instans dengan batas sumber daya tanpa server untuk pengguna atau database saat ini. Jika batas tercapai, kueri secara otomatis beralih ke penggunaan sumber daya komputasi instans. Jika batas belum tercapai, kueri dijalankan menggunakan sumber daya tanpa server seperti biasa.

    • Hologres menghitung penggunaan harian sumber daya Serverless Computing berdasarkan hari alami dalam zona waktu default database saat ini. Anda dapat menjalankan perintah berikut dalam sesi yang sama untuk mengkueri zona waktu default database saat ini.

      -- Atur ulang zona waktu untuk menghindari pengaruh dari zona waktu default klien atau pengguna.
      RESET timezone;
      -- Kueri zona waktu default database saat ini.
      SHOW timezone;
  • Rekomendasi

    • Jika Anda merupakan pengguna jangka panjang fitur Serverless Computing Hologres, Anda dapat menentukan batas penggunaan harian yang sesuai dengan mengkueri konsumsi sumber daya Anda dalam rentang waktu tertentu.

    • Jika Anda belum pernah menggunakan fitur Serverless Computing Hologres sebelumnya, kami merekomendasikan agar Anda terlebih dahulu menggunakan fitur tersebut hingga workload Anda stabil. Kemudian, berdasarkan pola penggunaan Anda, putuskan apakah akan menetapkan batas penggunaan harian dan tentukan nilai yang sesuai.

Jika Anda tidak ingin kueri SQL beralih ke sumber daya komputasi instans ketika batas Serverless Computing tercapai, Anda dapat menjalankan perintah berikut agar kueri langsung gagal. Parameter ini hanya dapat diatur oleh Superuser.

-- Atur parameter di tingkat database.
ALTER DATABASE <db_name> SET hg_serverless_computing_enable_fallback_when_exceed_cuh_threshold = false;
-- Atur parameter di tingkat pengguna.
ALTER USER <user_name> SET hg_serverless_computing_enable_fallback_when_exceed_cuh_threshold = false;
Catatan
  • Nilai default adalah true. Ketika batas terlampaui, kueri SQL secara otomatis beralih ke penggunaan sumber daya instans.

  • Parameter ini dapat diatur ke false. Jika batas terlampaui, kueri SQL langsung gagal dan mengembalikan error berikut: serverless computing is not available due to exceeding cuh usage threshold, please adjust the threshold or trun off serverless computing for current query.

Analisis biaya

Anda dapat menggunakan modul Cost > Cost Analysis di Biaya dan Pengeluaran untuk memantau dan menganalisis biaya sumber daya komputasi Hologres.

  1. Masuk ke Biaya dan Pengeluaran. Di panel navigasi kiri, klik Cost > Cost Analysis.

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

  3. Di area Filter Conditions di sisi kanan, pilih Billing Item yang sesuai berdasarkan jenis sumber daya spesifik Anda.

Untuk informasi lebih lanjut, lihat Analisis Biaya.

Peringatan pengeluaran

Anda dapat menggunakan Biaya dan Pengeluaran Alibaba Cloud untuk mengelola anggaran dan menetapkan peringatan untuk pengeluaran bayar sesuai penggunaan pada produk tertentu di wilayah tertentu. Untuk informasi lebih lanjut, lihat Peringatan Pengeluaran.

Peringatan durasi SQL tunggal

Hologres mendukung metrik waktu proses untuk Serverless Computing. Kami merekomendasikan membuat aturan peringatan berdasarkan kasus penggunaan bisnis Anda untuk menghindari biaya tak terduga.

Contohnya, 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’ lebih besar dari atau sama dengan 3.600.000 milidetik selama 5 periode berturut-turut (1 periode = 1 menit)."

Untuk informasi lebih lanjut, lihat Praktik terbaik pemantauan dan peringatan.

Topik terkait