Gunakan contoh nyata aplikasi chat dasar ini untuk mengukur penggunaan dan biaya Cloud Firestore Anda. Meskipun bukan perkiraan yang tepat, contoh ini dapat membantu Anda untuk lebih memahami penagihan penggunaan Cloud 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 Cloud 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 10 GB akses keluar jaringan bulanan gratis untuk Cloud Firestore.
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 DAU adalah 10% dari total penginstalan aplikasi, 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 DAU adalah 10% dari total penginstalan aplikasi, ini merupakan jumlah total pengguna yang telah menginstal aplikasi Anda.
Manfaat dari model penagihan Cloud Firestore yang patut dipertimbangkan adalah Anda hanya membayar untuk apa yang Anda gunakan. 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 penggunagroups/{groupId}
- Chat antara 2 pengguna atau lebihmessages/{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).
Estimasi total operasi aplikasi contoh di Cloud 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
Manfaat yang disertakan: Layanan tanpa biaya untuk aplikasi Anda
Meskipun operasi, penyimpanan, dan bandwidth jaringan Cloud Firestore dianggap sebagai penggunaan yang dapat ditagih, Anda juga mendapatkan berbagai manfaat lainnya tanpa biaya tambahan. Pertimbangkan bahwa layanan berikut gratis jika Anda membandingkan Cloud Firestore dengan opsi database lainnya:
- Akses klien langsung: Cloud Firestore diakses langsung dari kode klien Anda menggunakan SDK asli kami. Ini berarti Anda tidak perlu membangun dan menjalankan server API untuk menghubungkan klien seluler Anda ke database.
- Load balancing: Karena Cloud Firestore menskalakan secara otomatis untuk mendukung traffic ke database Anda, Anda tidak perlu menjalankan load balancer.
- Waktu beroperasi server: Database Cloud Firestore beroperasi di server Google Cloud dengan menawarkan lebih dari 99% waktu beroperasi bulanan.
- Autentikasi: Autentikasi pengguna tanpa batas secara mudah dan aman dengan Firebase Authentication. Firebase Authentication terintegrasi langsung dengan Cloud Firestore, sehingga Anda tidak perlu menjalankan layanan autentikasi Anda sendiri.
- Notifikasi push: Kirim pesan dan notifikasi dengan Cloud Messaging.
- Produk Firebase lainnya: Integrasikan produk Firebase lainnya secara gratis, termasuk A/B Testing, Analytics, Crashlytics, Performance Monitoring, dan Remote Config. Pelajari produk Firebase lainnya dan harga Firebase lebih lanjut.