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

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

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

גודל המחרוזת

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

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

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

לדוגמה:

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

גודל ערך השדה

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

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

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

  • ‫5 בייט לשם השדה done
  • בייט אחד לערך הבוליאני

גודל המסמך

גודל המסמך הוא הסכום של:

הדוגמה הזו היא למסמך באוסף 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
  • ‫1 בייט לערך השדה הבוליאני
  • ‫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 בייטים נוספים למטא-נתונים כלליים

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

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