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

इस पेज पर, 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 फ़ील्ड के नाम के लिए पांच बाइट
  • बूलियन वैल्यू के लिए एक बाइट

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

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

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

  • दस्तावेज़ के नाम के लिए 44 बाइट users/jeff/tasks/my_task_id
  • पैरंट दस्तावेज़ के नाम के लिए 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
  • बूलियन फ़ील्ड की वैल्यू के लिए एक बाइट
  • इंटीजर फ़ील्ड की वैल्यू के लिए 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 की कीमत के बारे में जानें.