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