במדריך הזה מוסברות המגבלות של Cloud Firestore, ובמאמר התמחור של Cloud Firestore מוסברות העלויות של Cloud Firestore, כולל דברים שצריך לשים לב אליהם.
מעקב אחרי השימוש
כדי לעקוב אחרי השימוש ב-Cloud Firestore במסוף Firebase, עוברים אל הכרטיסייה Databases & Storage > Firestore > Usage. אתם יכולים להשתמש במרכז הבקרה הזה כדי לבדוק את השימוש שלכם בתקופות שונות.
שימוש מפורט במסוף Google Cloud
כשיוצרים פרויקט ב-Firebase, יוצרים גם פרויקט ב-Google Cloud. בדפים Cloud Firestore API Quotas ו-App Engine Quotas במסוף Google Cloud אפשר לעקוב אחרי השימוש ב-Cloud Firestore ומידע על המכסות.
מכסה חינמית
ב-Cloud Firestore יש מכסה בחינם שמאפשרת לכם להתחיל בלי לשלם. אם אתם צריכים מכסה גדולה יותר, אתם צריכים להפעיל את החיוב בפרויקט Google Cloud.
המכסות חלות על בסיס יומי ומתאפסות בסביבות חצות לפי שעון החוף המערבי.
בטבלה הבאה מפורטות המכסות החינמיות:
| תוכנית בחינם | מכסה |
|---|---|
| נתונים מאוחסנים | 1GiB |
| קריאות של מסמכים | 50,000 ביום |
| כתיבת מסמכים | 20,000 ביום |
| מחיקות של מסמכים | 20,000 ביום |
| העברת נתונים יוצאת | 10GiB לחודש |
הפעולות והתכונות הבאות לא כוללות שימוש בחינם. כדי להשתמש בתכונות האלה, צריך להפעיל את החיוב:
- מחיקות TTL
- נתוני PITR
- גיבוי הנתונים
- פעולות שחזור
- פעולות שכפול
למידע נוסף על החיוב של התכונות האלה, ראו תמחור האחסון.
מגבלות רגילות
בטבלאות הבאות מפורטות המגבלות שחלות על Cloud Firestore. אלה מגבלות קשיחות, אלא אם צוין אחרת.
מסדי נתונים
| מגבלה | פרטים |
|---|---|
| מספר מסדי הנתונים המקסימלי בכל פרויקט |
100 כדי להגדיל את המגבלה, אפשר לפנות לתמיכה. |
| מספר מקסימלי של מסדי נתונים עם מפתחות הצפנה בניהול הלקוח (CMEK) לכל פרויקט |
0 כברירת מחדל, המכסה היא 0 כי התכונה הזו נמצאת ברשימת היתרים. כדי לבקש להגדיל את המכסה, צריך למלא את טופס הבקשה לגישה ל-CMEK. |
אוספים, מסמכים ושדות
| מגבלה | פרטים |
|---|---|
| אילוצים על מזהי אוספים |
|
| עומק מקסימלי של אוספי משנה | 100 |
| מגבלות על מזהי מסמכים |
|
| הגודל המקסימלי של שם מסמך | 6 KiB |
| הגודל המקסימלי של מסמך | 1MiB (1,048,576 בייטים) |
| מגבלות על שמות של שדות |
|
| הגודל המקסימלי של שם שדה | 1,500 בייטים |
| אילוצים על נתיבי שדות |
`). לדוגמה, foo.`x&y` מתייחס לשדה x&y שמוטמע בשדה foo. כדי ליצור שם שדה עם תו הגרש ההפוך, צריך להוסיף תו בריחה (escape) של לוכסן הפוך (\). כדי להימנע משמות שדות במירכאות, אפשר להעביר את נתיב השדה כאובייקט FieldPath (לדוגמה, ראו JavaScript FieldPath).
|
| הגודל המקסימלי של נתיב שדה | 1,500 בייטים |
| הגודל המקסימלי של ערך שדה | 1MiB פחות 89 בייטים (1,048,487 בייטים) |
| עומק מקסימלי של שדות במפה או במערך | 20 שדות של מפות ומערכים מוסיפים רמה אחת לעומק הכולל של אובייקט. לדוגמה, לאובייקט הבא יש עומק כולל של שלוש רמות: |
כתיבה ועסקאות
בנוסף למגבלות האלה, כדאי לעיין בשיטות המומלצות לתכנון בקנה מידה רחב.
| מגבלה | פרטים |
|---|---|
| גודל מקסימלי של בקשת API | 10 MiB |
| מגבלת הזמן לעסקה | 270 שניות, עם זמן תפוגה של 60 שניות ללא פעילות |
מספר הטרנספורמציות המקסימלי שאפשר לבצע בשדות של מסמך אחד בפעולת Commit או בטרנזקציה |
500 |
אינדקסים
המגבלות הבאות חלות על אינדקסים של שדה יחיד ועל אינדקסים מורכבים:
| מגבלה | פרטים |
|---|---|
| המספר המקסימלי של אינדקסים מורכבים במסד נתונים |
|
| מספר מקסימלי של הגדרות שדה יחיד למסד נתונים |
הגדרה אחת ברמת השדה יכולה להכיל כמה הגדרות לאותו שדה. לדוגמה, החרגה של הוספה לאינדקס של שדה יחיד ומדיניות TTL באותו שדה נחשבות כהגדרה אחת של שדה במגבלה. |
|
מספר הערכים המקסימלי באינדקס לכל מסמך |
40,000 מספר הרשומות באינדקס הוא הסכום של הרכיבים הבאים במסמך:
כדי לראות איך Cloud Firestore הופך מסמך וקבוצת אינדקסים לרשומות באינדקס, אפשר לעיין בדוגמה הזו לספירת רשומות באינדקס. |
| מספר השדות המקסימלי באינדקס מורכב | 100 |
| הגודל המקסימלי של רשומה באינדקס |
7.5 KiB כדי לראות איך Cloud Firestore מחשב את גודל הרשומה באינדקס, קראו את המאמר גודל הרשומה באינדקס. |
| הסכום המקסימלי של הגדלים של רשומות האינדקס של מסמך |
8 MiB הגודל הכולל הוא הסכום של הערכים הבאים במסמך: |
| הגודל המקסימלי של ערך שדה שנוסף לאינדקס |
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. אתם יכולים להשתמש בהגדרות ברירת המחדל של ההתראות, או לשנות אותן כדי לקבל התראות באחוזים שונים של התקציב החודשי.
איך מגדירים תקציבים והתראות לגבי תקציבים