उपयोग और सीमाएं

Cloud Firestore की सीमाओं को समझने के लिए इस मार्गदर्शिका का उपयोग करें, और ध्यान देने योग्य चीज़ों सहित, Cloud Firestore की लागतों के पूर्ण, विस्तृत विवरण के लिए Cloud Firestore मूल्य-निर्धारण देखें।

अपने उपयोग की निगरानी करें

अपने Cloud Firestore उपयोग की निगरानी के लिए, Firebase कंसोल में Cloud Firestore उपयोग टैब खोलें। विभिन्न समयावधियों में अपने उपयोग का आकलन करने के लिए डैशबोर्ड का उपयोग करें।

Google क्लाउड कंसोल में विस्तृत उपयोग

जब आप एक फायरबेस प्रोजेक्ट बनाते हैं, तो आप एक Google क्लाउड प्रोजेक्ट भी बना रहे होते हैं। Google क्लाउड कंसोल में ऐप इंजन कोटा पृष्ठ क्लाउड फायरस्टोर उपयोग और कोटा जानकारी को ट्रैक करता है।

मुफ़्त कोटा

क्लाउड फायरस्टोर मुफ्त कोटा प्रदान करता है जो आपको बिना किसी लागत के आरंभ करने की अनुमति देता है। नि:शुल्क कोटा राशियां नीचे सूचीबद्ध हैं। यदि आपको अधिक कोटा चाहिए, तो आपको अपने क्लाउड प्लेटफ़ॉर्म प्रोजेक्ट के लिए बिलिंग सक्षम करनी होगी।

कोटा प्रतिदिन लागू किए जाते हैं और मध्यरात्रि प्रशांत समय के आसपास रीसेट किए जाते हैं।

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

मानक सीमाएं

निम्न तालिकाएँ क्लाउड फायरस्टोर पर लागू होने वाली सीमाएँ दिखाती हैं। ये कठिन सीमाएँ हैं जब तक कि अन्यथा उल्लेख न किया जाए।

संग्रह, दस्तावेज़ और फ़ील्ड

सीमा विवरण
संग्रह आईडी पर प्रतिबंध
  • मान्य UTF-8 वर्ण होने चाहिए
  • 1,500 बाइट्स से अधिक नहीं होना चाहिए
  • फॉरवर्ड स्लैश नहीं हो सकता ( / )
  • केवल एक अवधि ( . ) या दोहरी अवधि ( .. ) शामिल नहीं हो सकती है
  • रेगुलर एक्सप्रेशन से मेल नहीं खा सकता __.*__
उपसंग्रह की अधिकतम गहराई 100
दस्तावेज़ आईडी पर प्रतिबंध
  • मान्य UTF-8 वर्ण होने चाहिए
  • 1,500 बाइट्स से अधिक नहीं होना चाहिए
  • फॉरवर्ड स्लैश नहीं हो सकता ( / )
  • केवल एक अवधि ( . ) या दोहरी अवधि ( .. ) शामिल नहीं हो सकती है
  • रेगुलर एक्सप्रेशन से मेल नहीं खा सकता __.*__
  • यदि आप डेटास्टोर इकाइयों को फायरस्टोर डेटाबेस में आयात करते हैं, तो संख्यात्मक इकाई आईडी __id[0-9]+__ के रूप में सामने आती हैं
दस्तावेज़ के नाम के लिए अधिकतम आकार 6 कीबी
दस्तावेज़ के लिए अधिकतम आकार 1 एमआईबी (1,048,576 बाइट्स)
क्षेत्र के नाम पर प्रतिबंध मान्य UTF-8 वर्ण होने चाहिए
फ़ील्ड नाम का अधिकतम आकार 1,500 बाइट्स
फील्ड पथ पर बाधाएं
  • फ़ील्ड नामों को एक ही अवधि ( . ) से अलग करना चाहिए
  • एक स्ट्रिंग के रूप में पारित किया जा सकता है जब पथ में सभी फ़ील्ड नाम सरल होते हैं, अन्यथा फ़ील्डपाथ ऑब्जेक्ट के रूप में पारित किया जाना चाहिए ( उदाहरण के लिए जावास्क्रिप्ट फील्डपाथ )
एक साधारण फ़ील्ड नाम वह है जहाँ निम्नलिखित सभी सत्य हैं:
  • केवल वर्ण az , AZ , 0-9 , और अंडरस्कोर ( _ ) शामिल हैं
  • 0-9 . से शुरू नहीं होता है
फ़ील्ड पथ का अधिकतम आकार 1,500 बाइट्स
फ़ील्ड मान का अधिकतम आकार 1 एमआईबी - 89 बाइट्स (1,048,487 बाइट्स)
मानचित्र या सरणी में फ़ील्ड की अधिकतम गहराई 20

लिखता है और लेनदेन

सीमा विवरण
प्रति डेटाबेस अधिकतम लिखता है 10,000 (प्रति सेकंड 10 एमआईबी तक)*। यह सीमा भविष्य में हटा दी जाएगी, शीघ्र पहुंच के लिए सहायता से संपर्क करें
अधिकतम एपीआई अनुरोध आकार 10 एमआईबी
लिखने की अधिकतम संख्या जिसे Commit ऑपरेशन में पास किया जा सकता है या लेनदेन में किया जा सकता है 500
Commit ऑपरेशन या लेन-देन में एकल दस्तावेज़ पर किए जा सकने वाले फ़ील्ड ट्रांसफ़ॉर्मेशन की अधिकतम संख्या 500
लेन-देन के लिए समय सीमा 270 सेकंड, 60 सेकंड के निष्क्रिय समाप्ति समय के साथ

नरम सीमाएं

Cloud Firestore आपको नीचे दी गई सीमाओं को पार करने से नहीं रोकता है, लेकिन ऐसा करने से प्रदर्शन प्रभावित होता है।

नरम सीमा विवरण
किसी दस्तावेज़ के लिए अधिकतम निरंतर लेखन दर

1 प्रति सेकंड

प्रति सेकंड एक बार ऊपर लिखने की दर बनाए रखने से विलंबता बढ़ जाती है और विवाद त्रुटियों का कारण बनता है। यह एक कठिन सीमा नहीं है, और आप छोटी अवधि में सीमा को पार कर सकते हैं।

एक संग्रह के लिए अधिकतम लेखन दर जिसमें अनुक्रमित फ़ील्ड में दस्तावेज़ों में अनुक्रमिक मान होते हैं 500 प्रति सेकंड

रीयलटाइम अपडेट

नरम सीमा विवरण
प्रति डेटाबेस मोबाइल/वेब क्लाइंट के लिए अधिकतम समवर्ती कनेक्शन

1,000,000

Cloud Firestore आपको इस सॉफ्ट लिमिट को पार करने से नहीं रोकता है लेकिन ऐसा करने से लेटेंसी और एरर रेट काफी प्रभावित होता है।

इंडेक्स

निम्नलिखित सीमाएं एकल-क्षेत्र अनुक्रमणिका और समग्र अनुक्रमणिका पर लागू होती हैं:

सीमा विवरण
डेटाबेस के लिए समग्र अनुक्रमणिका की अधिकतम संख्या 200
किसी डेटाबेस के लिए एकल-फ़ील्ड अनुक्रमणिका छूट की अधिकतम संख्या 200

प्रत्येक दस्तावेज़ के लिए अनुक्रमणिका प्रविष्टियों की अधिकतम संख्या

40,000

किसी दस्तावेज़ के लिए अनुक्रमणिका प्रविष्टियों की संख्या निम्नलिखित का योग है:

  • एकल-फ़ील्ड अनुक्रमणिका प्रविष्टियों की संख्या
  • समग्र सूचकांक प्रविष्टियों की संख्या

यह देखने के लिए कि कैसे Cloud Firestore किसी दस्तावेज़ और अनुक्रमणिका के सेट को अनुक्रमणिका प्रविष्टियों में बदल देता है, यह अनुक्रमणिका प्रविष्टि गणना उदाहरण देखें।

अनुक्रमणिका प्रविष्टि का अधिकतम आकार

7.5 कीबी

यह देखने के लिए कि Cloud Firestore अनुक्रमणिका प्रविष्टि आकार की गणना कैसे करता है, अनुक्रमणिका प्रविष्टि आकार देखें।

किसी दस्तावेज़ की अनुक्रमणिका प्रविष्टियों के आकार का अधिकतम योग

8 एमआईबी

कुल आकार एक दस्तावेज़ के लिए निम्नलिखित का योग है:

  • दस्तावेज़ की एकल-फ़ील्ड अनुक्रमणिका प्रविष्टियों के आकार का योग
  • दस्तावेज़ की समग्र अनुक्रमणिका प्रविष्टियों के आकार का योग
  • अनुक्रमित फ़ील्ड मान का अधिकतम आकार

    1500 बाइट्स

    1500 बाइट से अधिक के फ़ील्ड मान काट दिए गए हैं। काटे गए फ़ील्ड मान वाली क्वेरी असंगत परिणाम दे सकती हैं।

    निर्यात आयात

    निम्नलिखित सीमाएँ प्रबंधित आयात और निर्यात संचालन पर लागू होती हैं:

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

    सुरक्षा नियम

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

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

    किसी भी सीमा से अधिक परिणाम एक अनुमति अस्वीकृत त्रुटि में परिणाम देता है।

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

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

    खर्च प्रबंधित करें

    अपने बिल पर अनपेक्षित शुल्कों से बचने में सहायता के लिए, मासिक बजट और अलर्ट सेट करें।

    मासिक बजट सेट करें

    अपने क्लाउड फायरस्टोर की लागतों को ट्रैक करने के लिए, Google क्लाउड कंसोल में मासिक बजट बनाएं। बजट आपके उपयोग को सीमित नहीं करेगा, लेकिन जब आप महीने के लिए अपनी नियोजित लागतों के करीब या उससे अधिक होने पर आपको सूचित करने के लिए अलर्ट सेट कर सकते हैं।

    बजट सेट करने के लिए, Google क्लाउड कंसोल में बिलिंग अनुभाग पर जाएं और अपने क्लाउड बिलिंग खाते के लिए बजट बनाएं। आप अपने मासिक बजट के विभिन्न प्रतिशत पर सूचनाएं भेजने के लिए डिफ़ॉल्ट अलर्ट सेटिंग्स का उपयोग कर सकते हैं या अलर्ट संशोधित कर सकते हैं।

    बजट और बजट अलर्ट सेट करने के बारे में और जानें।

    दैनिक खर्च की सीमा निर्धारित करें

    अपने क्लाउड फायरस्टोर के उपयोग को सीमित करने के लिए, ऐप इंजन के माध्यम से दैनिक खर्च की सीमा निर्धारित करें। ऐप इंजन आपको क्लाउड फायरस्टोर सहित ऐप इंजन से जुड़े संसाधनों पर दैनिक खर्च सीमा निर्धारित करने की अनुमति देता है। ऐप इंजन की सीमा किसी भी अन्य फायरबेस उत्पादों पर लागू नहीं होती है।