स्टोरेज के साइज़ का हिसाब लगाना

इस पेज पर, Cloud Firestore में दस्तावेज़ों, दस्तावेज़ों के नामों, फ़ील्ड, और इंडेक्स एंट्री के स्टोरेज साइज़ के बारे में बताया गया है.

इस स्टोरेज की कीमत के बारे में जानने के लिए, Cloud Firestore कीमत देखें.

स्ट्रिंग का साइज़

स्ट्रिंग के साइज़ का हिसाब, UTF-8 कोड में बदले गए बाइट + 1 के तौर पर लगाया जाता है.

इन्हें स्ट्रिंग के रूप में स्टोर किया जाता है:

  • कलेक्शन आईडी
  • स्ट्रिंग दस्तावेज़ आईडी
  • दस्तावेज़ों के नाम
  • फ़ील्ड के नाम
  • स्ट्रिंग फ़ील्ड की वैल्यू

उदाहरण के लिए:

  • कलेक्शन आईडी tasks, कुल 6 बाइट के लिए 5 बाइट + 1 बाइट का इस्तेमाल करता है.
  • description फ़ील्ड का नाम, कुल 12 बाइट के लिए 11 बाइट + 1 बाइट का इस्तेमाल करता है.

दस्तावेज़ आईडी का साइज़

दस्तावेज़ आईडी का साइज़, स्ट्रिंग आईडी के लिए स्ट्रिंग साइज़ या पूर्णांक आईडी के लिए 8 बाइट होता है.

दस्तावेज़ के नाम का साइज़

दस्तावेज़ के नाम का साइज़, इनका कुल योग होता है:

  • दस्तावेज़ के पाथ में मौजूद हर कलेक्शन आईडी और दस्तावेज़ आईडी का साइज़
  • 16 अतिरिक्त बाइट

my_task_id के स्ट्रिंग दस्तावेज़ आईडी वाले सब-कलेक्शन users/jeff/tasks के दस्तावेज़ के लिए, दस्तावेज़ का नाम 6 + 5 + 6 + 11 + 16 = 44 बाइट होना चाहिए:

  • users कलेक्शन आईडी के लिए 6 बाइट
  • jeff दस्तावेज़ आईडी के लिए 5 बाइट
  • tasks कलेक्शन आईडी के लिए 6 बाइट
  • my_task_id दस्तावेज़ आईडी के लिए 11 बाइट
  • 16 अतिरिक्त बाइट

फ़ील्ड की वैल्यू का साइज़

नीचे दी गई टेबल में, फ़ील्ड वैल्यू का साइज़, टाइप के हिसाब से दिखाया गया है.

टाइप साइज़
सरणी वैल्यू के साइज़ का योग
बूलियन 1 बाइट
बाइट बाइट की लंबाई
तारीख और समय 8 बाइट
फ़्लोटिंग-पॉइंट नंबर 8 बाइट
भौगोलिक पॉइंट 16 बाइट
पूर्णांक 8 बाइट
मैप मैप का साइज़, जिसे दस्तावेज़ के साइज़ की तरह ही कैलकुलेट किया जाता है
शून्य 1 बाइट
रेफ़रंस दस्तावेज़ के नाम का साइज़
टेक्स्ट स्ट्रिंग UTF-8 कोड में बदले गए बाइट की संख्या + 1

उदाहरण के लिए, done नाम के बूलियन फ़ील्ड में छह बाइट का इस्तेमाल होगा:

  • done फ़ील्ड के नाम के लिए पांच बाइट
  • बूलियन वैल्यू के लिए एक बाइट

दस्तावेज़ का साइज़

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

यह उदाहरण, सब-कलेक्शन 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 अतिरिक्त बाइट

इंडेक्स एंट्री का साइज़

सिंगल-फ़ील्ड और कंपोजिट इंडेक्स के लिए, इंडेक्स एंट्री के साइज़ का हिसाब इस तरह लगाया जाता है.

सिंगल-फ़ील्ड इंडेक्स एंट्री का साइज़

एक फ़ील्ड वाले इंडेक्स की एंट्री का साइज़ इस बात पर निर्भर करता है कि इंडेक्स का दायरा किसी कलेक्शन या कलेक्शन ग्रुप तक है या नहीं.

कलेक्शन का दायरा

कलेक्शन स्कोप वाले सिंगल-फ़ील्ड इंडेक्स में एंट्री का साइज़, कुल वैल्यू के बराबर होता है:

users/jeff/tasks सब-कलेक्शन में मौजूद किसी दस्तावेज़ के लिए, my_task_id स्ट्रिंग दस्तावेज़ आईडी का इस्तेमाल किया जा सकता है:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

कलेक्शन के दायरे वाले एक फ़ील्ड के इंडेक्स के लिए, done फ़ील्ड को इंडेक्स किया जाता है. इस इंडेक्स में मौजूद एंट्री का कुल साइज़ 109 बाइट है:

  • दस्तावेज़ के नाम users/jeff/tasks/my_task_id के लिए 44 बाइट
  • पैरंट दस्तावेज़ के नाम के लिए 27 बाइट users/jeff
  • done फ़ील्ड के नाम के लिए पांच बाइट
  • बूलियन फ़ील्ड की वैल्यू के लिए एक बाइट
  • 32 अतिरिक्त बाइट

कलेक्शन ग्रुप का स्कोप

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

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 अतिरिक्त बाइट

कंपोज़िट इंडेक्स एंट्री साइज़

किसी कंपोज़िट इंडेक्स में एंट्री का साइज़ इस बात पर निर्भर करता है कि इंडेक्स, कलेक्शन या कलेक्शन ग्रुप के दायरे में आता है.

कलेक्शन का दायरा

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

सब-कलेक्शन 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
  • बूलियन फ़ील्ड वैल्यू के लिए 1 बाइट
  • इंटीजर फ़ील्ड की वैल्यू के लिए 8 बाइट
  • 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 अतिरिक्त बाइट

आगे क्या करना है

Cloud Firestore की कीमत के बारे में जानें.