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

Cloud Firestore की सीमाओं को समझने के लिए, इस गाइड का इस्तेमाल करें. साथ ही, Cloud Firestore की कीमत सेक्शन में जाकर Cloud Firestore की कीमत में, ध्यान रखने लायक चीज़ें भी शामिल हैं.

डेटा के इस्तेमाल को मॉनिटर करना

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

Google Cloud Console में इस्तेमाल के बारे में ज़्यादा जानकारी

Firebase प्रोजेक्ट बनाने का मतलब है कि Google Cloud प्रोजेक्ट भी बनाया जा रहा है. कॉन्टेंट बनाने Cloud Firestore एपीआई कोटा और App Engine कोटा Google Cloud Console के पेज, Cloud Firestore के इस्तेमाल और कोटा को ट्रैक करते हैं जानकारी.

मुफ़्त कोटा

Cloud Firestore मुफ़्त कोटा देता है, ताकि आप बिना किसी शुल्क के अपने (default) डेटाबेस को ऐक्सेस करें. मुफ़्त कोटा की रकम की सूची नीचे दी गई है. अगर आपको और कोटा चाहिए, तो आपको अपने Google Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करनी होगी.

कोटे हर रोज़ लागू किए जाते हैं और आधी रात पैसिफ़िक समय के आस-पास रीसेट कर दिए जाते हैं.

सिर्फ़ (default) डेटाबेस को मुफ़्त कोटा मिल सकता है.

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

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

  • नाम वाले (डिफ़ॉल्ट नहीं) डेटाबेस का इस्तेमाल
  • TTL मिटा देता है
  • पीआईटीआर डेटा
  • बैकअप डेटा
  • वापस लाने की कार्रवाइयां

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

मानक सीमाएं

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

डेटाबेस

सीमा जानकारी
हर प्रोजेक्ट में डेटाबेस की ज़्यादा से ज़्यादा संख्या

100

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

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

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

20

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


{
  nested_map: {         #depth 1
    nested_array: [     #depth 2
      {
        foo: "bar"      #depth 3
      }
    ]
  }
}
      
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

लिखें और लेन-देन

इन सीमाओं के अतिरिक्त, आपको बड़े पैमाने पर डिज़ाइन करने के सबसे सही तरीके.

सीमा जानकारी
एपीआई अनुरोध का ज़्यादा से ज़्यादा साइज़ 10 एमआईबी
लेन-देन के लिए समयसीमा 270 सेकंड, 60 सेकंड तक निष्क्रिय रहने का समय

इंडेक्स

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

सीमा जानकारी
किसी डेटाबेस के लिए कंपोज़िट इंडेक्स की ज़्यादा से ज़्यादा संख्या
किसी डेटाबेस के लिए, सिंगल-फ़ील्ड कॉन्फ़िगरेशन की ज़्यादा से ज़्यादा संख्या

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

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

40,000

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

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

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

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

7.5 केआईबी

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

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

8 एमआईबी

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

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

    1500 बाइट

    फ़ील्ड की वैल्यू 1500 बाइट से कम की जाती हैं. ऐसी क्वेरी जिनमें शामिल है काटे गए फ़ील्ड की वैल्यू से, अलग-अलग नतीजे दिख सकते हैं.

    टाइम-टू-लाइव (टीटीएल)

    सीमा जानकारी
    किसी डेटाबेस के लिए, सिंगल-फ़ील्ड कॉन्फ़िगरेशन की ज़्यादा से ज़्यादा संख्या

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

    निर्यात/इंपोर्ट

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

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

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

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

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

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

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

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

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

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

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

    Cloud Firestore की लागत ट्रैक करने के लिए, महीने का बजट Google Cloud Console. बजट से आपका खर्च कम नहीं होगा, लेकिन अलर्ट सेट किए जा सकते हैं आपको सूचित करेगा कि आप महीना.

    बजट सेट करने के लिए, बिलिंग पर जाएं सेक्शन पर जाएं और अपने क्लाउड बिलिंग खाता. आप डिफ़ॉल्ट अलर्ट सेटिंग का उपयोग कर सकते हैं या आपके मासिक बजट के अलग-अलग प्रतिशत पर नोटिफ़िकेशन भेजने के लिए अलर्ट.

    इसके बारे में ज़्यादा जानें बजट और बजट अलर्ट सेट अप करना.