שימוש ומגבלות

השתמש במדריך זה כדי להבין את מגבלות 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) זכאי למכסה החינמית.

שכבה חינם מִכסָה
נתונים מאוחסנים 1 GiB
מסמך קורא 50,000 ליום
המסמך כותב 20,000 ליום
מסמך מוחק 20,000 ליום
העברת נתונים יוצאת 10 GiB לחודש

הפעולות והתכונות הבאות אינן כוללות שימוש חופשי. עליך להפעיל חיוב כדי להשתמש בתכונות הבאות:

  • שימוש בבסיסי נתונים בעלי שם (שאינם ברירת מחדל).
  • TTL מוחק
  • נתוני PITR
  • גיבוי נתונים
  • שחזור פעולות

למידע נוסף על אופן החיוב של תכונות אלה, ראה תמחור אחסון .

מגבלות סטנדרטיות

הטבלאות הבאות מציגות את המגבלות החלות על Cloud Firestore. אלו גבולות קשים אלא אם צוין אחרת.

מאגרי מידע

לְהַגבִּיל פרטים
מספר מרבי של מסדי נתונים לכל פרויקט

100

אתה יכול לפנות לתמיכה כדי לבקש העלאה למגבלה זו.

אוספים, מסמכים ושדות

לְהַגבִּיל פרטים
אילוצים על מזהי אוסף
  • חייבים להיות תווי UTF-8 חוקיים
  • חייב להיות לא יותר מ-1,500 בתים
  • לא יכול להכיל קו נטוי קדימה ( / )
  • לא יכול להכיל רק נקודה אחת ( . ) או נקודות כפולות ( .. )
  • לא ניתן להתאים לביטוי הרגולרי __.*__
עומק מרבי של תת-אוספים 100
אילוצים על מזהי מסמכים
  • חייבים להיות תווי UTF-8 חוקיים
  • חייב להיות לא יותר מ-1,500 בתים
  • לא יכול להכיל קו נטוי קדימה ( / )
  • לא יכול להכיל רק נקודה אחת ( . ) או נקודות כפולות ( .. )
  • לא ניתן להתאים לביטוי הרגולרי __.*__
  • אם אתה מייבא ישויות Datastore למסד נתונים של Firestore, מזהי ישויות מספריים נחשפים כ __id[0-9]+__
גודל מקסימלי עבור שם מסמך 6 KiB
גודל מקסימלי עבור מסמך 1 MiB (1,048,576 בתים)
אילוצים על שמות שדות חייבים להיות תווי UTF-8 חוקיים
גודל מקסימלי של שם שדה 1,500 בתים
אילוצים על שבילי שטח
  • יש להפריד בין שמות שדות עם נקודה אחת ( . )
  • ניתן להעביר כמחרוזת מופרדת בנקודות ( . ) של קטעים כאשר כל קטע הוא שם שדה פשוט או שם שדה במירכאות (מוגדר להלן).
שם שדה פשוט הוא שם שבו כל הדברים הבאים נכונים:
  • מכיל רק את התווים az , AZ , 0-9 וקו תחתון ( _ )
  • לא מתחיל ב 0-9
שם שדה במירכאות מתחיל ומסתיים עם התו האחורי ( ` ). לדוגמה, foo.`x&y` מתייחס לשדה x&y המקנן מתחת לשדה foo . כדי לבנות שם שדה עם תו ההתקתק האחורי, הרח את התו האחורי עם תו הקו האחורי ( \ ). מטעמי נוחות, תוכל להימנע משמות שדות במירכאות על ידי העברת נתיב השדה כאובייקט FieldPath ( לדוגמה, ראה JavaScript FieldPath ).
גודל מקסימלי של נתיב שדה 1,500 בתים
גודל מקסימלי של ערך שדה 1 MiB - 89 בתים (1,048,487 בתים)
עומק מרבי של שדות במפה או במערך 20

כתיבה ועסקאות

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

לְהַגבִּיל פרטים
גודל בקשת API מקסימלי 10 MiB
מגבלת זמן לעסקה 270 שניות, עם זמן סרק של 60 שניות

אינדקסים

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

לְהַגבִּיל פרטים
מספר מקסימלי של אינדקסים מורכבים עבור מסד נתונים
מספר מקסימלי של תצורות של שדה בודד עבור מסד נתונים

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

מספר מרבי של ערכי אינדקס עבור כל מסמך

40,000

מספר כניסות האינדקס הוא הסכום של הדברים הבאים עבור מסמך:

  • מספר ערכי אינדקס בשדה בודד
  • מספר ערכי האינדקס המרוכב

כדי לראות כיצד Cloud Firestore הופך מסמך וקבוצת אינדקסים לערכי אינדקס, ראה דוגמה זו לספירת כניסות באינדקס .

מספר מרבי של שדות באינדקס מורכב 100
גודל מקסימלי של ערך אינדקס

7.5 KiB

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

סכום מקסימלי של הגדלים של ערכי האינדקס של מסמך

8 MiB

הגודל הכולל הוא הסכום של הדברים הבאים עבור מסמך:

  • סכום הגודל של ערכי אינדקס בשדה בודד של מסמך
  • סכום הגודל של ערכי האינדקס המשולבים של מסמך
  • גודל מקסימלי של ערך שדה שנוסף לאינדקס

    1500 בתים

    ערכי שדות מעל 1500 בתים קטועים. שאילתות הכוללות ערכי שדות קטועים עלולות להחזיר תוצאות לא עקביות.

    זמן חיים (TTL)

    לְהַגבִּיל פרטים
    מספר מקסימלי של תצורות של שדה בודד עבור מסד נתונים

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

    ייצוא ייבוא

    המגבלות הבאות חלות על פעולות יבוא ויצוא מנוהלות :

    לְהַגבִּיל פרטים
    המספר הכולל המרבי של בקשות ייצוא ויבוא עבור פרויקט מותר לדקה 20
    מספר מקסימלי של יצוא וייבוא ​​במקביל 50
    מספר מרבי של מסנני מזהי אוסף עבור בקשות ייצוא וייבוא 100

    כללי אבטחה

    לְהַגבִּיל פרטים
    המספר המרבי של exists() , get() ו- getAfter() לכל בקשה
    • 10 עבור בקשות למסמך בודד ובקשות שאילתות.
    • 20 לקריאה מרובת מסמכים, עסקאות וכתיבת אצווה. המגבלה הקודמת של 10 חלה גם על כל פעולה.

      לדוגמה, דמיינו שאתם יוצרים בקשת כתיבה אצווה עם 3 פעולות כתיבה ושכללי האבטחה שלכם משתמשים ב-2 קריאות גישה למסמכים כדי לאמת כל כתיבה. במקרה זה, כל כתיבה משתמשת ב-2 מתוך 10 שיחות הגישה שלה ובקשת הכתיבה המצטברת משתמשת ב-6 מתוך 20 שיחות הגישה שלה.

    חריגה משתי הגבלות גורמת לשגיאה שנדחתה.

    חלק משיחות הגישה למסמכים עשויות להיות מאוחסנות במטמון, ושיחות במטמון אינן נחשבות למגבלות.

    עומק מקסימלי של הצהרת match מקוננת 10
    אורך נתיב מרבי, בקטעי נתיב, מותר בתוך קבוצה של הצהרות match מקוננות 100
    המספר המרבי של משתני לכידת נתיב המותר בתוך קבוצה של הצהרות match מקוננות 20
    עומק קריאת פונקציה מקסימלי 20
    מספר מקסימלי של ארגומנטים של פונקציה 7
    המספר המרבי של כריכות משתנה let לכל פונקציה 10
    המספר המרבי של קריאות פונקציות רקורסיביות או מחזוריות 0 (לא מותר)
    מספר מקסימלי של ביטויים שהוערך לכל בקשה 1,000
    גודל מקסימלי של ערכת חוקים על ערכות הכללים לציית לשתי מגבלות גודל:
    • מגבלה של 256 KB על גודל מקור הטקסט של ערכת הכללים שפורסם ממסוף Firebase או מה-CLI באמצעות firebase deploy .
    • מגבלה של 250 קילו-בייט על גודל ערכת הכללים הקומפילית שנוצרת כאשר Firebase מעבד את המקור והופך אותו לפעיל בקצה האחורי.

    ניהול הוצאות

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

    הגדר תקציב חודשי

    כדי לעקוב אחר עלויות Cloud Firestore שלך, צור תקציב חודשי בקונסולת Google Cloud. תקציבים לא יגבילו את השימוש שלך, אבל אתה יכול להגדיר התראות שיודיעו לך כאשר אתה מתקרב או חורג מהעלויות המתוכננות שלך לחודש.

    כדי להגדיר תקציב, עבור לקטע חיוב במסוף של Google Cloud וצור תקציב עבור חשבון Cloud Billing שלך. אתה יכול להשתמש בהגדרות ברירת המחדל של ההתראות או לשנות את ההתראות כדי לשלוח התראות באחוזים שונים מהתקציב החודשי שלך.

    למידע נוסף על הגדרת תקציבים והתראות תקציב .