Contoh penagihan

Gunakan contoh nyata aplikasi chat dasar ini untuk mengukur penggunaan dan biaya Firestore Anda. Ini bukan perkiraan persis, tetapi dapat membantu Anda lebih memahami penagihan penggunaan Firestore Anda.

Ringkasan: Biaya berdasarkan tingkat penggunaan

Untuk mengilustrasikan biaya umum, pertimbangkan aplikasi chat contoh, yang dapat digunakan pengguna untuk memulai chat dengan dua peserta atau lebih. Pengguna dapat melihat chat aktif di dalam daftar, membaca pesan, dan mengirim pesan. Untuk contoh ini, kami menggunakan harga untuk multi-region Amerika Utara (khususnya nam5).

Asumsi

Perhatikan asumsi terkait penggunaan dan penyimpanan data berikut:

  • Pengguna Aktif Harian (DAU) sebesar 10% dari total penginstalan aplikasi. Anda dapat memperkirakan biaya harian dengan menggunakan estimasi kasar untuk jumlah Pengguna Aktif Harian (DAU). Ini adalah pengguna yang secara aktif membuka dan menggunakan aplikasi Anda pada hari tertentu, yang biasanya merupakan sebagian kecil dari total penginstalan aplikasi Anda. Untuk penghitungan di bawah ini, kami memperkirakan DAU sebesar 10% dari total jumlah penginstalan aplikasi.
  • Ukuran dokumen relatif kecil. Lihat tabel di bawah ini untuk perincian ukuran dokumen berdasarkan jenis.
  • Data hanya disimpan selama tiga bulan. Pesan dalam aplikasi chat contoh hanya disimpan selama tiga bulan. Untuk memperhitungkan operasi penghapusan, penghitungan di bawah ini menunjukkan penghapusan harian untuk setiap operasi tulis harian.
  • Perkiraan biaya ini mencerminkan sebagian besar biaya aplikasi contoh, tetapi tidak semuanya. Kami telah memperhitungkan sebagian besar biaya aplikasi dengan menghitung operasi, penyimpanan pengguna dan pesan, serta akses keluar untuk tugas pengguna yang paling sering dilakukan, yang diuraikan dalam panduan ini. Namun, Anda mungkin perlu memperhitungkan biaya tambahan, tergantung pada struktur aplikasi dan kebutuhan data. Gunakan contoh ini untuk memandu penghitungan Anda, tetapi lihat halaman harga untuk penjelasan tentang biaya Firestore yang lebih menyeluruh.

Untuk perincian operasi berdasarkan tugas pengguna, lihat bagian Perincian: Tagihan penggunaan berdasarkan tugas pengguna.

Kecil
(50 ribu penginstalan)

Untuk 50.000 penginstalan aplikasi (5.000 Pengguna Aktif Harian): $12,14/bulan

Biaya Operasi Baca/Tulis
Total biaya bulanan = $11,10/bulan
Total 400 ribu operasi baca harian =   50 ribu operasi baca gratis + (350 ribu operasi baca dengan biaya $0,06/100 ribu) =   3,5 * $0,06
$0,21 / hari * 30 = $6,30
 
Total 100 ribu operasi tulis harian =   20 ribu operasi tulis gratis + (80 ribu operasi tulis dengan biaya $0,18/100 ribu) =   0,8 * $0,18
$0,14 / hari * 30 = $4,20
 
Total 100 ribu operasi hapus harian =   20 ribu operasi hapus gratis + (80 ribu operasi hapus dengan biaya $0,02/100 ribu) =   0,8 * $0,02
$0,02 / hari * 30 = $0,60
Biaya Penyimpanan/Jaringan
Total biaya bulanan = $1,04/bulan
20 KB/DAU akses keluar harian * 5 ribu DAU =   100 MB akses keluar harian * 30 =   3 GB akses keluar jaringan bulanan
3 GB akses keluar jaringan tanpa biaya = Gratis1
 
15 KB penyimpanan pesan harian/DAU + 3 KB penyimpanan/penginstalan2 =   45 KB penyimpanan/DAU * 5 ribu DAU =   225 MB penyimpanan harian/DAU * 30 =   6,75 GB penggunaan penyimpanan bulanan
1 GB penyimpanan gratis + (5,75 * $0,18) = $1,04/bulan

1 Firestore jaringan keluar sebesar 10 GB tidak dikenai biaya.
2 Karena asumsi kami DAU adalah 10% dari total penginstalan aplikasi, jumlah ini merupakan jumlah total pengguna yang telah menginstal aplikasi Anda.

Medium
(1 juta penginstalan)

Untuk 1.000.000 penginstalan aplikasi (100.000 Pengguna Aktif Harian): $292,02/bulan

Biaya Operasi Baca/Tulis
Total biaya bulanan = $261,90/bulan
Total 8 juta operasi baca harian =   50 ribu operasi baca gratis + (7,95 juta operasi baca dengan biaya $0,06/100 ribu) =   79,5 * $0,06
$4,77 / hari * 30 = $143,10
 
Total 2 juta operasi baca harian =   20 ribu operasi tulis gratis + (1,98 juta operasi tulis dengan biaya $0,18/100 ribu) =   19,8 * $0,18
$3,56 / hari * 30 = $106,80
 
Total 2 juta operasi hapus harian =   20 ribu operasi hapus gratis + (1,98 juta operasi hapus dengan biaya $0,02/100 ribu) =   19,8 * $0,02
$0,40 / hari * 30 = $12,00
Biaya Penyimpanan/Jaringan
Total biaya bulanan = $30,12/bulan
20 KB/DAU akses keluar harian * 100 ribu DAU =   2 GB akses keluar harian * 30 =   60 GB akses keluar jaringan bulanan
10 GB akses keluar jaringan gratis + (50 GB akses keluar * $0,12/GB) = $6,00/bulan
 
15 KB penyimpanan pesan harian/DAU + 3 KB penyimpanan/penginstalan1 =   45 KB penyimpanan/DAU * 100 ribu DAU =   4,5 GB penyimpanan harian/DAU * 30 =   135 GB penggunaan penyimpanan bulanan
Penyimpanan gratis 1 GB + (134 GB * $0,18/GB) = $24,12/bulan

1 Karena asumsi kami adalah bahwa DAU sebesar 10% dari total penginstalan aplikasi, jumlah ini merupakan jumlah total pengguna yang telah menginstal aplikasi Anda.

Besar
(10 juta penginstalan)

Untuk 10.000.000 penginstalan aplikasi (1.000.000 Pengguna Aktif Harian): $2.951,52

Biaya Operasi Baca/Tulis
Total biaya bulanan = Total: $2.637,90/bulan
Total 80 juta operasi baca harian =   50 ribu operasi baca gratis + (79,95 juta operasi baca dengan biaya $0,06/100 ribu) =   799,5 * $0,06
$47,97 / hari * 30 = $1.439,10
 
Total 20 juta operasi tulis harian =   20 ribu operasi tulis gratis + (19,98 juta operasi tulis dengan biaya $0,18/100 ribu) =   199,8 * $0,18
$35,96 / hari * 30 = $1.078,80
 
Total 20 juta operasi hapus harian =   20 ribu operasi hapus gratis + (19,98 juta operasi hapus dengan biaya $0,02/100 ribu) =   199,8 * $0,02
$4,00 / hari * 30 = $120,00
Biaya Penyimpanan/Jaringan
Total biaya bulanan = $313,62/bulan
20 KB/DAU akses keluar harian * 1 juta DAU =   20 GB akses keluar harian * 30 =   600 GB akses keluar jaringan bulanan
10 GB akses keluar jaringan gratis + (590 GB akses keluar * $0,12/GB) = $70,80/bulan
 
15 KB penyimpanan pesan harian/DAU + 3 KB penyimpanan/penginstalan1 =   45 KB penyimpanan/DAU * 1 juta DAU =   45 GB penyimpanan harian/DAU * 30 =   1.350 GB penggunaan penyimpanan bulanan
(1 GB penyimpanan gratis) + (1.349 GB * $0,18/GB) = $242,82/bulan

1 Karena asumsi kami adalah bahwa DAU sebesar 10% dari total penginstalan aplikasi, jumlah ini merupakan jumlah total pengguna yang telah menginstal aplikasi Anda.

Manfaat model penagihan Firestore yang patut dipertimbangkan adalah Anda hanya membayar sesuai penggunaan. Akibatnya, tagihan Anda dapat bertambah dan menyusut, sesuai dengan jumlah DAU Anda.

Perincian: Tagihan penggunaan berdasarkan tugas pengguna

Untuk contoh aplikasi chat kami, struktur datanya adalah sebagai berikut:

  • users/{userId} — Catatan pengguna
  • groups/{groupId} — Chat antara 2 pengguna atau lebih
    • messages/{messageId} - Setiap pesan dalam chat.

Penyimpanan data

Untuk menghitung biaya penyimpanan guna menyimpan data aplikasi, terapkan asumsi mengenai ukuran dokumen berikut:

Koleksi Ukuran Dokumen (saat transit) Ukuran Dokumen (pada disk)*
pengguna 1 KB 3 KB
grup 0,5 KB 1,5 KB
pesan 0,25 KB 0,75 KB

*Penghitungan ukuran ini mencakup indeks untuk kolom pesan, tetapi menganggap pengindeksan dinonaktifkan untuk konten pesan.

Aplikasi ini juga hanya menyimpan pesan yang berusia hingga tiga bulan, untuk menghemat biaya penyimpanan.

Untuk informasi lebih lanjut tentang penghitungan biaya penyimpanan, lihat Memahami penghitungan ukuran penyimpanan.

Operasi

Pengguna biasanya menyelesaikan tugas umum berikut dalam aplikasi:

  • Melihat daftar chat: Pengguna membuka layar utama aplikasi dan melihat daftar chat (grup dan langsung) yang diurutkan berdasarkan pesan terbaru yang diposting.
  • Membaca pesan dalam chat: Pengguna memilih chat dari layar utama dan membaca pesan terbaru dari chat.
  • Mengirim pesan ke chat: Pengguna mengirim pesan ke chat (grup atau langsung).

Perkiraan total operasi aplikasi contoh di Firestore untuk tiga tugas pengguna standar adalah sebagai berikut:

  • Operasi Baca: (5 * 10) + (30) = 80 operasi baca/pengguna/hari
  • Operasi Tulis: (10 * 2) = 20 operasi tulis/pengguna/hari
  • Akses Keluar Jaringan: (50 * 0,25 KB) + (30 * 0,25 KB) = 20 KB/pengguna/hari
  • Penyimpanan: (20 * 0,75 KB) = 15 KB/pengguna/hari

Total penggunaan berdasarkan tugas pengguna

Pilih setiap tugas pengguna untuk melihat deskripsi lengkap dan perincian biaya operasi, penyimpanan, dan jaringan di aplikasi.

Melihat daftar chat

Layar utama aplikasi memuat 25 chat terbaru, yang menimbulkan biaya untuk 25 pembacaan dokumen. Dengan mengasumsikan bahwa seorang pengguna aktif membuka aplikasi 5 kali per hari, maka menghasilkan total 125 operasi baca per pengguna setiap hari. Namun, kueri yang lebih efisien, seperti yang ada dalam contoh berikut, dapat mengurangi beban ini.

Pada contoh di bawah, kami membatasi kueri ke chat baru menggunakan stempel waktu dari setiap pengambilan yang berhasil, yang disimpan oleh aplikasi:

db.collection('groups')
  .where('participants', 'array-contains', 'user123')
  .where('lastUpdated', '>', lastFetchTimestamp)
  .orderBy('lastUpdated', 'desc')
  .limit(25)

Asumsikan ada rata-rata 10 chat yang diperbarui setiap kali pengguna memeriksa aplikasi. Kueri ini hanya menimbulkan 10 operasi baca dokumen.

Membaca pesan dalam chat

Pengguna mengklik rangkaian pesan chat dari layar utama untuk melihat pesan terbaru, yang memuat 50 pesan terbaru di pemuatan awal.

Anggap pengguna biasa melakukan tindakan ini 5 kali sehari (satu kali untuk setiap kali mereka membuka layar utama), sehingga menghasilkan total 250 operasi baca per pengguna setiap hari. Kami juga dapat membatasi kueri untuk pesan baru sejak waktu pengambilan terakhir:

db.collection('groups')
  .doc('group234')
  .collection('messages')
  .where('sentTime', '>', lastFetchTimestamp)
  .orderBy('sentTime', 'desc')
  .limit(50)

Asumsikan bahwa pengguna mendapat sekitar 30 pesan sehari di semua chat. Karena Anda membatasi kueri untuk mengambil pesan baru, berarti hanya 30 pesan yang diambil/hari.

Mengirim pesan ke chat

Pengguna dapat mengirim pesan ke peserta lain begitu memulai chat. Asumsikan bahwa seorang pengguna aktif mengirim sekitar 10 pesan per hari.

Setiap pesan yang dikirim akan menyebabkan dua penulisan dokumen: satu penulisan ke subkoleksi messages chat dan satu penulisan ke dokumen induk chat untuk memperbarui stempel waktu lastUpdated dan metadata lainnya.

Perhatikan bahwa biaya membaca pesan ini telah diperhitungkan dalam proses yang lain, sehingga total di bawah ini hanya mempertimbangkan biaya penulisan ini.

Tagihan penggunaan untuk tugas administrator

Sebagai pemilik atau administrator aplikasi, Anda mungkin ingin membuat laporan dari data aplikasi. Misalnya, Anda dapat mempertahankan jumlah harian untuk sejumlah pesan yang dikirim oleh pengguna. Anda dapat melakukannya dengan agregasi count() dari kelompok koleksi messages.

Untuk kueri agregasi seperti count(), Anda dikenai biaya operasi satu dokumen untuk setiap batch hingga 1.000 entri indeks yang cocok dengan kueri. Menjalankan agregasi harian ini akan menambahkan tagihan bulanan berikut:

Kecil
(50 ribu penginstalan)

Untuk 50.000 penginstalan aplikasi (5.000 DAU): $0,0009/bulan

5.000 pengguna aktif * 10 pesan baru per pengguna = 50.000 dokumen pesan baru per hari

50.000 dokumen dihitung/1.000 kecocokan indeks per biaya operasi baca = 50 pembacaan

50 operasi baca per hari * 30 hari = 1.500 operasi baca per bulan

1.500 operasi baca per bulan * 0,06/100.000 harga operasi baca = $0,0009 per bulan

Medium
(1 juta penginstalan)

Untuk 1.000.000 penginstalan aplikasi (100.000 Pengguna Aktif Harian): $0,018/bulan

100.000 pengguna aktif * 10 pesan baru per pengguna = 1.000.000 dokumen pesan baru per hari

1.000.000 dokumen dihitung/1.000 kecocokan indeks per biaya operasi baca = 1.000 pembacaan

1.000 operasi baca per hari * 30 hari = 30.000 operasi baca per bulan

30.000 operasi baca per bulan * 0,06/100.000 harga baca = $0,018 per bulan

Besar
(10 juta penginstalan)

Untuk 10.000.000 penginstalan aplikasi (1.000.000 Pengguna Aktif Harian): $0,18

1.000.000 pengguna aktif * 10 pesan baru per pengguna = 10.000.000 dokumen pesan baru per hari

10.000.000 dokumen dihitung/1.000 kecocokan indeks per biaya operasi baca = 10.000 pembacaan

10.000 operasi baca per hari * 30 hari = 300.000 operasi baca per bulan

300.000 operasi per bulan * 0,06/100000 harga baca = $ 0,18 per bulan