במדריך הזה מוסבר על Cloud Firestore מגבלות, ובמאמר Cloud Firestore תמחור מופיע הסבר מלא ומפורט על Cloud Firestore עלויות, כולל דברים שכדאי לשים לב אליהם.
מעקב אחר השימוש
כדי לעקוב אחרי השימוש ב-Cloud Firestore דרך מסוף Firebase, עוברים אל הכרטיסייה Usage (שימוש) בקטע Databases & Storage (מסדי נתונים ואחסון) > Firestore. אפשר להשתמש בלוח הבקרה הזה כדי להעריך את השימוש שלכם בתקופות זמן שונות.
נתוני שימוש מפורטים במסוף Google Cloud
כשיוצרים פרויקט ב-Firebase, יוצרים גם פרויקט Google Cloud. בדפים Cloud Firestore API Quotas ו-App Engine Quotas במסוף Google Cloud אפשר לעקוב אחרי השימוש ב-Cloud Firestore ולקבל מידע על המכסות.
מכסה ללא תשלום
Cloud Firestore מציע מכסת שימוש בחינם שמאפשרת לכם להתחיל לעבוד ללא עלות. אם אתם צריכים מכסה גדולה יותר, אתם צריכים להפעיל את החיוב בפרויקט Google Cloud.
המכסות חלות על בסיס יומי ומתאפסות בסביבות חצות לפי שעון החוף המערבי.
בטבלה הבאה מפורטות מכסות השימוש בחינם:
| תוכנית בחינם | מכסה |
|---|---|
| נתונים מאוחסנים | 1 GiB |
| קריאות מסמכים | 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. כדי ליצור שם שדה עם התו גרש הפוך, צריך להוסיף לפניו את התו לוכסן הפוך (\). כדי לפשט את התהליך, אפשר להעביר את נתיב השדה כאובייקט FieldPath (לדוגמה, ראו JavaScript FieldPath) וכך להימנע משמות שדות עם מרכאות.
|
| הגודל המקסימלי של נתיב שדה | 1,500 בייטים |
| הגודל המקסימלי של ערך בשדה | 1 MiB - 89 bytes (1,048,487 bytes) |
| העומק המקסימלי של שדות במפה או במערך | 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. התקציבים לא יגבילו את השימוש, אבל אפשר להגדיר התראות כדי לקבל עדכונים כשמתקרבים לעלויות המתוכננות לחודש או חורגים מהן.
כדי להגדיר תקציב, עוברים לקטע חיוב במסוף Google Cloud ויוצרים תקציב לחשבון Cloud Billing. אתם יכולים להשתמש בהגדרות ברירת המחדל של ההתראות או לשנות את ההתראות כדי לקבל התראות באחוזים שונים של התקציב החודשי.
מידע נוסף על הגדרת תקציבים והתראות על תקציבים