स्टोरेज का साइज़

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

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

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

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

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

  • कलेक्शन का नाम
  • फ़ील्ड के नाम
  • स्ट्रिंग फ़ील्ड की वैल्यू (इनमें _id भी शामिल है)

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

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

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

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

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

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

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

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

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

यह उदाहरण, tasks कलेक्शन में मौजूद किसी दस्तावेज़ के लिए है:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

फ़ील्ड का कुल साइज़ 78 बाइट है:

फ़ील्ड का नाम और वैल्यू फ़ील्ड का साइज़ (बाइट में)
"_id": "my_task_id" फ़ील्ड की स्ट्रिंग वैल्यू के लिए 11 बाइट
"type": "Personal" 14
फ़ील्ड के नाम के लिए 5 बाइट + फ़ील्ड की स्ट्रिंग वैल्यू के लिए 9 बाइट
"done": false 6
फ़ील्ड के नाम के लिए 5 बाइट + फ़ील्ड की बूलियन वैल्यू के लिए 1 बाइट
"priority": 1 17
फ़ील्ड के नाम के लिए 9 बाइट + फ़ील्ड की 32-बिट इंटिजर वैल्यू के लिए 4 बाइट
"description": "Learn Cloud Firestore" 34
फ़ील्ड के नाम के लिए 12 + फ़ील्ड की स्ट्रिंग वैल्यू के लिए 22

इसलिए, दस्तावेज़ का साइज़ 6 + 78 + 48 = 132 बाइट है:

  • कलेक्शन के नाम के लिए 6 बाइट
  • फ़ील्ड के लिए 78 बाइट
  • अतिरिक्त 48 बाइट

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

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

tasks कलेक्शन में मौजूद किसी दस्तावेज़ पर विचार करें:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

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

  • tasks कलेक्शन के नाम के लिए 6 बाइट
  • _id फ़ील्ड की वैल्यू के लिए 11 बाइट
  • बूलियन फ़ील्ड की वैल्यू के लिए 1 बाइट
  • 32-बिट इंटिजर फ़ील्ड की वैल्यू के लिए 4 बाइट
  • अतिरिक्त 48 बाइट

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

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

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

  • कलेक्शन के नाम के स्ट्रिंग साइज़ का योग (x2).
  • किसी दस्तावेज़ के लिए, इंसर्ट और अपडेट इवेंट:
    • स्ट्रिंग साइज़ का योग जो fullDocument या updateDescription में मौजूद हर फ़ील्ड के नाम का है (_id को छोड़कर).
    • `fullDocument` या `updateDescription` में मौजूद हर `फ़ील्ड की वैल्यू` के साइज़ का योग. (इनमें _id भी शामिल है).
  • अगर यह एक से ज़्यादा दस्तावेज़ों वाले लेन-देन पर लागू होता है, तो lsid और txnNumber के लिए अतिरिक्त 24 बाइट.
  • अतिरिक्त 92 बाइट

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

{
  "_id": { <Resume Token> },
  "operationType": "insert",
  "clusterTime": <Timestamp>,
  "wallTime": <ISODate>,
  "ns": {
     "db": "db",
     "coll": "tasks"
  },
  "documentKey": {
     "_id": "my_task_id"
  },
  "fullDocument": {
     "_id": "my_task_id",
     "description": "Learn Cloud Firestore"
  },
}

चेंज स्ट्रीम इवेंट का कुल साइज़ 149 बाइट है:

  • सामान्य मेटाडेटा के लिए 92 बाइट
  • tasks कलेक्शन के नाम (6 बाइट) * 2 के आधार पर 12 बाइट
  • _id फ़ील्ड की वैल्यू के लिए 11 बाइट
  • description फ़ील्ड के नाम के लिए 12 बाइट
  • description फ़ील्ड की वैल्यू के लिए 22 बाइट

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

शुल्क तय करने के बारे में जानें.