यह सिर्फ़ Cloud Firestore Enterprise वर्शन के लिए काम का है. |
इस पेज पर, MongoDB के साथ काम करने वाले Cloud Firestore में दस्तावेज़ों, फ़ील्ड, और इंडेक्स एंट्री के स्टोरेज साइज़ के बारे में बताया गया है.
इस स्टोरेज की लागत के बारे में जानने के लिए, कीमत पेज पर जाएं.
स्ट्रिंग का साइज़
स्ट्रिंग के साइज़ का हिसाब, UTF-8 कोड में बदले गए बाइट की संख्या + 1 के तौर पर लगाया जाता है.
इनको स्ट्रिंग के तौर पर सेव किया जाता है:
- कलेक्शन का नाम
- फ़ील्ड के नाम
- स्ट्रिंग फ़ील्ड की वैल्यू (इसमें
_id
भी शामिल है)
उदाहरण के लिए:
- कलेक्शन के नाम
tasks
के लिए, 5 बाइट + 1 बाइट का इस्तेमाल किया जाता है. इस तरह, कुल 6 बाइट का इस्तेमाल किया जाता है. - फ़ील्ड के नाम
description
में 11 बाइट + 1 बाइट का इस्तेमाल किया गया है. इसलिए, कुल 12 बाइट का इस्तेमाल किया गया है.
फ़ील्ड वैल्यू का साइज़
नीचे दी गई टेबल में, टाइप के हिसाब से फ़ील्ड वैल्यू का साइज़ दिखाया गया है.
टाइप | साइज़ |
---|---|
सरणी | इसकी वैल्यू के साइज़ का योग |
बूलियन | 1 बाइट |
बाइनरी डेटा | सामान्य (शून्य नहीं) सबटाइप के लिए बाइट की लंबाई + 1 |
तारीख | 8 बाइट |
डबल-साइज़ बेड | 8 बाइट |
Double128 | 16 बाइट |
32-बिट इंटिजर | 4 बाइट |
64-बिट पूर्णांक (long) | 8 बाइट |
ऑब्जेक्ट | एम्बेड किए गए ऑब्जेक्ट में, हर फ़ील्ड के नाम और हर फ़ील्ड की वैल्यू के स्ट्रिंग साइज़ का योग |
Min Key | 1 बाइट |
Max Key | 1 बाइट |
शून्य | 1 बाइट |
रेगुलर एक्सप्रेशन | (पैटर्न की लंबाई + 1) + (विकल्पों की लंबाई + 1) |
टाइमस्टैम्प | 8 बाइट |
स्ट्रिंग | UTF-8 कोड में बदले गए बाइट की संख्या + 1 |
उदाहरण के लिए, done
नाम के बूलियन फ़ील्ड के लिए छह बाइट इस्तेमाल किए जाएंगे:
done
फ़ील्ड के नाम के लिए 5 बाइट- बूलियन वैल्यू के लिए 1 बाइट
दस्तावेज़ का साइज़
किसी दस्तावेज़ का साइज़ इन चीज़ों को मिलाकर बनता है:
- कलेक्शन के नाम का स्ट्रिंग साइज़
- हर फ़ील्ड के नाम (
_id
को छोड़कर) के स्ट्रिंग साइज़ का योग - हर फ़ील्ड वैल्यू के साइज़ का योग (इसमें
_id
शामिल है) - 48 अतिरिक्त बाइट
यह उदाहरण, कलेक्शन tasks
में मौजूद किसी दस्तावेज़ के लिए है:
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
फ़ील्ड का कुल साइज़ 78 बाइट है:
फ़ील्ड का नाम और वैल्यू | फ़ील्ड का साइज़, बाइट में |
---|---|
"_id": "my_task_id" |
फ़ील्ड की स्ट्रिंग वैल्यू के लिए 11 |
"type": "Personal" |
फ़ील्ड के नाम के लिए 14 5 और फ़ील्ड की स्ट्रिंग वैल्यू के लिए 9 |
"done": false |
फ़ील्ड के नाम के लिए 6 5 + फ़ील्ड की बूलियन वैल्यू के लिए 1 |
"priority": 1 |
फ़ील्ड के नाम के लिए 17 9 + फ़ील्ड की 32-बिट पूर्णांक वैल्यू के लिए 4 |
"description": "Learn Cloud Firestore" |
फ़ील्ड के नाम के लिए 34 12 + फ़ील्ड की स्ट्रिंग वैल्यू के लिए 22 |
इसलिए, दस्तावेज़ का साइज़ 6 + 78 + 48 = 132 बाइट है:
- कलेक्शन के नाम के लिए 6
- फ़ील्ड के लिए 78 बाइट
- 48 अतिरिक्त बाइट
इंडेक्स एंट्री का साइज़
किसी इंडेक्स में इंडेक्स एंट्री का साइज़, इन चीज़ों के कुल साइज़ के बराबर होता है:
- कलेक्शन के नाम का स्ट्रिंग साइज़
_id
फ़ील्ड की वैल्यू का साइज़- इंडेक्स किए गए फ़ील्ड की वैल्यू का योग
- 48 अतिरिक्त बाइट
tasks
कलेक्शन में मौजूद किसी दस्तावेज़ पर विचार करें:
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
done
और priority
फ़ील्ड (दोनों बढ़ते क्रम में) पर इंडेक्स के लिए, इस इंडेक्स में इंडेक्स एंट्री का कुल साइज़ 70 बाइट है:
- कलेक्शन के नाम के लिए 6 बाइट
tasks
_id
फ़ील्ड की वैल्यू के लिए 11 बाइट- बूलियन फ़ील्ड की वैल्यू के लिए 1 बाइट
- 32-बिट इंटिजर फ़ील्ड वैल्यू के लिए 4 बाइट
- 48 अतिरिक्त बाइट
स्पार्स इंडेक्स के लिए, अगर किसी दस्तावेज़ में कोई भी फ़ील्ड शामिल नहीं है, तो कोई इंडेक्स एंट्री नहीं बनाई जाती है. अगर किसी दस्तावेज़ में इंडेक्स किए गए फ़ील्ड में से कम से कम एक फ़ील्ड मौजूद है, तो इंडेक्स एंट्री बनाई जाती है. इसमें इंडेक्स किए गए फ़ील्ड मौजूद नहीं होते हैं और उन्हें NULL
पर सेट किया जाता है.
आगे क्या करना है
कीमत के बारे में जानें.