इस्तेमाल और सीमाएं

Cloud Firestore की सीमाओं के बारे में जानने के लिए, इस गाइड का इस्तेमाल करें. साथ ही, Cloud Firestore की लागत के बारे में पूरी और विस्तृत जानकारी पाने के लिए, Cloud Firestore की कीमत देखें. इसमें, आपको किन बातों का ध्यान रखना है, यह भी बताया गया है.

इस्तेमाल की निगरानी करना

अपने Cloud Firestore के इस्तेमाल की निगरानी करने के लिए, Cloud Firestore इस्तेमाल टैब को Firebase कंसोल में खोलें. अलग-अलग समयावधियों के दौरान, अपने इस्तेमाल का अनुमान लगाने के लिए डैशबोर्ड का इस्तेमाल करें.

Google Cloud कंसोल में इस्तेमाल की विस्तृत जानकारी

Firebase प्रोजेक्ट बनाने पर, Google Cloud प्रोजेक्ट भी बनता है. Cloud Firestore API के कोटा और App Engine के कोटा वाले पेज पर, Google Cloud कंसोल में, Cloud Firestore के इस्तेमाल और कोटा की जानकारी ट्रैक की जाती है.

मुफ़्त कोटा

Cloud Firestore मुफ़्त कोटा उपलब्ध कराता है. इससे, बिना किसी शुल्क के इसका इस्तेमाल शुरू किया जा सकता है. अगर आपको ज़्यादा कोटा चाहिए, तो अपने प्रोजेक्टGoogle Cloud के लिए बिलिंग चालू करें.

कोटा हर दिन लागू होता है और पैसिफ़िक टाइम के मुताबिक, आधी रात के आस-पास रीसेट होता है.

मुफ़्त कोटा की रकम की खास जानकारी, यहां दी गई टेबल में दी गई है:

फ़्री टियर कोटा
संग्रहित डेटा 1 GiB
दस्तावेज़ पढ़ना हर दिन 50,000
दस्तावेज़ लिखना हर दिन 20,000
दस्तावेज़ मिटाना हर दिन 20,000
आउटबाउंड डेटा ट्रांसफ़र हर महीने 10 GiB

इन कार्रवाइयों और सुविधाओं के लिए, मुफ़्त कोटा उपलब्ध नहीं है. इन सुविधाओं का इस्तेमाल करने के लिए, बिलिंग चालू करें:

  • TTL के तहत मिटाने की सुविधा
  • पीआईटीआर डेटा
  • बैकअप डेटा
  • डेटा वापस पाने की कार्रवाइयां
  • क्लोन करने की कार्रवाइयां

इन सुविधाओं के लिए बिलिंग कैसे की जाती है, इस बारे में ज़्यादा जानने के लिए, स्टोरेज की कीमत देखें.

स्टैंडर्ड सीमाएं

यहां दी गई टेबल में, Cloud Firestore पर लागू होने वाली सीमाएं दिखाई गई हैं. जब तक कोई सूचना न दी जाए, ये तय सीमाएं होती हैं.

डेटाबेस

सीमा विवरण
हर प्रोजेक्ट के लिए, डेटाबेस की ज़्यादा से ज़्यादा संख्या

100

इस सीमा को बढ़ाने का अनुरोध करने के लिए, सहायता टीम से संपर्क किया जा सकता है.

हर प्रोजेक्ट के लिए, ग्राहक की ओर से मैनेज की जाने वाली एन्क्रिप्शन कुंजियों (सीएमईके) वाले डेटाबेस की ज़्यादा से ज़्यादा संख्या

0

डिफ़ॉल्ट रूप से, कोटा 0 होता है, क्योंकि यह सुविधा अनुमति वाली सूची में शामिल है. सीएमईके के ऐक्सेस का अनुरोध करने वाला फ़ॉर्म भरकर, कोटा बढ़ाने का अनुरोध किया जा सकता है.

कलेक्शन, दस्तावेज़, और फ़ील्ड

सीमा विवरण
कलेक्शन आईडी पर पाबंदियां
  • मान्य UTF-8 वर्ण होने चाहिए
  • 1,500 बाइट से ज़्यादा नहीं होने चाहिए
  • इसमें फ़ॉरवर्ड स्लैश (/) नहीं होना चाहिए
  • इसमें सिर्फ़ एक पीरियड (.) या दो पीरियड (..) नहीं होने चाहिए
  • रेगुलर एक्सप्रेशन __.*__ से मेल नहीं खाना चाहिए
सब-कलेक्शन की ज़्यादा से ज़्यादा गहराई 100
दस्तावेज़ आईडी पर पाबंदियां
  • मान्य UTF-8 वर्ण होने चाहिए
  • 1,500 बाइट से ज़्यादा नहीं होने चाहिए
  • इसमें फ़ॉरवर्ड स्लैश (/) नहीं होना चाहिए
  • इसमें सिर्फ़ एक पीरियड (.) या दो पीरियड (..) नहीं होने चाहिए
  • रेगुलर एक्सप्रेशन __.*__ से मेल नहीं खाना चाहिए
  • अगर Datastore की इकाइयां, Firestore डेटाबेस में इंपोर्ट की जाती हैं, संख्या वाले इकाई आईडी, __id[0-9]+__ के तौर पर दिखते हैं
दस्तावेज़ के नाम का ज़्यादा से ज़्यादा साइज़ 6 KiB
दस्तावेज़ का ज़्यादा से ज़्यादा साइज़ 1 MiB (10,48,576 बाइट)
फ़ील्ड के नामों पर पाबंदियां
  • मान्य UTF-8 वर्ण होने चाहिए
  • रेगुलर एक्सप्रेशन __.*__ से मेल नहीं खाना चाहिए
फ़ील्ड के नाम का ज़्यादा से ज़्यादा साइज़ 1,500 बाइट
फ़ील्ड के पाथ पर पाबंदियां
  • फ़ील्ड के नामों को एक पीरियड (.) से अलग करना ज़रूरी है
  • इसे सेगमेंट की डॉट-डिलिमिटेड (.) स्ट्रिंग के तौर पर पास किया जा सकता है. इसमें हर सेगमेंट, सामान्य फ़ील्ड का नाम या कोट किया गया फ़ील्ड का नाम होता है (इसके बारे में नीचे बताया गया है).
सामान्य फ़ील्ड का नाम वह होता है जिसमें ये सभी शर्तें पूरी होती हैं:
  • इसमें सिर्फ़ a-z, A-Z, 0-9, और अंडरस्कोर (_) शामिल होते हैं
  • यह 0-9 से शुरू नहीं होता
कोट किया गया फ़ील्ड का नाम, बैकटिक कैरेक्टर (`) से शुरू और खत्म होता है. उदाहरण के लिए, foo.`x&y` का मतलब है कि x&y फ़ील्ड, foo फ़ील्ड में नेस्ट किया गया है. बैकटिक कैरेक्टर वाला फ़ील्ड का नाम बनाने के लिए, बैकटिक कैरेक्टर को बैकलैश कैरेक्टर (\) से एस्केप करें. कोट किए गए फ़ील्ड के नामों से बचने के लिए, फ़ील्ड के पाथ को FieldPath ऑब्जेक्ट के तौर पर पास किया जा सकता है (उदाहरण के लिए, JavaScript FieldPath देखें).
फ़ील्ड के पाथ का ज़्यादा से ज़्यादा साइज़ 1,500 बाइट
फ़ील्ड की वैल्यू का ज़्यादा से ज़्यादा साइज़ 1 MiB - 89 बाइट (10,48,487 बाइट)
मैप या कलेक्शन में फ़ील्ड की ज़्यादा से ज़्यादा गहराई

20

मैप और कलेक्शन वाले फ़ील्ड, किसी ऑब्जेक्ट की कुल गहराई में एक लेवल जोड़ते हैं. उदाहरण के लिए, इस ऑब्जेक्ट की कुल गहराई तीन लेवल है:


{
  nested_map: {         #depth 1
    nested_array: [     #depth 2
      {
        foo: "bar"      #depth 3
      }
    ]
  }
}
      

लिखने की कार्रवाइयां और लेन-देन

इन सीमाओं के अलावा, आपको बड़े पैमाने पर डिज़ाइन करने के सबसे सही तरीके भी देखने चाहिए.

सीमा विवरण
एपीआई अनुरोध का ज़्यादा से ज़्यादा साइज़ 10 MiB
लेन-देन के लिए टाइम लिमिट 270 सेकंड. इसमें, 60 सेकंड की इनऐक्टिविटी के बाद, लेन-देन की अवधि खत्म हो जाती है
`Commit` कार्रवाई या लेन-देन में, किसी एक दस्तावेज़ पर फ़ील्ड में बदलाव की ज़्यादा से ज़्यादा संख्या 500

इंडेक्स

सिंगल-फ़ील्ड इंडेक्स और कंपोज़िट इंडेक्स पर ये सीमाएं लागू होती हैं:

सीमा विवरण
किसी डेटाबेस के लिए, कंपोज़िट इंडेक्स की ज़्यादा से ज़्यादा संख्या
किसी डेटाबेस के लिए, सिंगल-फ़ील्ड कॉन्फ़िगरेशन की ज़्यादा से ज़्यादा संख्या
  • अगर आपने अपने Google Cloud प्रोजेक्ट के लिए बिलिंग चालू नहीं की है, तो 200.

    अगर आपको ज़्यादा कोटा चाहिए, तो आपको अपने प्रोजेक्ट के लिए बिलिंग चालू करनी होगी.Google Cloud

  • अगर आपने अपने Google Cloud प्रोजेक्ट के लिए बिलिंग चालू की है, तो 1,000.

फ़ील्ड लेवल के एक कॉन्फ़िगरेशन में, एक ही फ़ील्ड के लिए कई कॉन्फ़िगरेशन हो सकते हैं. उदाहरण के लिए, किसी एक फ़ील्ड के लिए, सिंगल-फ़ील्ड इंडेक्सिंग से छूट और टीटीएल नीति को, सीमा के हिसाब से एक फ़ील्ड कॉन्फ़िगरेशन के तौर पर गिना जाता है.

हर दस्तावेज़ के लिए, इंडेक्स एंट्री की ज़्यादा से ज़्यादा संख्या

40,000

किसी दस्तावेज़ के लिए, इंडेक्स एंट्री की संख्या, इन चीज़ों का योग होती है:

  • सिंगल-फ़ील्ड इंडेक्स एंट्री की संख्या
  • कंपोज़िट इंडेक्स एंट्री की संख्या

यह देखने के लिए कि Cloud Firestore किसी दस्तावेज़ और इंडेक्स के सेट को इंडेक्स एंट्री में कैसे बदलता है, इंडेक्स एंट्री की संख्या का यह उदाहरण देखें.

कंपोज़िट इंडेक्स में फ़ील्ड की ज़्यादा से ज़्यादा संख्या 100
इंडेक्स एंट्री का ज़्यादा से ज़्यादा साइज़

7.5 KiB

यह देखने के लिए कि Cloud Firestore इंडेक्स एंट्री के साइज़ का हिसाब कैसे लगाता है, इंडेक्स एंट्री का साइज़ देखें.

किसी दस्तावेज़ की इंडेक्स एंट्री के साइज़ का ज़्यादा से ज़्यादा योग

8 MiB

किसी दस्तावेज़ के लिए, कुल साइज़, इन चीज़ों का योग होता है:

  • किसी दस्तावेज़ की सिंगल-फ़ील्ड इंडेक्स एंट्री के साइज़ का योग
  • किसी दस्तावेज़ की कंपोज़िट इंडेक्स एंट्री के साइज़ का योग
  • इंडेक्स किए गए फ़ील्ड की वैल्यू का ज़्यादा से ज़्यादा साइज़

    1,500 बाइट

    1,500 बाइट से ज़्यादा की फ़ील्ड वैल्यू को काट दिया जाता है. काटी गई फ़ील्ड वैल्यू वाली क्वेरी के नतीजे अलग-अलग हो सकते हैं.

    टाइम-टू-लाइव (TTL)

    सीमा विवरण
    किसी डेटाबेस के लिए, सिंगल-फ़ील्ड कॉन्फ़िगरेशन की ज़्यादा से ज़्यादा संख्या
    • अगर आपने अपने Google Cloud प्रोजेक्ट के लिए बिलिंग चालू नहीं की है, तो 200.

      अगर आपको ज़्यादा कोटा चाहिए, तो आपको अपने प्रोजेक्ट के लिए बिलिंग चालू करनी होगी.Google Cloud

    • अगर आपने अपने Google Cloud प्रोजेक्ट के लिए बिलिंग चालू की है, तो 1,000.

    फ़ील्ड लेवल के एक कॉन्फ़िगरेशन में, एक ही फ़ील्ड के लिए कई कॉन्फ़िगरेशन हो सकते हैं. उदाहरण के लिए, किसी एक फ़ील्ड के लिए, सिंगल-फ़ील्ड इंडेक्सिंग से छूट और टीटीएल नीति को, सीमा के हिसाब से एक फ़ील्ड कॉन्फ़िगरेशन के तौर पर गिना जाता है.

    एक्सपोर्ट/इंपोर्ट

    मैनेज किए गए इंपोर्ट और एक्सपोर्ट की कार्रवाइयों पर ये सीमाएं लागू होती हैं:

    सीमा विवरण
    किसी प्रोजेक्ट के लिए, हर मिनट में एक्सपोर्ट और इंपोर्ट, दोनों तरह के अनुरोधों की कुल संख्या 20
    एक साथ एक्सपोर्ट और इंपोर्ट की कार्रवाइयों की ज़्यादा से ज़्यादा संख्या 50
    एक्सपोर्ट और इंपोर्ट के अनुरोधों के लिए, कलेक्शन आईडी फ़िल्टर की ज़्यादा से ज़्यादा संख्या 100

    सुरक्षा के नियम

    सीमा विवरण
    हर अनुरोध के लिए, exists(), get(), और getAfter() कॉल की ज़्यादा से ज़्यादा संख्या
    • सिंगल-डॉक्यूमेंट के अनुरोधों और क्वेरी के अनुरोधों के लिए 10.
    • मल्टी-डॉक्यूमेंट को पढ़ने, लेन-देन, और बैच में लिखने की कार्रवाइयों के लिए 20. पिछली सीमा, यानी 10, हर कार्रवाई पर भी लागू होती है.

      उदाहरण के लिए, मान लें कि आपने तीन बार लिखने की कार्रवाइयों वाला बैच में लिखने का अनुरोध किया है और आपके सुरक्षा के नियम, हर बार लिखने की कार्रवाई की पुष्टि करने के लिए, दस्तावेज़ के ऐक्सेस के लिए दो कॉल का इस्तेमाल करते हैं. इस मामले में, हर बार लिखने की कार्रवाई के लिए, ऐक्सेस के 10 कॉल में से दो कॉल का इस्तेमाल किया जाता है. वहीं, बैच में लिखने के अनुरोध के लिए, ऐक्सेस के 20 कॉल में से छह कॉल का इस्तेमाल किया जाता है.

    किसी भी सीमा से ज़्यादा होने पर, अनुमति नहीं मिली गड़बड़ी दिखती है.

    दस्तावेज़ के ऐक्सेस के लिए कुछ कॉल को कैश किया जा सकता है, कैश किए गए कॉल को, सीमाओं में नहीं गिना जाता.

    नेस्ट किए गए match स्टेटमेंट की ज़्यादा से ज़्यादा गहराई 10
    नेस्ट किए गए match स्टेटमेंट के सेट में, पाथ सेगमेंट में पाथ की ज़्यादा से ज़्यादा लंबाई 100
    नेस्ट किए गए match स्टेटमेंट के सेट में, पाथ कैप्चर करने वाले वैरिएबल की ज़्यादा से ज़्यादा संख्या 20
    फ़ंक्शन कॉल की ज़्यादा से ज़्यादा गहराई 20
    फ़ंक्शन के आर्ग्युमेंट की ज़्यादा से ज़्यादा संख्या 7
    हर फ़ंक्शन के लिए, let वैरिएबल बाइंडिंग की ज़्यादा से ज़्यादा संख्या 10
    बार-बार या साइकल में होने वाले फ़ंक्शन कॉल की ज़्यादा से ज़्यादा संख्या 0 (अनुमति नहीं है)
    हर अनुरोध के लिए, एक्सप्रेशन की ज़्यादा से ज़्यादा संख्या 1,000
    नियमों के सेट का ज़्यादा से ज़्यादा साइज़ नियमों के सेट के साइज़ पर दो सीमाएं लागू होती हैं:
    • नियमों के सेट के टेक्स्ट सोर्स के साइज़ पर 256 केबी की सीमा, जिसे Firebase कंसोल या सीएलआई से firebase deploy का इस्तेमाल करके पब्लिश किया गया है.
    • कंपाइल किए गए नियमों के सेट के साइज़ पर 250 केबी की सीमा. यह तब बनता है, जब Firebase सोर्स को प्रोसेस करता है और बैक-एंड पर उसे चालू करता है.

    खर्च मैनेज करना

    बिल पर अनचाहे शुल्क लगने से बचने के लिए, महीने का बजट और चेतावनियां सेट करें.

    महीने का बजट सेट करना

    अपनी Cloud Firestore लागत ट्रैक करने के लिए, Google Cloud कंसोल में महीने का बजट बनाएं. बजट से, आपके इस्तेमाल पर कोई सीमा नहीं लगेगी. हालांकि, चेतावनियां सेट की जा सकती हैं. इससे, महीने के लिए तय की गई लागत के आस-पास पहुंचने या उससे ज़्यादा खर्च होने पर, आपको सूचनाएं मिलेंगी.

    बजट सेट करने के लिए, बिलिंग सेक्शन पर जाएं और अपने Google Cloud कंसोल में Cloud Billing खाते के लिए बजट बनाएं. चेतावनी की डिफ़ॉल्ट सेटिंग का इस्तेमाल किया जा सकता है. इसके अलावा, महीने के बजट के अलग-अलग प्रतिशत पर सूचनाएं भेजने के लिए, चेतावनियों में बदलाव किया जा सकता है.

    बजट और बजट की चेतावनियां सेट अप करने के बारे में ज़्यादा जानें .