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

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

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

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

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

यहां दी गई चीज़ें, स्ट्रिंग के तौर पर सेव की जाती हैं:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • done फ़ील्ड के नाम के लिए 5 बाइट
  • बूलियन वैल्यू के लिए 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 बाइट है:

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

कलेक्शन ग्रुप का दायरा

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

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

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

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

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

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

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

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

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

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

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

कलेक्शन के दायरे वाले कंपोज़िट इंडेक्स के लिए, जो done और priority फ़ील्ड (दोनों बढ़ते क्रम में) को इंडेक्स करता है, इस इंडेक्स में मौजूद एंट्री का कुल साइज़ 112 बाइट है:

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

कलेक्शन ग्रुप का दायरा

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

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

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

कलेक्शन ग्रुप के दायरे वाले कंपोज़िट इंडेक्स के लिए, जो done और priority फ़ील्ड (दोनों बढ़ते क्रम में) को इंडेक्स करता है, इस इंडेक्स में मौजूद इंडेक्स एंट्री का कुल साइज़ 85 बाइट है:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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