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

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

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

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

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

इन्हें स्ट्रिंग के तौर पर सेव किया जाता है:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

किसी दस्तावेज़ का साइज़, इन चीज़ों के साइज़ को जोड़कर तय होता है:

यह उदाहरण, सब-कलेक्शन 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
  • बूलियन फ़ील्ड की वैल्यू के लिए एक बाइट
  • इंटीजर फ़ील्ड वैल्यू के लिए आठ बाइट
  • 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
  • बूलियन फ़ील्ड की वैल्यू के लिए एक बाइट
  • इंटीजर फ़ील्ड वैल्यू के लिए आठ बाइट
  • 32 अतिरिक्त बाइट

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

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

  • कलेक्शन के नाम की स्ट्रिंग का साइज़
  • दस्तावेज़ आईडी की वैल्यू का साइज़
  • इंडेक्स किए गए फ़ील्ड की वैल्यू के बाइट का योग (x2)
  • सामान्य मेटाडेटा के लिए 48 अतिरिक्त बाइट

tasks कलेक्शन में, दस्तावेज़ आईडी my_task_id वाले दस्तावेज़ के लिए, इंसर्ट इवेंट का यह उदाहरण देखें:

description पर टेक्स्ट सर्च इंडेक्स एंट्री का कुल साइज़ 105 बाइट है. यह साइज़ इन पर आधारित है:

  • कलेक्शन के नाम के लिए छह बाइट tasks
  • दस्तावेज़ आईडी की वैल्यू के लिए 11 बाइट
  • 44 बाइट, description फ़ील्ड के लिए 22 बाइट x2 के आधार पर
  • सामान्य मेटाडेटा के लिए 48 अतिरिक्त बाइट

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

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

  • कलेक्शन के नाम की स्ट्रिंग का साइज़
  • दस्तावेज़ आईडी की वैल्यू का साइज़
  • इंडेक्स किए गए हर जियो पॉइंट के लिए 128 बाइट
  • सामान्य मेटाडेटा के लिए 48 अतिरिक्त बाइट

places कलेक्शन में, दस्तावेज़ आईडी my_place वाले दस्तावेज़ के लिए, इंसर्ट इवेंट का यह उदाहरण देखें:

{
     "type": "Restaurant",
     "visited": false,
     "priority": 1,
     "location": GeoPoint(longitude, latitude)
}

location पर जियोस्पेशल इंडेक्स एंट्री का कुल साइज़ 192 बाइट है. यह साइज़ इनके आधार पर तय होता है:

  • कलेक्शन के नाम के लिए सात बाइट places
  • दस्तावेज़ आईडी के लिए नौ बाइट
  • location फ़ील्ड के लिए 128 बाइट
  • सामान्य मेटाडेटा के लिए 48 अतिरिक्त बाइट

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

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