Topik ini menjelaskan penagihan untuk instans kluster bersama Hologres (Lakehouse Acceleration).
Model penagihan
Hologres kluster bersama (Lakehouse Acceleration) menggunakan arsitektur tanpa server untuk mempercepat kueri pada data di gudang data MaxCompute dan data lake OSS, serta mendukung analitik federasi lintas data lake dan gudang data. Layanan ini menerapkan metode penagihan yang sama dengan kluster bersama asli (MaxCompute BI Acceleration), yaitu menagih berdasarkan volume data masukan setiap pekerjaan kueri SQL.
Rumus perhitungan biaya pekerjaan kueri adalah sebagai berikut:
Biaya per pekerjaan kueri = Volume data masukan yang dipindai × Harga satuanHologres kluster bersama (Lakehouse Acceleration) menggunakan resource komputasi khusus.
Hologres kluster bersama (Lakehouse Acceleration) ditagih berdasarkan volume data yang dipindai oleh setiap pekerjaan kueri. Setiap kueri dikenai biaya minimum sebesar 10 MB. Karena adanya overhead startup kueri, pekerjaan yang memindai kurang dari 10 MB data akan ditagih sebesar minimum 10 MB.
Tagihan dibuat setiap jam dan mencakup data penagihan dari dua jam sebelumnya.
Tidak ada biaya yang dikenakan jika Anda tidak menjalankan kueri.
Saat melakukan kueri pada tabel partisi, terapkan kondisi filter partisi untuk mengurangi volume data yang dipindai dan meningkatkan performa kueri.
Anda dapat mengurangi volume data yang dipindai dan menekan biaya kueri dengan memilih lebih sedikit bidang serta menambahkan kondisi filter.
Ubah tabel MaxCompute menjadi tabel Hash Clustering untuk mengoptimalkan pemangkasan bucket, agregasi, dan penyimpanan. Untuk informasi selengkapnya, lihat Hash Clustering.
Penetapan harga
Mulai 8 Maret 2023, semua kueri pada instans kluster bersama (Lakehouse Acceleration) mendapatkan diskon 50%. Penawaran ini berakhir pada 1 April 2025.
Tabel berikut menyediakan informasi penetapan harga.
Metode penagihan | Wilayah | Harga awal | Harga promosi | Unit |
Pay-as-you-go berdasarkan data yang dipindai per kueri SQL | China (Beijing) | 0,066705 | 0,0333525 | USD/GB |
China (Shanghai) | 0,066705 | 0,0333525 | USD/GB | |
China (Hangzhou) | 0,066705 | 0,0333525 | USD/GB | |
China (Shenzhen) | 0,066705 | 0,0333525 | USD/GB | |
Singapura | 0,084049 | 0,0420245 | USD/GB |
Manajemen siklus hidup
Hologres kluster bersama (Lakehouse Acceleration) adalah layanan pay-as-you-go yang menagih berdasarkan volume data yang dipindai oleh kueri SQL. Siklus hidup instans yang menggunakan metode penagihan ini adalah sebagai berikut:
Setelah Anda membeli dan mengaktifkan instans Hologres kluster bersama (Lakehouse Acceleration) dari situs web Alibaba Cloud, Anda dapat langsung menggunakannya. Sistem kemudian mengagregasi data dari semua kueri SQL hari sebelumnya, membuat tagihan, dan secara otomatis memotong biaya dari akun Anda.
Jika akun Alibaba Cloud Anda memiliki pembayaran tertunda, semua instans di bawah akun tersebut memasuki status Overdue. Jika total pembayaran tertunda kurang dari 1.000 USD, instans tetap berjalan normal.
Ketika total pembayaran tertunda mencapai 1.000 USD, sistem mencoba melakukan pemotongan pembayaran. Jika pemotongan gagal, instans tetap berjalan normal selama 14 hari.
Pada hari ke-15 setelah pemotongan gagal, layanan untuk instans ditangguhkan. Instans memasuki status terkunci dan tidak dapat diakses. Tidak ada tagihan yang dibuat selama periode ini.
Pada hari ke-15 setelah layanan ditangguhkan, instans dilepas, artinya dihapus dari Konsol dan semua datanya di-purge serta tidak dapat dipulihkan.
Detail kueri
Superuser dapat melihat detail kueri untuk semua pengguna. Pengguna Resource Access Management (RAM) dapat melihat informasi tentang pernyataan SQL yang telah mereka jalankan. Pernyataan pencarian adalah sebagai berikut:
select usename,status,query_id,command_tag,duration,query,read_bytes,application_name FROM hologres.hg_query_log;Untuk informasi selengkapnya tentang kueri, lihat Manajemen Kueri.
Kueri volume data yang dipindai
Izin
Menjalankan kueri volume data yang dipindai memerlukan izin tertentu. Aturan izin dan metode otorisasi adalah sebagai berikut:
Kueri volume data yang dipindai di seluruh DB dalam suatu instans.
Berikan izin Superuser kepada pengguna.
Akun superuser dapat melihat volume data yang dipindai di seluruh DB dalam suatu instans. Perintah otorisasi adalah sebagai berikut:
-- Ganti "ID akun Alibaba Cloud" dengan username aktual. Untuk pengguna RAM, tambahkan "p4_" sebelum ID akun. ALTER USER "ID akun Alibaba Cloud" SUPERUSER;Tambahkan pengguna ke kelompok pengguna pg_read_all_stats.
Selain superuser, Hologres memungkinkan pengguna dalam kelompok pengguna pg_read_all_stats untuk melihat volume data yang dipindai di seluruh DB. Jika pengguna biasa perlu melihat semua log, mereka dapat meminta superuser untuk menambahkannya ke kelompok ini. Perintah otorisasi adalah sebagai berikut:
GRANT pg_read_all_stats TO "ID akun Alibaba Cloud";-- Berikan untuk model otorisasi PostgreSQL standar CALL spm_grant('pg_read_all_stats', 'ID akun Alibaba Cloud'); -- Berikan untuk model izin sederhana (SPM) CALL slpm_grant('pg_read_all_stats', 'ID akun Alibaba Cloud'); -- Berikan untuk model izin tingkat skema (SLPM)
Lihat volume data yang dipindai di DB saat ini.
Aktifkan model izin sederhana (SPM) atau model izin tingkat skema (SLPM), lalu tambahkan pengguna ke kelompok pengguna db_admin. Peran db_admin dapat melihat volume data yang dipindai di DB saat ini.
CALL spm_grant('<db_name>_admin', 'ID akun Alibaba Cloud'); -- Berikan untuk SPM CALL slpm_grant('<db_name>.admin', 'ID akun Alibaba Cloud'); -- Berikan untuk SLPMPengguna biasa hanya dapat melakukan kueri volume data yang dipindai oleh kueri mereka sendiri di DB saat ini.
Untuk informasi selengkapnya tentang operasi izin, lihat Ikhtisar Manajemen Izin.
Kueri volume data yang dipindai dalam suatu periode
Anda dapat menggunakan perintah SQL berikut untuk mengambil data detail. Akun yang menjalankan perintah ini harus memiliki peran superuser untuk instans tersebut.
Jika parameter log_min_duration_statement diatur untuk instans tersebut, Anda hanya dapat melakukan kueri detail penagihan untuk pernyataan SQL yang waktu eksekusinya memenuhi atau melebihi nilai parameter log_min_duration_statement. Untuk informasi selengkapnya tentang parameter log_min_duration_statement, lihat Lihat dan analisis log kueri lambat. Anda dapat menggunakan pernyataan berikut untuk melihat nilai parameter log_min_duration_statement.
show log_min_duration_statement;Contoh sintaks
select to_char(query_end,'DD Mon YYYY') as day ,round( sum( case when read_bytes < 10*1024*1024 then 10*1024*1024 else read_bytes end )/1024/1024 ) as "scan_size_mb" -- Setiap kueri dikenai biaya minimum 10 MB. ,count(*) as "sql_count" from hologres.hg_query_log where status = 'SUCCESS' and command_tag in ('SELECT') and read_bytes is not null and query_end >= 'start_time'::TIMESTAMPTZ and query_end < 'end_time'::TIMESTAMPTZ group by 1 order by 3 desc;Contoh
Contoh berikut menunjukkan cara melakukan kueri volume data yang dipindai dari pukul 10.00 pada 1 Januari 2022 hingga pukul 11.00 pada 1 Januari 2022.
select to_char(query_end,'DD Mon YYYY') as day ,round( sum( case when read_bytes < 10*1024*1024 then 10*1024*1024 else read_bytes end )/1024/1024 ) as "scan_size_mb" -- Setiap kueri dikenai biaya minimum 10 MB. ,count(*) as "sql_count" from hologres.hg_query_log where status = 'SUCCESS' and command_tag in ('SELECT') and read_bytes is not null and query_end >= '2022-01-01 10:00:00+08'::TIMESTAMPTZ and query_end < '2022-01-01 11:00:00+08'::TIMESTAMPTZ group by 1 order by 3 desc;
Kueri volume data yang dipindai oleh setiap kueri SQL dalam suatu periode
Anda dapat menggunakan perintah SQL berikut untuk memeriksa volume data yang dipindai oleh setiap kueri SQL dalam suatu periode. Akun yang menjalankan perintah ini harus memiliki peran superuser untuk instans tersebut.
Contoh sintaks
select usename ,status ,query_id ,datname ,command_tag ,duration ,message ,query_start ,query_end ,query_date ,query ,case when read_bytes < 10*1024*1024 then 10*1024*1024 else read_bytes end as billing_read_bytes -- Setiap kueri dikenai biaya minimum 10 MB. ,application_name from hologres.hg_query_log where status = 'SUCCESS' and command_tag in ('SELECT') and read_bytes is not null and query_end >= 'start_time'::TIMESTAMPTZ and query_end < 'end_time'::TIMESTAMPTZ;Bidang billing_read_bytes merepresentasikan volume data yang dipindai yang digunakan untuk penagihan.
Contoh
Contoh berikut menunjukkan cara melakukan kueri volume data yang dipindai oleh setiap kueri SQL dari pukul 10.00 pada 1 Maret 2022 hingga pukul 11.00 pada 1 Maret 2022.
select usename ,status ,query_id ,datname ,command_tag ,duration ,message ,query_start ,query_end ,query_date ,query ,case when read_bytes < 10*1024*1024 then 10*1024*1024 else read_bytes end as billing_read_bytes -- Setiap kueri dikenai biaya minimum 10 MB. ,application_name from hologres.hg_query_log where status = 'SUCCESS' and command_tag in ('SELECT') and read_bytes is not null and query_end >= '2022-03-01 10:00:00+08'::TIMESTAMPTZ and query_end < '2022-03-01 11:00:00+08'::TIMESTAMPTZ;