חישוב של גודל האחסון

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

Cloud Firestoreמידע על עלויות האחסון

גודל המחרוזת

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

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

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

לדוגמה:

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

גודל מזהה המסמך

הגודל של מזהה מסמך הוא גודל המחרוזת של מזהה מחרוזת או 8 בייט של מזהה מספר שלם.

גודל שם המסמך

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

  • הגודל של כל מזהה אוסף ומזהה מסמך בנתיב למסמך
  • ‫16 בייטים נוספים

אם יש מסמך באוסף המשנה users/jeff/tasks עם מזהה מסמך מסוג מחרוזת my_task_id, גודל שם המסמך הוא 6 + 5 + 6 + 11 + 16 = 44 בייטים:

  • ‫6 בייט למזהה האוסף users
  • ‫5 בייט למזהה המסמך jeff
  • ‫6 בייט למזהה האוסף tasks
  • ‫11 בייט למזהה המסמך my_task_id
  • ‫16 בייטים נוספים

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

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

סוג גודל
מערך סכום הגדלים של הערכים שלו
בוליאני בייט אחד
בייטים אורך בבייטים
תאריך ושעה ‫8 בייטים
מספר בשיטת נקודה צפה ‫8 בייטים
נקודה גיאוגרפית ‫16 בייטים
מספר שלם ‫8 בייטים
מפה גודל המפה, שמחושב באותו אופן כמו גודל המסמך
Null בייט אחד
חומרי עזר הגודל של שם המסמך
מחרוזת טקסט מספר הבייטים בקידוד UTF-8 + 1
Vector ‫8 בייט לכל מאפיין

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

  • ‫5 בייט לשם השדה 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
  • ‫5 בייט לשם השדה 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
  • ‫5 בייט לשם השדה 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
  • בייט אחד לערך השדה הבוליאני
  • ‫8 בייט לערך של שדה המספר השלם
  • ‫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
  • בייט אחד לערך השדה הבוליאני
  • ‫8 בייט לערך של שדה המספר השלם
  • ‫32 בייטים נוספים

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

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

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

נניח שרוצים להוסיף אירוע למסמך עם מזהה המסמך my_task_id באוסף tasks:

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

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

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

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

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

נניח שרוצים להוסיף אירוע למסמך עם מזהה המסמך my_place באוסף places:

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

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

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

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

מידע נוסף על התמחור של Cloud Firestore