גודל נפח האחסון

בדף הזה מתואר גודל האחסון של מסמכים, שדות ורשומות אינדקס ב-Cloud Firestore.

מידע על עלויות האחסון זמין בדף תמחור.

גודל המחרוזת

גודל המחרוזת מחושב כמספר הבייטים בקידוד UTF-8 + 1.

הערכים הבאים מאוחסנים כמחרוזות:

  • שם האוסף
  • שמות השדות
  • ערכים של שדות מחרוזת (כולל _id)

לדוגמה:

  • שם האוסף tasks משתמש ב-5 בייטים + בבייט אחד, כלומר ב-6 בייטים בסך הכול.
  • שם השדה description משתמש ב-11 בייטים + בבייט אחד, כלומר ב-12 בייטים בסך הכול.

גודל הערך בשדה

בטבלה הבאה מוצג גודל הערכים בשדות לפי סוג.

סוג גודל
מערך סכום הגדלים של הערכים שלו
בוליאני בייט אחד
נתונים בינאריים אורך בבייטים + 1 לסוג משנה לא כללי (לא 0)
תאריך ‫8 בייטים
זוגית ‫8 בייטים
Double128 ‫16 בייטים
מספר שלם ב-32 ביט ‫4 בייטים
מספר שלם (long) של 64 ביט ‫8 בייטים
אובייקט סכום הגדלים של מחרוזות השמות של כל שדה ושל הגדלים של כל ערך שדה באובייקט המוטמע
מפתח מינימום בייט אחד
מפתח מקסימלי בייט אחד
Null בייט אחד
ביטוי רגולרי (אורך התבנית + 1) + (אורך האפשרויות + 1)
חותמת זמן ‫8 בייטים
מחרוזת מספר הבייטים בקידוד UTF-8 + 1

לדוגמה, שדה בוליאני בשם done ישתמש ב-6 בייטים:

  • ‫5 בייט לשם השדה done
  • ‫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 עבור שם השדה + 4 עבור ערך השדה כמספר שלם של 32 ביט
"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 בייטים:

  • ‫6 בייט לשם האוסף tasks
  • ‫11 בייט לערך השדה _id
  • בייט אחד לערך השדה הבוליאני
  • ‫4 בייט לערך השדה של מספר שלם בן 32 ביט
  • ‫48 בייטים נוספים

באינדקסים דלילים, אם מסמך לא כולל אף אחד מהשדות, לא נוצרת רשומה באינדקס. אם מסמך מכיל לפחות אחד מהשדות שנוספו לאינדקס, נוצרת רשומה באינדקס עם שדות שנוספו לאינדקס ולא קיימים, שמוגדרים כ-NULL.

שינוי הגודל של רשומת אירוע בשידור חי

הגודל של אירוע בפיד שינויים הוא הסכום של:

  • סכום גודל המחרוזת של שם האוסף (x2).
  • לאירועי הוספה ועדכון של מסמך:
    • סכום גודל המחרוזת של כל שם שדה ב-fullDocument או ב-updateDescription (חוץ מ-_id).
    • סכום הגודל של כל ערך שדה ב-fullDocument או ב-updateDescription. (כולל _id).
  • אם רלוונטי לעסקאות עם כמה מסמכים, עוד 24 בייטים ל-lsid ול-txnNumber.
  • ‫92 בייטים נוספים

דוגמה לאירוע הוספה למסמך באוסף המשימות:

{
  "_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 בייט למטא-נתונים כלליים
  • ‫12 בייטים על סמך שם האוסף tasks (6 בייטים) * 2
  • ‫11 בייט לערך השדה _id
  • ‫12 בייט לשם השדה description
  • ‫22 בייט לערך השדה description

גודל רשומה באינדקס של חיפוש טקסט

הגודל של רשומה באינדקס של חיפוש טקסט באינדקס הוא הסכום של:

  • גודל המחרוזת של שם האוסף
  • הגודל של הערך _id
  • סכום הבייטים מערכי שדות באינדקס (x2)
  • ‫48 בייטים נוספים למטא-נתונים כלליים

דוגמה לאירוע הוספה למסמך עם _id my_task_id באוסף tasks:

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

הגודל הכולל של רשומה באינדקס של חיפוש טקסט ב-description הוא 105 בייט, על סמך:

  • ‫6 בייט לשם האוסף tasks
  • ‫11 בייט לערך _id
  • ‫44 בייט, על סמך 22 בייט לשדה description כפול 2
  • ‫48 בייטים נוספים למטא-נתונים כלליים

גודל רשומה באינדקס גיאו-מרחבי

הגודל של רשומה באינדקס גיאו-מרחבי הוא סכום הערכים הבאים:

  • גודל המחרוזת של שם האוסף
  • הגודל של הערך _id
  • ‫128 בייט לכל נקודה גיאוגרפית באינדקס
  • ‫48 בייטים נוספים למטא-נתונים כלליים

דוגמה לאירוע הוספה למסמך עם _id my_place באוסף places:

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

הגודל הכולל של רשומה באינדקס גיאו-מרחבי ב-location הוא 192 בייטים, על סמך:

  • ‫7 בייט לשם האוסף places
  • ‫9 בייט למזהה המסמך
  • ‫128 בייטים לשדה location
  • ‫48 בייטים נוספים למטא-נתונים כלליים

המאמרים הבאים

מידע נוסף על תמחור