Untuk memahami distribusi biaya MaxCompute dan mengurangi pengeluaran, unduh catatan penggunaan penagihan Anda serta analisis menggunakan Excel atau SQL MaxCompute.
MaxCompute mendukung metode penagihan langganan dan pay-as-you-go untuk resource komputasi. Biaya dihitung per proyek setiap hari, dan tagihan harian dihasilkan sebelum pukul 06.00 pada hari berikutnya. Untuk detail harga lengkap, lihat Ikhtisar.
Jenis penagihan pay-as-you-go
Tabel berikut merangkum setiap jenis penagihan pay-as-you-go beserta rumus harganya. Untuk harga satuan terbaru, lihat Harga komputasi (pay-as-you-go), Biaya penyimpanan, dan Harga unduhan.
| Billing type | MeteringType value | Pricing formula |
|---|---|---|
| SQL computing | ComputationSql | Input data (GB) x SQL complexity x USD 0.0438/GB |
| Storage (standard, single-zone) | Storage | Average daily storage (GB) x USD 0.0006/GB/day |
| Long-term storage | ColdStorage | Average daily storage (GB) x unit price |
| Infrequent Access (IA) storage | LowFreqStorage | Average daily storage (GB) x unit price |
| Long-term storage access | SqlLongterm | Input data (GB) x unit price |
| IA storage access | SqlLowFrequency | Input data (GB) x unit price |
| Internet download | DownloadEx | Downloaded data (GB) x USD 0.1166/GB |
| MapReduce computing | MapReduce | Billable hours x USD 0.0690/hour/task |
| Spark computing | spark | Billable hours x USD 0.1041/hour/task |
| Tablestore external table SQL | ComputationSqlOTS | Input data (GB) x USD 0.0044/GB |
| OSS external table SQL | ComputationSqlOSS | Input data (GB) x USD 0.0044/GB |
Langkah 1: Unduh catatan penggunaan penagihan
Buka halaman Usage Details untuk mengunduh catatan penggunaan resource harian. Catatan ini menunjukkan rincian pembentukan biaya, termasuk biaya penyimpanan dan komputasi harian beserta pekerjaan yang menghasilkannya.

Konfigurasikan parameter berikut:

Product: Pilih MaxCompute(Postpay).
Billable Item:
MaxCompute(Postpay): Item penagihan komputasi, penyimpanan, dan unduhan pay-as-you-go.
ODPSDataPlus: Item penagihan terkait penyimpanan dan unduhan pay-as-you-go dalam proyek langganan. Pilih opsi ini dalam salah satu skenario berikut:
Hanya proyek langganan yang ada di suatu wilayah tanpa proyek pay-as-you-go.
Sebelum 25 April 2024, proyek langganan dan pay-as-you-go keduanya ada di wilayah China (Hong Kong) atau wilayah di luar China. Dalam kasus ini, ODPSDataPlus mencakup proyek yang menggunakan kuota komputasi langganan secara default. Untuk mengunduh catatan proyek yang menggunakan kuota komputasi pay-as-you-go secara default, pilih MaxCompute(Postpay) sebagai gantinya.
ODPS_QUOTA: Tidak digunakan. Abaikan opsi ini.
ODPS_QUOTA_USAGE: Catatan penggunaan untuk resource yang dipesan secara elastis yang digunakan untuk komputasi atau transmisi data.
Time Period: Tentukan tanggal mulai dan akhir untuk data penagihan. > Note: Jika suatu pekerjaan dimulai pada 1 Desember dan selesai pada 2 Desember, atur tanggal mulai menjadi 1 Desember. Jika tidak, penggunaan resource pekerjaan tersebut tidak akan muncul dalam catatan yang diunduh. Catatan konsumsi resource untuk pekerjaan ini muncul dalam tagihan 2 Desember.
Time Unit: Nilai default adalah Hour.
Klik Export CSV. Setelah ekspor selesai, buka halaman Export Record untuk mengunduh catatan penggunaan.
Langkah 2 (opsional): Unggah catatan penggunaan ke MaxCompute
Langkah ini hanya diperlukan jika Anda berencana menggunakan SQL MaxCompute untuk analisis. Untuk analisis hanya dengan Excel, lewati ke Langkah 3.
Buat tabel bernama
maxcomputefeepada client MaxCompute (odpscmd):CREATE TABLE IF NOT EXISTS maxcomputefee ( projectid STRING COMMENT 'ProjectId' ,feeid STRING COMMENT 'MeteringId' ,meteringtime STRING COMMENT 'MeteringTime' ,type STRING COMMENT 'MeteringType, such as Storage, ComputationSql, or DownloadEx' ,starttime STRING COMMENT 'StartTime' ,storage BIGINT COMMENT 'Storage' ,endtime STRING COMMENT 'EndTime' ,computationsqlinput BIGINT COMMENT 'SQLInput(Byte)' ,computationsqlcomplexity DOUBLE COMMENT 'SQLComplexity' ,uploadex BIGINT COMMENT 'UploadEx' ,download BIGINT COMMENT 'DownloadEx(Byte)' ,cu_usage DOUBLE COMMENT 'MRCompute(Core*Second)' ,Region STRING COMMENT 'Region' ,input_ots BIGINT COMMENT 'InputOTS(Byte)' ,input_oss BIGINT COMMENT 'InputOSS(Byte)' ,source_id STRING COMMENT 'DataWorksNodeID' ,source_type STRING COMMENT 'SpecificationType' ,RecycleBinStorage BIGINT COMMENT 'RecycleBinStorage' ,JobOwner STRING COMMENT 'JobOwner' ,Signature STRING COMMENT 'Signature' );
Deskripsi field
| Field | Description |
|---|---|
| ProjectId | ID atau nama proyek MaxCompute yang dimiliki oleh Akun Alibaba Cloud Anda, atau oleh Akun Alibaba Cloud tempat Pengguna RAM saat ini bernaung. |
| MeteringId | ID penagihan. Untuk tugas komputasi SQL, ini adalah InstanceID. Untuk tugas unggah atau unduh, ini adalah Tunnel SessionId. |
| MeteringType | Jenis penagihan. Nilai yang valid: Storage, ComputationSql, UploadIn, UploadEx, DownloadIn, DownloadEx. Hanya item yang ditandai merah dalam aturan penagihan yang dikenakan biaya. Nilai tambahan meliputi MapReduce, spark, ComputationSqlOTS, ComputationSqlOSS, ColdStorage (long-term storage), LowFreqStorage (Infrequent Access storage), SqlLongterm (long-term storage access), dan SqlLowFrequency (IA storage access). |
| Storage | Volume data yang dibaca per jam, dalam byte. |
| StartTime / EndTime | Waktu ketika pekerjaan dimulai atau dihentikan. Data penyimpanan dikumpulkan setiap jam. |
| SQLInput(Byte) | Jumlah data masukan untuk setiap eksekusi SQL, dalam byte. |
| SQLComplexity | Pengali kompleksitas untuk pernyataan SQL. Ini merupakan salah satu faktor penagihan untuk pekerjaan SQL. |
| UploadEx / DownloadEx(Byte) | Jumlah data yang diunggah atau diunduh melalui Internet, dalam byte. |
| MRCompute(Core\*Second) | Jam penagihan untuk pekerjaan MapReduce atau Spark. Dihitung sebagai: Jumlah core x Waktu berjalan (detik). Konversi hasilnya ke jam untuk penagihan. |
| InputOTS(Byte) / InputOSS(Byte) | Jumlah data yang dibaca dari Tablestore atau Object Storage Service (OSS) melalui tabel eksternal, dalam byte. |
| RecycleBinStorage | Volume data backup yang dibaca per jam, dalam byte. |
| Region | Wilayah tempat proyek MaxCompute berada. |
| JobOwner | Pengguna yang mengirimkan pekerjaan. |
| Signature | Pengidentifikasi untuk konten pekerjaan SQL. Pekerjaan dengan konten SQL identik memiliki signature yang sama, yang membantu mengidentifikasi pekerjaan berulang atau terjadwal. |
Jalankan perintah Tunnel berikut untuk mengunggah catatan penggunaan penagihan: > Note: Jumlah dan tipe data kolom dalam file CSV harus sesuai dengan tabel
maxcomputefee. Jika tidak sesuai, pengunggahan data gagal.
> Note: > - Untuk informasi lebih lanjut tentang perintah Tunnel, lihat Tunnel commands. > - Anda juga dapat menggunakan fitur impor data DataWorks untuk mengunggah catatan penagihan. Untuk detailnya, lihat Use DataWorks (offline and real-time).tunnel upload ODPS_2019-01-12_2019-01-14.csv maxcomputefee -c "UTF-8" -h "true" -dfp "yyyy-MM-dd HH:mm:ss";Verifikasi bahwa semua catatan telah diunggah:

SELECT * FROM maxcomputefee limit 10;
Langkah 3: Analisis catatan penggunaan penagihan
Biaya pekerjaan SQL
Rumus: Input data (GB) × SQL complexity × USD 0,0438/GB
Metode Excel: Filter catatan dengan MeteringType ComputationSql. Urutkan berdasarkan biaya untuk mengidentifikasi pekerjaan yang tidak terduga mahal atau volume pekerjaan besar. Hitung biaya setiap pekerjaan sebagai:
Fee = SQLInput(Byte) / 1024 / 1024 / 1024 × SQL complexity × USD 0,0438
Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.
-- Sort SQL jobs by fee (descending) to find the most expensive jobs.
SELECT to_char(endtime,'yyyymmdd') as ds,feeid as instanceid
,projectid
,computationsqlcomplexity -- SQL complexity
,SUM((computationsqlinput / 1024 / 1024 / 1024)) as computationsqlinput -- Amount of input data (GB)
,SUM((computationsqlinput / 1024 / 1024 / 1024)) * computationsqlcomplexity * 0.0438 AS sqlmoney
FROM maxcomputefee
WHERE TYPE = 'ComputationSql'
AND to_char(endtime,'yyyymmdd') >= '20190112'
GROUP BY to_char(endtime,'yyyymmdd'),feeid
,projectid
,computationsqlcomplexity
ORDER BY sqlmoney DESC
LIMIT 10000
;Saran optimasi:
Untuk mengurangi biaya pekerjaan mahal, kurangi jumlah data masukan atau turunkan kompleksitas SQL.
Agregasikan hasil berdasarkan field
dsuntuk menganalisis tren biaya harian selama periode tertentu. Gambarkan tren tersebut di Excel atau alat seperti Quick BI.
Identifikasi node DataWorks di balik pekerjaan mahal:
Dapatkan URL LogView dengan menjalankan perintah
wait <instanceid>;pada client MaxCompute (odpscmd) atau di konsol DataWorks.
Lihat detail pekerjaan dengan perintah berikut: Contoh output:
DESC instance 2016070102275442go3xxxxxx;ID 2016070102275442go3xxxxxx Owner ALIYUN$***@aliyun-inner.com StartTime 2016-07-01 10:27:54 EndTime 2016-07-01 10:28:16 Status Terminated console_query_task_1467340078684 Success Query select count(*) from src where ds='20160628';Buka URL LogView di browser. Klik tab SourceXML dan cari nilai parameter SKYNET_NODENAME.
> Note: > - Untuk informasi lebih lanjut tentang LogView, lihat Use LogView V2.0 to view job information. > - Jika parameter SKYNET_NODENAME kosong, klik tab SQL Script untuk mendapatkan potongan kode. Cari node tersebut di konsol DataWorks menggunakan potongan kode tersebut. Untuk detailnya, lihat DataWorks code search.Cari node di konsol DataWorks menggunakan nilai SKYNET_NODENAME, lalu optimalkan.
Tren jumlah pekerjaan
Kenaikan biaya sering berkorelasi dengan lonjakan jumlah pekerjaan akibat operasi berulang atau pengaturan penjadwalan yang salah konfigurasi.
Metode Excel: Filter catatan dengan MeteringType ComputationSql. Hitung jumlah pekerjaan per hari untuk setiap proyek dan periksa lonjakan tidak biasa.
Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.
-- Analyze daily job count trends.
SELECT TO_CHAR(endtime,'yyyymmdd') AS ds
,projectid
,COUNT(*) AS tasknum
FROM maxcomputefee
WHERE TYPE = 'ComputationSql'
AND TO_CHAR(endtime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(endtime,'yyyymmdd')
,projectid
ORDER BY tasknum DESC
LIMIT 10000
;
Hasil ini menunjukkan tren pengiriman pekerjaan dari 12 hingga 14 Januari 2019.
Biaya penyimpanan
Biaya minimum untuk proyek kecil
Lihat catatan dengan MeteringType Storage. Proyek seperti maxcompute_doc yang hanya memiliki data 508 byte tetap dikenakan biaya CNY 0,01 karena penyimpanan hingga 512 MB ditagih dengan tarif minimum flat sesuai aturan penagihan penyimpanan.

Jika data hanya digunakan untuk pengujian:
Jalankan pernyataan
Drop Tableuntuk menghapus data tabel.Jika seluruh proyek tidak lagi diperlukan, login ke konsol MaxCompute dan hapus proyek di halaman Projects.
Data yang disimpan kurang dari satu hari
Lihat catatan dengan MeteringType Storage. Misalnya, proyek alian menyimpan data sebesar 333.507.833.900 byte, diunggah pukul 08.00. Penagihan dimulai pukul 09.07, sehingga menghasilkan biaya penyimpanan selama 15 jam. > Note: Ketika siklus penagihan adalah satu hari, penagihan berhenti di akhir setiap hari. Catatan per jam terakhir tidak termasuk dalam tagihan hari tersebut.
Hitung rata-rata penyimpanan dan biaya harian sesuai aturan penagihan penyimpanan:
-- Average storage 333507833900 Byte x 15 / 1024 / 1024 / 1024 / 24 = 194.127109076362103 GB -- Daily storage fee (standard storage: USD 0.0006/GB/day) 194.127109076362103 GB x USD 0.0006 per GB per day = USD 0.1165 per day
Analisis biaya penyimpanan dengan SQL
Rumus: Berlaku harga bertingkat. Penyimpanan kurang dari 0,5 GB: CNY 0,01/GB/hari. Penyimpanan 0,5 GB atau lebih: CNY 0,004/GB/hari.
Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.
-- Analyze storage fees.
SELECT t.ds
,t.projectid
,t.storage
,CASE WHEN t.storage < 0.5 THEN t.storage*0.01 --- If the actually used storage space of a project is greater than 0 MB and less than or equal to 512 MB, the unit price for the storage space is CNY 0.01 per GB per day.
WHEN t.storage >= 0.5 THEN t.storage*0.004 --- If the actually used storage space of a project is greater than 512 MB, the unit price for the storage space is CNY 0.004 per GB per day.
END storage_fee
FROM (
SELECT to_char(starttime,'yyyymmdd') as ds
,projectid
,SUM(storage/1024/1024/1024)/24 AS storage
FROM maxcomputefee
WHERE TYPE = 'Storage'
and to_char(starttime,'yyyymmdd') >= '20190112'
GROUP BY to_char(starttime,'yyyymmdd')
,projectid
) t
ORDER BY storage_fee DESC
;
Saran optimasi: Untuk mengurangi biaya penyimpanan, tentukan lifecycle untuk tabel dan hapus tabel temporary yang tidak diperlukan.
Biaya penyimpanan jangka panjang dan IA
Harga satuan dalam kueri SQL berikut mungkin tidak mencerminkan harga terbaru. Sebelum menggunakan kueri ini, verifikasi harga satuan terkini untuk penyimpanan jangka panjang, penyimpanan IA, dan biaya akses datanya di halaman Biaya penyimpanan, dan perbarui pengali harga dalam kueri tersebut.
Kueri berikut menganalisis biaya untuk penyimpanan jangka panjang (MeteringType: ColdStorage), penyimpanan Infrequent Access (MeteringType: LowFreqStorage), dan biaya akses datanya masing-masing (SqlLongterm dan SqlLowFrequency). Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.
-- Analyze long-term storage fees.
SELECT to_char(starttime,'yyyymmdd') as ds
,projectid
,SUM(storage/1024/1024/1024)/24*0.0011 AS longTerm_storage
FROM maxcomputefee
WHERE TYPE = 'ColdStorage'
and to_char(starttime,'yyyymmdd') >= '20190112'
GROUP BY to_char(starttime,'yyyymmdd')
,projectid;
-- Analyze the IA storage fees.
SELECT to_char(starttime,'yyyymmdd') as ds
,projectid
,SUM(storage/1024/1024/1024)/24*0.0011 AS lowFre_storage
FROM maxcomputefee
WHERE TYPE = 'LowFreqStorage'
and to_char(starttime,'yyyymmdd') >= '20190112'
GROUP BY to_char(starttime,'yyyymmdd')
,projectid;
-- Analyze long-term storage access fees.
SELECT to_char(starttime,'yyyymmdd') as ds
,projectid
,SUM(computationsqlinput/1024/1024/1024)*0.522 AS longTerm_IO
FROM maxcomputefee
WHERE TYPE = 'SqlLongterm'
and to_char(starttime,'yyyymmdd') >= '20190112'
GROUP BY to_char(starttime,'yyyymmdd')
,projectid;
-- Analyze IA storage access fees.
SELECT to_char(starttime,'yyyymmdd') as ds
,projectid
,SUM(computationsqlinput/1024/1024/1024)*0.522 AS lowFre_IO
FROM maxcomputefee
WHERE TYPE = 'SqlLowFrequency'
and to_char(starttime,'yyyymmdd') >= '20190112'
GROUP BY to_char(starttime,'yyyymmdd')
,projectid;Biaya unduhan
Rumus: Data yang diunduh (GB) × USD 0,1166/GB
Metode Excel: Filter catatan dengan MeteringType DownloadEx. Misalnya, catatan yang menunjukkan trafik unduhan 0,036 GB (38.199.736 byte) menghasilkan biaya:
(38.199.736 / 1024 / 1024 / 1024) × USD 0,1166 = USD 0,004
Lihat Biaya unduhan (pay-as-you-go) untuk aturan harga lengkap.
Saran optimasi: Periksa apakah layanan Tunnel Anda dikenakan biaya akses Internet. Untuk detail endpoint, lihat Endpoint. Misalnya, jika Anda berada di Suzhou (bagian dari wilayah China (Shanghai)) dan perlu mengunduh volume data besar, gunakan instans Elastic Compute Service (ECS) di wilayah China (Shanghai) untuk mengunduh data ke VM Anda terlebih dahulu, sehingga menghindari biaya unduhan Internet.
Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.
-- Analyze download fees.
SELECT TO_CHAR(starttime,'yyyymmdd') AS ds
,projectid
,SUM((download/1024/1024/1024)*0.1166) AS download_fee
FROM maxcomputefee
WHERE type = 'DownloadEx'
AND TO_CHAR(starttime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(starttime,'yyyymmdd')
,projectid
ORDER BY download_fee DESC
;Biaya pekerjaan MapReduce
Rumus: Jam penagihan × USD 0,0690/jam/tugas
Metode Excel: Filter catatan dengan MeteringType MapReduce. Hitung dan urutkan biaya menggunakan:
Fee = Number of cores × Running time (seconds) / 3600 × USD 0,0690
Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.
-- Analyze the fees of MapReduce jobs.
SELECT TO_CHAR(starttime,'yyyymmdd') AS ds
,projectid
,(cu_usage/3600)*0.0690 AS mr_fee
FROM maxcomputefee
WHERE type = 'MapReduce'
AND TO_CHAR(starttime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(starttime,'yyyymmdd')
,projectid
,cu_usage
ORDER BY mr_fee DESC
;Biaya pekerjaan Spark
Rumus: Jam penagihan × USD 0,1041/jam/tugas
Metode Excel: Filter catatan dengan MeteringType spark. Hitung biaya sebagai:
Fee = Number of cores × Running time (seconds) / 3600 × USD 0,1041
Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.
-- Analyze the fees of Spark jobs.
SELECT TO_CHAR(starttime,'yyyymmdd') AS ds
,projectid
,(cu_usage/3600)*0.1041 AS mr_fee
FROM maxcomputefee
WHERE type = 'spark'
AND TO_CHAR(starttime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(starttime,'yyyymmdd')
,projectid
,cu_usage
ORDER BY mr_fee DESC
;Biaya tabel eksternal (Tablestore dan OSS)
Rumus: Input data (GB) × USD 0,0044/GB
Metode Excel: Filter catatan dengan MeteringType ComputationSqlOTS atau ComputationSqlOSS. Hitung biaya sebagai:
Fee = SQLInput(Byte) / 1024 / 1024 / 1024 × USD 0,0044
Harga satuan dalam kueri SQL di bawah ini (0,03) tidak sesuai dengan harga satuan resmi saat ini (USD 0,0044/GB). Perbarui pengali harga dalam kueri agar sesuai dengan harga terkini di halaman Harga komputasi (pay-as-you-go).
Metode SQL: Pastikan pengunggahan data di Langkah 2 telah selesai dan tabel maxcomputefee tersedia.
-- Analyze the fees of SQL jobs that use Tablestore external tables.
SELECT TO_CHAR(starttime,'yyyymmdd') AS ds
,projectid
,(computationsqlinput/1024/1024/1024)*1*0.03 AS ots_fee
FROM maxcomputefee
WHERE type = 'ComputationSqlOTS'
AND TO_CHAR(starttime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(starttime,'yyyymmdd')
,projectid
,computationsqlinput
ORDER BY ots_fee DESC
;
-- Analyze the fees of SQL jobs that use OSS external tables.
SELECT TO_CHAR(starttime,'yyyymmdd') AS ds
,projectid
,(computationsqlinput/1024/1024/1024)*1*0.03 AS oss_fee
FROM maxcomputefee
WHERE type = 'ComputationSqlOSS'
AND TO_CHAR(starttime,'yyyymmdd') >= '20190112'
GROUP BY TO_CHAR(starttime,'yyyymmdd')
,projectid
,computationsqlinput
ORDER BY oss_fee DESC
;Referensi
TO_CHAR adalah fungsi tanggal atau string dalam SQL MaxCompute. Untuk detailnya, lihat TO_CHAR.
Untuk informasi lebih lanjut tentang fluktuasi tagihan dan analisis biaya, lihat View billing details.