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

רלוונטי רק למהדורת Cloud Firestore Enterprise.

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

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

גודל המחרוזת

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

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

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

לדוגמה:

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

גודל ערך השדה

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

סוג גודל
מערך סכום הגדלים של הערכים שלו
בוליאני בייט אחד
נתונים בינאריים אורך בבייט + 1 לסוג משנה לא כללי (לא 0)
תאריך ‫8 בייטים
זוגית ‫8 בייטים
Double128 ‫16 בייטים
מספר שלם (integer) ב-32 ביט ‫4 בייטים
מספר שלם (long) ב-64 ביט ‫8 בייטים
אובייקט סכום הגדלים של מחרוזות השמות של כל שדה ושל הגדלים של כל ערך שדה באובייקט המוטמע
מפתח Min בייט אחד
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
  • בייט אחד לערך השדה הבוליאני
  • ‫4 בייט לערך השדה של מספר שלם בן 32 ביט
  • ‫48 בייטים נוספים

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

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

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