अपने क्लाउड फायरस्टोर के उपयोग और लागतों को मापने के लिए एक बुनियादी चैट ऐप के इस वास्तविक दुनिया के उदाहरण का उपयोग करें। यह एक सटीक अनुमान नहीं है, लेकिन यह बेहतर ढंग से समझने में आपकी मदद कर सकता है कि आपके Cloud Firestore के उपयोग को कैसे बिल किया जाता है।
अवलोकन: उपयोग स्तर के अनुसार लागतें
विशिष्ट लागतों का वर्णन करने के लिए, एक उदाहरण चैट ऐप पर विचार करें, जहाँ उपयोगकर्ता दो या अधिक प्रतिभागियों के साथ चैट शुरू कर सकते हैं। उपयोगकर्ता सूची में अपनी सक्रिय चैट देख सकते हैं, संदेश पढ़ सकते हैं और संदेश भेज सकते हैं। इस उदाहरण के लिए, हम उत्तरी अमेरिका बहु-क्षेत्र (विशेष रूप से nam5
) के लिए मूल्य निर्धारण का उपयोग कर रहे हैं।
मान्यताओं
उपयोग और डेटा संग्रहण के बारे में निम्नलिखित मान्यताओं पर विचार करें:
- दैनिक सक्रिय उपयोगकर्ता (DAU) कुल ऐप इंस्टॉलेशन का 10% हैं। आप अपने दैनिक सक्रिय उपयोगकर्ताओं (डीएयू) के मोटे अनुमान का उपयोग करके अपनी दैनिक लागतों का अनुमान लगा सकते हैं। ये वे उपयोगकर्ता हैं जो किसी दिए गए दिन सक्रिय रूप से आपके ऐप को खोलते हैं और उसका उपयोग करते हैं, जो आमतौर पर आपके कुल ऐप इंस्टॉलेशन का एक छोटा सबसेट होता है। नीचे दी गई गणनाओं के लिए, हमने अनुमान लगाया है कि डीएयू ऐप इंस्टॉलेशन की कुल संख्या का 10% है।
- दस्तावेज़ का आकार अपेक्षाकृत छोटा है। प्रकार के आधार पर दस्तावेज़ आकार के विश्लेषण के लिए नीचे दी गई तालिका देखें।
- डेटा केवल तीन महीने के लिए संग्रहीत किया जाता है। उदाहरण चैट ऐप में संदेश केवल तीन महीने की अवधि के लिए संग्रहीत किए जाते हैं। डिलीट ऑपरेशन के लिए, नीचे दी गई गणना प्रत्येक दैनिक लेखन के लिए एक दैनिक डिलीट दिखाती है।
- ये लागत अनुमान उदाहरण ऐप की अधिकांश लागतों को दर्शाते हैं, लेकिन सभी को नहीं। हमने इस गाइड में बताए गए सबसे लगातार उपयोगकर्ता कार्यों के लिए संचालन, उपयोगकर्ता और संदेश भंडारण, और निकासी की गणना करके ऐप की अधिकांश लागतों का हिसाब लगाया है। हालांकि, आपको अपने ऐप की संरचना और डेटा आवश्यकताओं के आधार पर अतिरिक्त लागतों को ध्यान में रखना पड़ सकता है। अपनी गणनाओं को निर्देशित करने के लिए इस उदाहरण का उपयोग करें, लेकिन क्लाउड फायरस्टोर लागतों की अधिक गहन व्याख्या के लिए मूल्य निर्धारण पृष्ठ देखें।
उपयोगकर्ता कार्य द्वारा संचालन के विश्लेषण के लिए, विश्लेषण देखें : उपयोगकर्ता कार्य द्वारा बिल किए गए उपयोग अनुभाग।
छोटा
(50k इंस्टॉल)
50,000 ऐप्लिकेशन इंस्टॉल (5,000 दैनिक सक्रिय उपयोगकर्ता) के लिए: $12.14/माह
पढ़ने/लिखने की लागत | |||||
---|---|---|---|---|---|
कुल मासिक लागत = $11.10/माह | |||||
400K कुल दैनिक पढ़ता है | = | 50K नो-कॉस्ट रीड्स + (350K रीड्स $0.06/100K पर) | = | 3.5 * $0.06 | |
$0.21 / दिन * 30 = $6.30 | |||||
100K कुल दैनिक लिखता है | = | 20K नो-कॉस्ट राइट्स + (80K राइट्स $0.18/100K पर) | = | .8 * $0.18 | |
$0.14 / दिन * 30 = $4.20 | |||||
100K कुल दैनिक विलोपन | = | 20K नो-कॉस्ट डिलीट + (80K डिलीट $0.02/100K पर) | = | .8 * $0.02 | |
$0.02 / दिन * 30 = $0.60 |
भंडारण/नेटवर्किंग लागत | |||||||
---|---|---|---|---|---|---|---|
कुल मासिक लागत = $1.04/माह | |||||||
20KB / दैनिक निकास का DAU * 5K DAUs | = | 100 एमबी दैनिक निकास * 30 | = | 3GB मासिक नेटवर्क इग्रेस | |||
3 जीबी नो-कॉस्ट इग्रेस = नो-कॉस्ट 1 | |||||||
15KB दैनिक संदेश संग्रहण / DAU + 3KB संग्रहण / स्थापना 2 | = | 45KB स्टोरेज / DAU * 5K DAU | = | 225 एमबी दैनिक भंडारण / डीएयू * 30 | = | 6.75GB मासिक भंडारण उपयोग | |
1GB नो-कॉस्ट स्टोरेज + (5.75 * $0.18) = $1.04 / महीना |
1 10GB मासिक नेटवर्क निकास Cloud Firestore के लिए निःशुल्क है।
2 चूंकि हमारी धारणा है कि DAU कुल एप्लिकेशन इंस्टॉल का 10% है, इसलिए यह संख्या उन उपयोगकर्ताओं की कुल संख्या के लिए है जिन्होंने आपका ऐप इंस्टॉल किया है।
मध्यम
(1M इंस्टॉल)
1,000,000 ऐप इंस्टॉल (100,000 दैनिक सक्रिय उपयोगकर्ता) के लिए: $292.02/माह
पढ़ने/लिखने की लागत | |||||
---|---|---|---|---|---|
कुल मासिक लागत = $261.90/माह | |||||
कुल 8M दैनिक पढ़ता है | = | 50K नो-कॉस्ट रीड्स + (7.95M रीड्स $0.06/100K) | = | 79.5 * $0.06 | |
$4.77 / दिन * 30 = $143.10 | |||||
2M कुल दैनिक लिखता है | = | 20K नो-कॉस्ट राइट्स + (1.98M राइट्स $0.18/100K पर) | = | 19.8 * $0.18 | |
$3.56 / दिन * 30 = $106.80 | |||||
2M कुल दैनिक विलोपन | = | 20K नो-कॉस्ट डिलीट + (1.98M $0.02/100K पर डिलीट) | = | 19.8 * $0.02 | |
$0.40 / दिन * 30 = $12.00 |
भंडारण/नेटवर्किंग लागत | |||||||
---|---|---|---|---|---|---|---|
कुल मासिक लागत = $30.12/माह | |||||||
20KB / दैनिक निकास का DAU * 100K DAUs | = | 2 जीबी दैनिक निकास * 30 | = | 60GB मासिक नेटवर्क इग्रेस | |||
10 जीबी नो-कॉस्ट इग्रेस + (50जीबी इग्रेस * $0.12/जीबी) = $6.00 / माह | |||||||
15KB दैनिक संदेश संग्रहण / DAU + 3KB संग्रहण / स्थापना 1 | = | 45KB स्टोरेज / DAU * 100K DAU | = | 4.5 जीबी दैनिक भंडारण / डीएयू * 30 | = | 135 जीबी मासिक भंडारण उपयोग | |
1GB नो-कॉस्ट स्टोरेज + (134GB * $0.18/GB) = $24.12 / महीना |
1 चूंकि हमारी धारणा यह है कि DAU कुल ऐप इंस्टॉल का 10% है, यह संख्या उन उपयोगकर्ताओं की कुल संख्या के लिए है जिन्होंने आपके ऐप को इंस्टॉल किया है।
विशाल
(10M इंस्टॉल)
10,000,000 ऐप इंस्टॉल (1,000,000 दैनिक सक्रिय उपयोगकर्ता) के लिए: $2951.52
पढ़ने/लिखने की लागत | |||||
---|---|---|---|---|---|
कुल मासिक लागत = कुल: $2637.90/माह | |||||
80M कुल दैनिक पढ़ता है | = | 50K नो-कॉस्ट रीड्स + (79.95M रीड्स $0.06/100K पर) | = | 799.5 * $0.06 | |
$47.97 / दिन * 30 = $1439.10 | |||||
20M कुल दैनिक लिखता है | = | 20K नो-कॉस्ट राइट्स + (19.98M राइट्स $0.18/100K पर) | = | 199.8 * $0.18 | |
$35.96 / दिन * 30 = $1078.80 | |||||
20M कुल दैनिक विलोपन | = | 20K नो-कॉस्ट डिलीट + (19.98M $0.02/100K पर डिलीट) | = | 199.8 * $0.02 | |
$4.00 / दिन * 30 = $120.00 |
भंडारण/नेटवर्किंग लागत | |||||||
---|---|---|---|---|---|---|---|
कुल मासिक लागत = $313.62/माह | |||||||
20KB / दैनिक निकास का DAU * 1M DAUs | = | 20 जीबी दैनिक निकास * 30 | = | 600GB मासिक नेटवर्क इग्रेस | |||
10 जीबी नो-कॉस्ट इग्रेस + (590जीबी इग्रेस * $0.12/जीबी) = $70.80/माह | |||||||
15KB दैनिक संदेश संग्रहण / DAU + 3KB संग्रहण / स्थापना 1 | = | 45 केबी स्टोरेज / डीएयू * 1 एम डीएयू | = | 45 जीबी दैनिक भंडारण / डीएयू * 30 | = | 1350GB मासिक भंडारण उपयोग | |
(1GB नो-कॉस्ट स्टोरेज) + (1349GB * $0.18/GB) = $242.82 / महीना |
1 चूंकि हमारी धारणा यह है कि DAU कुल ऐप इंस्टॉल का 10% है, यह संख्या उन उपयोगकर्ताओं की कुल संख्या के लिए है जिन्होंने आपके ऐप को इंस्टॉल किया है।
क्लाउड फायरस्टोर बिलिंग मॉडल का एक लाभ विचार करने योग्य है कि आप केवल उसी चीज का भुगतान करते हैं जिसका आप उपयोग करते हैं। परिणामस्वरूप, आपका बिल आपकी DAU गणना के साथ बढ़ या घट सकता है।
ब्रेकडाउन: उपयोगकर्ता कार्य द्वारा बिल किया गया उपयोग
हमारे उदाहरण चैट ऐप के लिए, डेटा संरचना इस प्रकार है:
-
users/{userId}
— उपयोगकर्ता रिकॉर्ड -
groups/{groupId}
— 2 या अधिक उपयोगकर्ताओं के बीच चैट करें-
messages/{messageId}
— चैट में प्रत्येक संदेश।
-
आधार सामग्री भंडारण
ऐप के डेटा को संग्रहीत करने के लिए संग्रहण लागतों की गणना करने के लिए, दस्तावेज़ आकारों के बारे में निम्नलिखित धारणाएँ लागू करें:
संग्रह | दस्तावेज़ का आकार (मार्ग में) | दस्तावेज़ का आकार (डिस्क पर)* |
---|---|---|
उपयोगकर्ताओं | 1केबी | 3केबी |
समूहों | 0.5 केबी | 1.5 केबी |
संदेशों | 0.25 केबी | 0.75 केबी |
*इस आकार की गणना में संदेश फ़ील्ड के लिए अनुक्रमणिका शामिल होती है, लेकिन मान लिया जाता है कि संदेश सामग्री के लिए अनुक्रमण अक्षम है।
ऐप केवल उन संदेशों को संग्रहीत करता है जो भंडारण लागत कम करने के लिए तीन महीने तक पुराने हैं।
भंडारण लागतों की गणना के बारे में अधिक जानकारी के लिए, भंडारण आकार गणनाओं को समझना देखें।
संचालन
उपयोगकर्ता आमतौर पर ऐप में निम्नलिखित सामान्य कार्यों को पूरा करते हैं:
- चैट की सूची देखें: उपयोगकर्ता ऐप की होम स्क्रीन खोलते हैं और हाल ही में पोस्ट किए गए संदेश द्वारा आदेशित चैट (समूह और प्रत्यक्ष) की सूची देखते हैं।
- चैट में संदेश पढ़ें: उपयोगकर्ता होम स्क्रीन से चैट का चयन करते हैं और चैट से हाल के संदेशों को पढ़ते हैं।
- चैट को संदेश भेजें: उपयोगकर्ता चैट (समूह या प्रत्यक्ष) को संदेश भेजते हैं।
तीन विशिष्ट उपयोगकर्ता कार्यों के लिए क्लाउड फायरस्टोर में उदाहरण ऐप के कुल अनुमानित संचालन इस प्रकार हैं:
- पढ़ता है: (5 * 10) + (30) = 80 पढ़ता / उपयोगकर्ता / दिन
- लिखता है: (10 * 2) = 20 लिखता है / उपयोगकर्ता / दिन
- नेटवर्क इग्रेस : (50 * 0.25 केबी) + (30 * 0.25 केबी) = 20 केबी / उपयोगकर्ता / दिन
- भंडारण : (20 * 0.75 केबी) = 15 केबी / उपयोगकर्ता / दिन
उपयोगकर्ता कार्य द्वारा कुल उपयोग
ऐप में संचालन, भंडारण और नेटवर्किंग लागतों का पूर्ण विवरण और ब्रेकडाउन देखने के लिए प्रत्येक उपयोगकर्ता कार्य का चयन करें।
चैट की सूची देखें
ऐप की होम स्क्रीन 25 नवीनतम चैट को लोड करती है, 25 दस्तावेज़ पढ़ने के लिए शुल्क लगता है। मान लें कि एक सक्रिय उपयोगकर्ता प्रति दिन 5 बार ऐप खोलता है, प्रत्येक दिन प्रति उपयोगकर्ता कुल 125 पढ़ता है। हालाँकि, अधिक कुशल क्वेरीज़, जैसे निम्न उदाहरण में एक, इस भार को कम कर सकती हैं।
नीचे दिए गए उदाहरण में, हम ऐप द्वारा संग्रहीत प्रत्येक सफल फ़ेच के टाइमस्टैम्प का उपयोग करके क्वेरी को नई चैट तक सीमित करते हैं:
db.collection('groups') .where('participants', 'array-contains', 'user123') .where('lastUpdated', '>', lastFetchTimestamp) .orderBy('lastUpdated', 'desc') .limit(25)
मान लें कि हर बार जब उपयोगकर्ता ऐप की जांच करता है तो औसतन 10 अपडेटेड चैट होती हैं। यह क्वेरी केवल 10 दस्तावेज़ पढ़ती है।
चैट में संदेश पढ़ें
उपयोगकर्ता हाल के संदेशों को देखने के लिए होम स्क्रीन से चैट थ्रेड्स में क्लिक करते हैं, प्रारंभिक लोड में 50 सबसे हालिया संदेशों को लोड करते हैं।
मान लें कि विशिष्ट उपयोगकर्ता इस क्रिया को प्रतिदिन 5 बार करता है (हर बार जब वे होम स्क्रीन खोलते हैं), तो प्रत्येक दिन प्रति उपयोगकर्ता कुल 250 रीड्स होते हैं। हम अपनी क्वेरी को पिछले फ़ेच समय से नए संदेशों तक सीमित कर सकते हैं:
db.collection('groups') .doc('group234') .collection('messages') .where('sentTime', '>', lastFetchTimestamp) .orderBy('sentTime', 'desc') .limit(50)
मान लें कि एक उपयोगकर्ता को सभी चैट में एक दिन में लगभग 30 संदेश मिलते हैं। चूंकि आपने नए संदेशों को लाने के लिए क्वेरी को सीमित कर दिया है, इसलिए यह केवल 30 पुनः प्राप्त संदेशों/दिनों का अनुवाद करता है।
चैट पर संदेश भेजें
चैट में शामिल होने के बाद उपयोगकर्ता अन्य प्रतिभागियों को संदेश भेज सकते हैं। मान लें कि एक सक्रिय उपयोगकर्ता प्रति दिन लगभग 10 संदेश भेजता है।
प्रत्येक भेजे गए संदेश के कारण दो दस्तावेज़ लिखे जाएंगे: एक चैट के messages
lastUpdated
के लिए लिखता है और एक चैट पेरेंट दस्तावेज़ को अंतिम अद्यतन टाइमस्टैम्प और अन्य मेटाडेटा को अपडेट करने के लिए लिखता है।
ध्यान दें कि इन संदेशों को पढ़ने की लागत अन्य यात्राओं में शामिल की गई है, इसलिए नीचे दिए गए योग केवल इस लिखने की लागत पर विचार करते हैं।
शामिल लाभ: आपके ऐप के लिए निःशुल्क सेवाएं
जबकि Cloud Firestore संचालन, भंडारण और नेटवर्क बैंडविड्थ सभी को बिल योग्य उपयोग माना जाता है, आपको बिना किसी अतिरिक्त लागत के कई अन्य लाभ भी मिलते हैं। जब आप Cloud Firestore की तुलना अन्य डेटाबेस विकल्पों से करते हैं, तो निम्नलिखित सेवाओं पर विचार करें, जो निःशुल्क हैं:
- डायरेक्ट क्लाइंट एक्सेस: क्लाउड फायरस्टार को हमारे स्थानीय एसडीके का उपयोग करके सीधे आपके क्लाइंट कोड से एक्सेस किया जाता है। इसका मतलब है कि आपको अपने मोबाइल क्लाइंट को डेटाबेस से जोड़ने के लिए एपीआई सर्वर बनाने और चलाने की जरूरत नहीं है।
- भार संतुलन: क्योंकि क्लाउड फायरस्टोर आपके डेटाबेस में यातायात का समर्थन करने के लिए स्वचालित रूप से मापता है, इसलिए आपको लोड संतुलन चलाने की आवश्यकता नहीं है।
- सर्वर अपटाइम: क्लाउड फायरस्टोर डेटाबेस Google क्लाउड सर्वर पर काम करता है, जो 99% से अधिक मासिक अपटाइम प्रदान करता है।
- प्रमाणीकरण: असीमित उपयोगकर्ताओं को आसानी से और सुरक्षित रूप से फायरबेस प्रमाणीकरण के साथ प्रमाणित करें। फायरबेस ऑथेंटिकेशन सीधे क्लाउड फायरस्टोर के साथ एकीकृत होता है, इसलिए आपको अपनी खुद की ऑथेंटिकेशन सर्विस चलाने की जरूरत नहीं है।
- पुश सूचनाएँ: क्लाउड संदेश सेवा के साथ संदेश और सूचनाएँ भेजें।
- अन्य फायरबेस उत्पाद: ए/बी टेस्टिंग, एनालिटिक्स, क्रैशलिटिक्स, परफॉर्मेंस मॉनिटरिंग और रिमोट कॉन्फिग सहित अन्य फायरबेस उत्पादों को बिना किसी लागत के एकीकृत करें। अन्य Firebase उत्पादों और Firebase मूल्य निर्धारण के बारे में अधिक जानें।