Cloud Firestore की सीमाओं को समझने के लिए, इस गाइड का इस्तेमाल करें. साथ ही, Cloud Firestore की कीमतों के बारे में पूरी जानकारी पाने के लिए, Cloud Firestore की कीमत देखें. इसमें, उन चीज़ों के बारे में भी बताया गया है जिनका ध्यान रखना ज़रूरी है.
डेटा के इस्तेमाल पर नज़र रखना
Cloud Firestore के इस्तेमाल को मॉनिटर करने के लिए, Firebase console में Cloud Firestore इस्तेमाल टैब खोलें. अलग-अलग समयावधि के हिसाब से, अपने खाते के इस्तेमाल का आकलन करने के लिए डैशबोर्ड का इस्तेमाल करें.
Google Cloud कंसोल में, इस्तेमाल से जुड़ी ज़्यादा जानकारी
Firebase प्रोजेक्ट बनाते समय, एक Google Cloud प्रोजेक्ट भी बनाया जाता है. Google Cloud कंसोल के Cloud Firestore एपीआई कोटा और App Engine कोटा पेज पर, Cloud Firestore के इस्तेमाल और कोटा की जानकारी ट्रैक की जाती है.
मुफ़्त कोटा
Cloud Firestore मुफ़्त कोटा ऑफ़र करता है, जिसकी मदद से बिना किसी शुल्क के (default)
डेटाबेस का इस्तेमाल शुरू किया जा सकता है. मुफ़्त कोटा की जानकारी नीचे दी गई है.
अगर आपको ज़्यादा कोटा चाहिए, तो आपको अपने Google Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करनी होगी.
कोटा हर दिन लागू होते हैं और पैसिफ़िक टाइम के मुताबिक आधी रात को रीसेट होते हैं.
सिर्फ़ (default)
डेटाबेस के लिए, मुफ़्त कोटा मिलता है.
फ़्री टियर | कोटा |
---|---|
संग्रहित डेटा | 1 जीआईबी |
दस्तावेज़ पढ़ना | हर दिन 50,000 |
दस्तावेज़ लिखना | हर दिन 20,000 |
दस्तावेज़ मिटाना | हर दिन 20,000 |
आउटबाउंड डेटा ट्रांसफ़र | हर महीने 10 जीबी |
नीचे दिए गए ऑपरेशन और सुविधाओं के लिए, बिना शुल्क के इस्तेमाल की सुविधा उपलब्ध नहीं है. इन सुविधाओं का इस्तेमाल करने के लिए, आपको बिलिंग की सुविधा चालू करनी होगी:
- नाम वाले (डिफ़ॉल्ट नहीं) डेटाबेस का इस्तेमाल
- टीटीएल मिटाना
- पीआईटीआर डेटा
- डेटा का बैक अप लेना
- कार्रवाइयों को वापस लाना
इन सुविधाओं के लिए बिलिंग के तरीके के बारे में ज़्यादा जानने के लिए, स्टोरेज की कीमत देखें.
स्टैंडर्ड सीमाएं
नीचे दी गई टेबल में, Cloud Firestore पर लागू होने वाली सीमाएं दिखाई गई हैं. जब तक कुछ और न बताया जाए, तब तक ये तय सीमाएं लागू होती हैं.
डेटाबेस
सीमा | विवरण |
---|---|
हर प्रोजेक्ट के लिए डेटाबेस की ज़्यादा से ज़्यादा संख्या |
100 इस सीमा को बढ़ाने का अनुरोध करने के लिए, सहायता टीम से संपर्क करें. |
कलेक्शन, दस्तावेज़, और फ़ील्ड
सीमा | विवरण |
---|---|
कलेक्शन आईडी से जुड़ी पाबंदियां |
|
सब-कलेक्शन की ज़्यादा से ज़्यादा गहराई | 100 |
दस्तावेज़ आईडी से जुड़ी पाबंदियां |
|
दस्तावेज़ के नाम का ज़्यादा से ज़्यादा साइज़ | 6 केआईबी |
दस्तावेज़ का ज़्यादा से ज़्यादा साइज़ | 1 एमबी (1,048,576 बाइट) |
फ़ील्ड के नामों से जुड़ी पाबंदियां |
|
फ़ील्ड के नाम का ज़्यादा से ज़्यादा साइज़ | 1,500 बाइट |
फ़ील्ड पाथ पर पाबंदियां |
` ) से शुरू और खत्म होता है. उदाहरण के लिए, foo.`x&y` का मतलब foo फ़ील्ड में नेस्ट किए गए x&y फ़ील्ड से है. बैकटिक वर्ण के साथ फ़ील्ड का नाम बनाने के लिए, बैकटिक वर्ण को बैकस्लैश वर्ण (\ ) से बदलें. आसानी के लिए, फ़ील्ड पाथ को FieldPath ऑब्जेक्ट के तौर पर पास करके, कोट किए गए फ़ील्ड के नामों से बचा जा सकता है. उदाहरण के लिए, JavaScript FieldPath देखें.
|
फ़ील्ड पाथ का ज़्यादा से ज़्यादा साइज़ | 1,500 बाइट |
फ़ील्ड वैल्यू का ज़्यादा से ज़्यादा साइज़ | 1 एमबी - 89 बाइट (1,048,487 बाइट) |
किसी मैप या ऐरे में फ़ील्ड की ज़्यादा से ज़्यादा गहराई | 20 मैप और कलेक्शन फ़ील्ड, किसी ऑब्जेक्ट की कुल डेप्थ में एक लेवल जोड़ते हैं. उदाहरण के लिए, नीचे दिए गए ऑब्जेक्ट की कुल डेप्थ तीन लेवल की है:
|
डेटा लिखना और लेन-देन
इन सीमाओं के अलावा, आपको बड़े पैमाने पर डिज़ाइन करने के सबसे सही तरीके भी देखने चाहिए.
सीमा | विवरण |
---|---|
एपीआई अनुरोध का ज़्यादा से ज़्यादा साइज़ | 10 एमआईबी |
लेन-देन की समयसीमा | 270 सेकंड, जिसमें इनऐक्टिविटी की वजह से कुकी के खत्म होने का समय 60 सेकंड है |
Commit ऑपरेशन या ट्रांज़ैक्शन में, किसी एक दस्तावेज़ पर किए जा सकने वाले फ़ील्ड ट्रांसफ़ॉर्मेशन की ज़्यादा से ज़्यादा संख्या |
500 |
इंडेक्स
एक फ़ील्ड वाले इंडेक्स और कंपोज़िट इंडेक्स पर ये सीमाएं लागू होती हैं:
सीमा | विवरण |
---|---|
किसी डेटाबेस के लिए कंपाउंड इंडेक्स की ज़्यादा से ज़्यादा संख्या |
|
डेटाबेस के लिए, एक फ़ील्ड वाले कॉन्फ़िगरेशन की ज़्यादा से ज़्यादा संख्या |
एक फ़ील्ड लेवल कॉन्फ़िगरेशन में, एक ही फ़ील्ड के लिए कई कॉन्फ़िगरेशन हो सकते हैं. उदाहरण के लिए, एक फ़ील्ड को इंडेक्स करने से छूट और उसी फ़ील्ड पर टीटीएल नीति, सीमा के हिसाब से एक फ़ील्ड कॉन्फ़िगरेशन के तौर पर गिनी जाती है. |
हर दस्तावेज़ के लिए इंडेक्स की ज़्यादा से ज़्यादा संख्या |
40,000 इंडेक्स एंट्री की संख्या, किसी दस्तावेज़ के लिए इन चीज़ों का योग होती है:
Cloud Firestore किसी दस्तावेज़ और इंडेक्स के सेट को इंडेक्स एंट्री में कैसे बदलता है, यह जानने के लिए इंडेक्स एंट्री की गिनती का यह उदाहरण देखें. |
कंपोजिट इंडेक्स में फ़ील्ड की ज़्यादा से ज़्यादा संख्या | 100 |
इंडेक्स की किसी एंट्री का ज़्यादा से ज़्यादा साइज़ |
7.5 केआईबी Cloud Firestore इंडेक्स एंट्री के साइज़ का हिसाब कैसे लगाता है, यह जानने के लिए इंडेक्स एंट्री का साइज़ देखें. |
किसी दस्तावेज़ की इंडेक्स एंट्री के साइज़ का कुल योग |
8 एमआईबी किसी दस्तावेज़ का कुल साइज़, इनका कुल योग होता है: |
इंडेक्स किए गए फ़ील्ड की वैल्यू का ज़्यादा से ज़्यादा साइज़ |
1500 बाइट 1,500 बाइट से ज़्यादा की फ़ील्ड वैल्यू काट दी जाती हैं. जिन क्वेरी में काटी गई फ़ील्ड वैल्यू शामिल होती हैं उनसे अलग-अलग नतीजे मिल सकते हैं. |
टाइम-टू-लाइव (टीटीएल)
सीमा | विवरण |
---|---|
डेटाबेस के लिए, एक फ़ील्ड वाले कॉन्फ़िगरेशन की ज़्यादा से ज़्यादा संख्या |
एक फ़ील्ड लेवल कॉन्फ़िगरेशन में, एक ही फ़ील्ड के लिए कई कॉन्फ़िगरेशन हो सकते हैं. उदाहरण के लिए, एक फ़ील्ड को इंडेक्स करने से छूट और उसी फ़ील्ड पर टीटीएल नीति, सीमा के हिसाब से एक फ़ील्ड कॉन्फ़िगरेशन के तौर पर गिनी जाती है. |
एक्सपोर्ट/इंपोर्ट
मैनेज किए जा रहे इंपोर्ट और एक्सपोर्ट ऑपरेशन पर ये सीमाएं लागू होती हैं:
सीमा | विवरण |
---|---|
किसी प्रोजेक्ट के लिए, हर मिनट एक्सपोर्ट और इंपोर्ट, दोनों के अनुरोधों की कुल संख्या | 20 |
एक साथ कितने एक्सपोर्ट और इंपोर्ट किए जा सकते हैं | 50 |
एक्सपोर्ट और इंपोर्ट के अनुरोधों के लिए, कलेक्शन आईडी के ज़्यादा से ज़्यादा फ़िल्टर | 100 |
सुरक्षा के नियम
सीमा | विवरण |
---|---|
हर अनुरोध के लिए, exists() , get() , और getAfter() कॉल की ज़्यादा से ज़्यादा संख्या |
इनमें से किसी भी सीमा को पार करने पर, 'अनुमति नहीं दी गई' गड़बड़ी का मैसेज दिखता है. दस्तावेज़ के ऐक्सेस के कुछ अनुरोध कैश मेमोरी में सेव किए जा सकते हैं. कैश मेमोरी में सेव किए गए अनुरोधों की गिनती, अनुरोधों की सीमा में नहीं की जाती. |
नेस्ट किए गए match स्टेटमेंट की ज़्यादा से ज़्यादा गहराई |
10 |
नेस्ट किए गए
match स्टेटमेंट के सेट में, पाथ सेगमेंट में पाथ की ज़्यादा से ज़्यादा लंबाई |
100 |
नेस्ट किए गए match स्टेटमेंट के सेट में, पाथ कैप्चर वैरिएबल की ज़्यादा से ज़्यादा संख्या |
20 |
फ़ंक्शन कॉल की ज़्यादा से ज़्यादा गहराई | 20 |
फ़ंक्शन के आर्ग्युमेंट की ज़्यादा से ज़्यादा संख्या | 7 |
हर फ़ंक्शन के लिए let वैरिएबल बाइंडिंग की ज़्यादा से ज़्यादा संख्या |
10 |
बार-बार या चक्रीय तौर पर फ़ंक्शन कॉल करने की ज़्यादा से ज़्यादा संख्या | 0 (अनुमति नहीं है) |
हर अनुरोध के लिए, एक्सप्रेशन की ज़्यादा से ज़्यादा संख्या | 1,000 |
नियमों के सेट का ज़्यादा से ज़्यादा साइज़ | नियमों के सेट का साइज़, इन दो सीमाओं के अंदर होना चाहिए:
|
खर्च मैनेज करना
अपने बिल पर अचानक लगने वाले शुल्कों से बचने के लिए, हर महीने का बजट और सूचनाएं सेट करें.
महीने का बजट सेट करना
Cloud Firestore की लागत को ट्रैक करने के लिए, Google Cloud कंसोल में महीने का बजट बनाएं. बजट से आपके इस्तेमाल पर कोई पाबंदी नहीं होगी. हालांकि, आपके पास सूचनाएं सेट करने का विकल्प है, ताकि आपको महीने के लिए तय की गई लागत के आस-पास या उससे ज़्यादा खर्च होने पर सूचना मिल सके.
बजट सेट करने के लिए, Google Cloud कंसोल में बिलिंग सेक्शन पर जाएं और अपने Cloud Billing खाते के लिए बजट बनाएं. अपने महीने के बजट के अलग-अलग प्रतिशत पर सूचनाएं भेजने के लिए, सूचनाओं की डिफ़ॉल्ट सेटिंग का इस्तेमाल किया जा सकता है या उनमें बदलाव किया जा सकता है.
बजट और बजट से जुड़ी चेतावनियां सेट अप करने के बारे में ज़्यादा जानें.