इस पेज पर, Cloud Firestore में दस्तावेज़ों, दस्तावेज़ों के नामों, फ़ील्ड, और इंडेक्स एंट्री के स्टोरेज साइज़ के बारे में बताया गया है.
इस स्टोरेज की कीमत के बारे में जानने के लिए, Cloud Firestore कीमत पर जाएं.स्ट्रिंग का साइज़
स्ट्रिंग के साइज़ का हिसाब, UTF-8 कोड में बदले गए बाइट की संख्या + 1 के हिसाब से लगाया जाता है.
ये स्ट्रिंग के तौर पर सेव किए जाते हैं:
- कलेक्शन आईडी
- स्ट्रिंग दस्तावेज़ आईडी
- दस्तावेज़ों के नाम
- फ़ील्ड के नाम
- स्ट्रिंग फ़ील्ड की वैल्यू
उदाहरण के लिए:
- कलेक्शन आईडी
tasks
में 5 बाइट + 1 बाइट का इस्तेमाल किया जाता है, यानी कुल 6 बाइट. - फ़ील्ड का नाम
description
, 11 बाइट + 1 बाइट का इस्तेमाल करता है. कुल 12 बाइट.
दस्तावेज़ आईडी का साइज़
किसी दस्तावेज़ के आईडी का साइज़, स्ट्रिंग आईडी के लिए स्ट्रिंग का साइज़ या पूर्णांक आईडी के लिए 8 बाइट होता है.
दस्तावेज़ के नाम का साइज़
दस्तावेज़ के नाम का साइज़, इनका कुल योग होता है:
- दस्तावेज़ के पाथ में मौजूद हर कलेक्शन आईडी और दस्तावेज़ आईडी का साइज़
- 16 अतिरिक्त बाइट
users/jeff/tasks
सब-कलेक्शन में मौजूद किसी दस्तावेज़ का नाम 6 + 5 + 6 + 11 + 16 = 44 बाइट का होता है. इस दस्तावेज़ का आईडी my_task_id
है:
users
कलेक्शन आईडी के लिए 6 बाइटjeff
दस्तावेज़ आईडी के लिए 5 बाइटtasks
कलेक्शन आईडी के लिए 6 बाइटmy_task_id
दस्तावेज़ आईडी के लिए 11 बाइट- 16 अतिरिक्त बाइट
फ़ील्ड की वैल्यू का साइज़
नीचे दी गई टेबल में, फ़ील्ड वैल्यू का साइज़, टाइप के हिसाब से दिखाया गया है.
टाइप | साइज़ |
---|---|
सरणी | वैल्यू के साइज़ का योग |
बूलियन | 1 बाइट |
बाइट | बाइट की लंबाई |
तारीख और समय | 8 बाइट |
फ़्लोटिंग-पॉइंट नंबर | 8 बाइट |
भौगोलिक पॉइंट | 16 बाइट |
पूर्णांक | 8 बाइट |
मैप | मैप का साइज़, जिसे दस्तावेज़ के साइज़ की तरह ही कैलकुलेट किया जाता है |
शून्य | 1 बाइट |
रेफ़रंस | दस्तावेज़ के नाम का साइज़ |
टेक्स्ट स्ट्रिंग | UTF-8 कोड में बदले गए बाइट की संख्या + 1 |
उदाहरण के लिए, done
नाम के बूलियन फ़ील्ड में छह बाइट का इस्तेमाल होगा:
done
फ़ील्ड के नाम के लिए पांच बाइट- बूलियन वैल्यू के लिए एक बाइट
दस्तावेज़ का साइज़
किसी दस्तावेज़ का साइज़, इनका कुल योग होता है:
- दस्तावेज़ के नाम का साइज़
- हर फ़ील्ड के नाम के स्ट्रिंग साइज़ का कुल योग
- हर फ़ील्ड वैल्यू के साइज़ का योग
- 32 अतिरिक्त बाइट
यह उदाहरण, सब-कलेक्शन users/jeff/tasks
में मौजूद उस दस्तावेज़ के लिए है my_task_id
जिसका स्ट्रिंग दस्तावेज़ आईडी है:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
फ़ील्ड का कुल साइज़ 71 बाइट है:
फ़ील्ड का नाम और वैल्यू | फ़ील्ड का साइज़, बाइट में |
---|---|
"type": "Personal" |
14 फ़ील्ड के नाम के लिए 5 + फ़ील्ड की स्ट्रिंग वैल्यू के लिए 9 |
"done": false |
6 फ़ील्ड के नाम के लिए 5 + फ़ील्ड की बूलियन वैल्यू के लिए 1 |
"priority": 1 |
17 फ़ील्ड के नाम के लिए 9 + फ़ील्ड की पूर्णांक वैल्यू के लिए 8 |
"description": "Learn Cloud Firestore" |
34 फ़ील्ड के नाम के लिए 12 + फ़ील्ड की स्ट्रिंग वैल्यू के लिए 22 |
इसलिए, दस्तावेज़ का साइज़ 44 + 71 + 32 = 147 बाइट है:
- दस्तावेज़ के नाम के लिए 44 बाइट
- फ़ील्ड के लिए 71 बाइट
- 32 अतिरिक्त बाइट
इंडेक्स एंट्री का साइज़
सिंगल-फ़ील्ड और कंपोजिट इंडेक्स के लिए, इंडेक्स एंट्री के साइज़ का हिसाब इस तरह लगाया जाता है.
सिंगल-फ़ील्ड इंडेक्स एंट्री का साइज़
एक फ़ील्ड वाले इंडेक्स की एंट्री का साइज़ इस बात पर निर्भर करता है कि इंडेक्स का दायरा किसी कलेक्शन या कलेक्शन ग्रुप तक है या नहीं.
कलेक्शन का दायरा
कलेक्शन के स्कोप वाले सिंगल-फ़ील्ड इंडेक्स में किसी एंट्री का साइज़, इनके योग के बराबर होता है:
- इंडेक्स किए गए दस्तावेज़ के दस्तावेज़ के नाम का साइज़
- इंडेक्स किए गए दस्तावेज़ के पैरंट दस्तावेज़ का दस्तावेज़ का नाम
- इंडेक्स किए गए फ़ील्ड के नाम का स्ट्रिंग साइज़
- इंडेक्स की गई फ़ील्ड वैल्यू का साइज़
- 32 अतिरिक्त बाइट
users/jeff/tasks
सब-कलेक्शन में मौजूद किसी दस्तावेज़ के लिए, my_task_id
स्ट्रिंग दस्तावेज़ आईडी का इस्तेमाल किया जा सकता है:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
कलेक्शन के दायरे वाले एक फ़ील्ड के इंडेक्स के लिए, done
फ़ील्ड को इंडेक्स किया जाता है. इस इंडेक्स में मौजूद एंट्री का कुल साइज़ 109 बाइट है:
- दस्तावेज़ के नाम के लिए 44 बाइट
users/jeff/tasks/my_task_id
- पैरंट दस्तावेज़ के नाम के लिए 27 बाइट
users/jeff
done
फ़ील्ड के नाम के लिए पांच बाइट- बूलियन फ़ील्ड की वैल्यू के लिए एक बाइट
- 32 अतिरिक्त बाइट
कलेक्शन ग्रुप का स्कोप
कलेक्शन ग्रुप के स्कोप वाले सिंगल-फ़ील्ड इंडेक्स में किसी एंट्री का साइज़, इनका योग होता है:
- इंडेक्स किए गए दस्तावेज़ के दस्तावेज़ के नाम का साइज़
- इंडेक्स किए गए फ़ील्ड के नाम का स्ट्रिंग साइज़
- इंडेक्स की गई फ़ील्ड वैल्यू का साइज़
- 48 अतिरिक्त बाइट
users/jeff/tasks
सब-कलेक्शन में मौजूद किसी दस्तावेज़ के लिए, my_task_id
स्ट्रिंग दस्तावेज़ आईडी का इस्तेमाल किया जा सकता है:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
कलेक्शन ग्रुप के दायरे वाले एक फ़ील्ड वाले इंडेक्स के लिए, done
फ़ील्ड को इंडेक्स किया जाता है. इस इंडेक्स में एंट्री का कुल साइज़ 98 बाइट होता है:
- दस्तावेज़ के नाम के लिए 44 बाइट
users/jeff/tasks/my_task_id
done
फ़ील्ड के नाम के लिए पांच बाइट- बूलियन फ़ील्ड की वैल्यू के लिए एक बाइट
- 48 अतिरिक्त बाइट
कंपोजिट इंडेक्स एंट्री का साइज़
कंपोजिट इंडेक्स में किसी एंट्री का साइज़ इस बात पर निर्भर करता है कि इंडेक्स का दायरा, किसी कलेक्शन या कलेक्शन ग्रुप तक है या नहीं.
कलेक्शन का दायरा
कलेक्शन के स्कोप वाले कंपोजिट इंडेक्स में इंडेक्स एंट्री का साइज़, इनका योग होता है:
- इंडेक्स किए गए दस्तावेज़ के दस्तावेज़ के नाम का साइज़
- इंडेक्स किए गए दस्तावेज़ के पैरंट दस्तावेज़ का दस्तावेज़ का नाम
- इंडेक्स की गई फ़ील्ड वैल्यू का योग
- 32 अतिरिक्त बाइट
users/jeff/tasks
सब-कलेक्शन में मौजूद किसी दस्तावेज़ के लिए, my_task_id
स्ट्रिंग दस्तावेज़ आईडी का इस्तेमाल किया जा सकता है:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
कलेक्शन के दायरे वाले ऐसे कंपोजिट इंडेक्स के लिए जो done
और
priority
फ़ील्ड को इंडेक्स करता है (दोनों को बढ़ते क्रम में), इस इंडेक्स में एंट्री का कुल साइज़
112 बाइट है:
- दस्तावेज़ के नाम के लिए 44 बाइट
users/jeff/tasks/my_task_id
- पैरंट दस्तावेज़ के नाम के लिए 27 बाइट
users/jeff
- बूलियन फ़ील्ड की वैल्यू के लिए एक बाइट
- इंटीजर फ़ील्ड की वैल्यू के लिए 8 बाइट
- 32 अतिरिक्त बाइट
कलेक्शन ग्रुप का स्कोप
कलेक्शन ग्रुप के स्कोप वाले कंपोजिट इंडेक्स में इंडेक्स एंट्री का साइज़, इनका योग होता है:
- इंडेक्स किए गए दस्तावेज़ के दस्तावेज़ के नाम का साइज़
- इंडेक्स की गई फ़ील्ड वैल्यू का योग
- 32 अतिरिक्त बाइट
users/jeff/tasks
सब-कलेक्शन में मौजूद किसी दस्तावेज़ के लिए, my_task_id
स्ट्रिंग दस्तावेज़ आईडी का इस्तेमाल किया जा सकता है:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
कलेक्शन ग्रुप के दायरे वाले कंपोजिट इंडेक्स के लिए, done
और
priority
फ़ील्ड (दोनों को बढ़ते क्रम में) को इंडेक्स किया जाता है. इस इंडेक्स में इंडेक्स एंट्री का कुल साइज़ 85 बाइट होता है:
- दस्तावेज़ के नाम के लिए 44 बाइट
users/jeff/tasks/my_task_id
- बूलियन फ़ील्ड की वैल्यू के लिए एक बाइट
- इंटीजर फ़ील्ड की वैल्यू के लिए 8 बाइट
- 32 अतिरिक्त बाइट