תוכלו להיעזר במדריך הזה כדי להבין את המגבלות של Cloud Firestore, ולעיין בתמחור של Cloud Firestore כדי לקבל הסבר מלא ומפורט על העלויות של Cloud Firestore, כולל דברים שכדאי להיזהר מהם.
מעקב אחר השימוש
כדי לעקוב אחרי השימוש ב-Cloud Firestore, פותחים את הכרטיסייה Cloud Firestore Usage במסוף Firebase. אתם יכולים להשתמש בלוח הבקרה כדי למדוד את השימוש בפרקי זמן שונים.
נתוני שימוש מפורטים במסוף Google Cloud
כשיוצרים פרויקט ב-Firebase, יוצרים גם פרויקט Google Cloud. בדפים Cloud Firestore API Quotas ו-App Engine Quotas במסוף Google Cloud מתועדים נתוני השימוש והמכסות של Cloud Firestore.
מכסה בחינם
ב-Cloud Firestore יש מכסה בחינם שמאפשרת לכם להתחיל להשתמש במסד הנתונים של (default)
ללא עלות. סכומי המכסות בחינם מפורטים בהמשך.
אם אתם צריכים מכסה גדולה יותר, עליכם להפעיל את החיוב בפרויקט Google Cloud.
המכסות חלות מדי יום ומתאפסו בסביבות חצות לפי שעון החוף המערבי.
רק מסד הנתונים (default)
עומד בדרישות להקצאת המכסה בחינם.
תוכנית ללא תשלום | מכסה |
---|---|
נתונים שמאוחסנים | 1GiB |
קריאת מסמכים | 50,000 ביום |
כתיבה של מסמכים | 20,000 ביום |
מחיקה של מסמכים | 20,000 ביום |
העברת נתונים יוצאת | 10GB לחודש |
הפעולות והתכונות הבאות לא כוללות שימוש בחינם. צריך להפעיל את החיוב כדי להשתמש בתכונות הבאות:
- שימוש במסדי נתונים עם שם (לא ברירת המחדל)
- מחיקה של TTL
- נתוני PITR
- נתוני גיבוי
- פעולות שחזור
מידע נוסף על אופן החיוב של התכונות האלה זמין במאמר תמחור אחסון.
מגבלות רגילות
בטבלאות הבאות מפורטות המגבלות שחלות על Cloud Firestore. אלו מגבלות קשות, אלא אם צוין אחרת.
מסדי נתונים
מגבלה | פרטים |
---|---|
המספר המקסימלי של מסדי נתונים לכל פרויקט |
100 אפשר לפנות לתמיכה ולבקש להגדיל את המגבלה. |
אוספים, מסמכים ושדות
מגבלה | פרטים |
---|---|
אילוצים על מזהי קולקציות |
|
העומק המקסימלי של אוספי משנה | 100 |
אילוצים על מזהי מסמכים |
|
הגודל המקסימלי של שם המסמך | 6 KiB |
הגודל המקסימלי של מסמך | 1 MiB (1,048,576 בייטים) |
אילוצים על שמות שדות |
|
הגודל המקסימלי של שם שדה | 1,500 בייטים |
אילוצים על נתיבים של שדות |
` ). לדוגמה, foo.`x&y` מתייחס לשדה x&y שמוטמע בשדה foo . כדי ליצור שם שדה עם התו backtick, צריך להשתמש בתו backslash (\ ) כדי להימנע מהצגת התו backtick. כדי להימנע משימוש במירכאות בשמות שדות, אפשר להעביר את נתיב השדה כאובייקט FieldPath (לדוגמה, ראו JavaScript FieldPath).
|
הגודל המקסימלי של נתיב השדה | 1,500 בייטים |
הגודל המקסימלי של ערך שדה | 1MB – 89 בייטים (1,048,487 בייטים) |
עומק מקסימלי של שדות במפה או במערך | 20 שדות מפה ומערך מוסיפים רמה אחת לעומק הכולל של אובייקט. לדוגמה, לאובייקט הבא יש עומק כולל של שלוש רמות:
|
פעולות כתיבה ועסקאות
בנוסף למגבלות האלה, כדאי לעיין גם בשיטות המומלצות לעיצוב להתאמה לעומס (scaling).
מגבלה | פרטים |
---|---|
הגודל המקסימלי של בקשת ה-API | 10 MiB |
מגבלת זמן לעסקה | 270 שניות, עם זמן תפוגה של 60 שניות ללא פעילות |
המספר המקסימלי של טרנספורמציות שאפשר לבצע בשדה מסוים במסמך יחיד בפעולה Commit או בעסקה |
500 |
מדדים
המגבלות הבאות חלות על אינדקסים של שדה יחיד ועל אינדקסים מורכבים:
מגבלה | פרטים |
---|---|
המספר המקסימלי של אינדקסים מורכבים למסד נתונים |
|
המספר המקסימלי של הגדרות של שדה יחיד במסד נתונים |
הגדרה אחת ברמת השדה יכולה להכיל כמה הגדרות לאותו שדה. לדוגמה, פטור מהוספה לאינדקס בשדה יחיד ומדיניות TTL באותו שדה נחשבים להגדרת שדה אחד כחלק מהמגבלה. |
המספר המקסימלי של רשומות באינדקס לכל מסמך |
40,000 מספר הרשומות שנוספו לאינדקס הוא הסכום של הנתונים הבאים לגבי מסמך:
כדי לראות איך הפונקציה Cloud Firestore הופכת מסמך וקבוצה של אינדקסים לרשאות אינדקס, אפשר לעיין בדוגמה הזו לספירת רשומות אינדקס. |
המספר המקסימלי של שדות במסד נתונים מורכב | 100 |
הגודל המקסימלי של ערך אינדקס |
7.5 KiB במאמר גודל רשומת האינדקס מוסבר איך Cloud Firestore מחשב את גודל רשומת האינדקס. |
הסכום המקסימלי של הגדלים של רשומות האינדקס של מסמך |
8MiB הגודל הכולל הוא הסכום של הנתונים הבאים לגבי מסמך: |
הגודל המקסימלי של ערך שדה שנוסף לאינדקס |
1,500 בייטים ערכים של שדות שאורכם עולה על 1,500 בייטים מקוצרים. שאילתות שכוללות ערכים של שדות חתוכים עשויות להחזיר תוצאות לא עקביות. |
אורך חיים (TTL)
מגבלה | פרטים |
---|---|
המספר המקסימלי של הגדרות של שדה יחיד במסד נתונים |
הגדרה אחת ברמת השדה יכולה להכיל כמה הגדרות אישיות לאותו השדה. לדוגמה, החרגה להוספה של שדה יחיד לאינדקס ומדיניות TTL באותו שדה נספרות כהגדרת שדה אחת במסגרת המגבלה. |
ייצוא/ייבוא
המגבלות הבאות חלות על פעולות מנוהלות של ייבוא וייצוא:
מגבלה | פרטים |
---|---|
המספר המקסימלי הכולל של בקשות ייצוא וייבוא שמותר לשלוח בכל דקה בפרויקט | 20 |
המספר המקסימלי של פעולות ייצוא וייבוא בו-זמניות | 50 |
המספר המקסימלי של מסננים של מזהי אוספים לבקשות ייצוא וייבוא | 100 |
כללי אבטחה
מגבלה | פרטים |
---|---|
המספר המקסימלי של קריאות ל-exists() , ל-get() ול-getAfter() בכל בקשה |
חריגה מכל אחת מהמגבלות תגרום לשגיאה של דחיית ההרשאה. יכול להיות שחלק מהקריאות לגישה למסמכים יישמרו במטמון, קריאות כאלה לא נספרות במסגרת המגבלות. |
העומק המקסימלי של דף חשבון match בתצוגת עץ |
10 |
אורך הנתיב המקסימלי, בקטעי נתיב, שמותר בקבוצה של משפטי match בתצוגת עץ |
100 |
המספר המקסימלי של משתני לכידת נתיב שמותר בקבוצה של
משפטי match בתצוגת עץ |
20 |
עומק קריאה מקסימלי של פונקציה | 20 |
מספר הארגומנטים המקסימלי של פונקציה | 7 |
המספר המקסימלי של קישורי משתני let לכל פונקציה |
10 |
המספר המקסימלי של קריאות פונקציה חזרותיות או מחזוריות | 0 (לא אפשרי) |
המספר המקסימלי של ביטויים שאפשר להעריך בכל בקשה | 1,000 |
הגודל המקסימלי של קבוצת כללים | קבוצות כללים צריכות לציית לשתי מגבלות גודל:
|
ניהול ההוצאות
כדי להימנע מחיובים בלתי צפויים בחשבון, כדאי להגדיר תקציבים חודשיים ואזהרות.
הגדרת תקציב חודשי
כדי לעקוב אחרי העלויות של Cloud Firestore, צריך ליצור תקציב חודשי במסוף Google Cloud. התקציבים לא יגבילו את השימוש, אבל תוכלו להגדיר התראות שיודיעו לכם כשאתם מתקרבים לעלויות המתוכננות בחודש מסוים או חורגים מהן.
כדי להגדיר תקציב, עוברים לקטע Billing במסוף Google Cloud ויוצרים תקציב לחשבון Cloud Billing. תוכלו להשתמש בהגדרות ברירת המחדל של ההתראות או לשנות את ההתראות כדי לשלוח התראות באחוזים שונים מהתקציב החודשי.
מידע נוסף על הגדרת תקציבים והתראות תקציב