מגבלות של מסדי נתונים בזמן אמת

ההגבלות הבאות חלות על אחסון נתונים ופעולות ב-Firebase Realtime Database. כדי להרחיב את השימוש מעבר למגבלות האלה, משתמשים בכמה מסדי נתונים.

גלובלי

פעולה מגבלה תיאור
חיבורים בו-זמניים 200,000*

חיבור בו-זמני שווה למכשיר נייד אחד, לכרטיסיית דפדפן או לאפליקציית שרת שמחוברים למסד הנתונים.

המספר הזה לא זהה למספר הכולל של המשתמשים באפליקציה, כי לא כל המשתמשים מתחברים בו-זמנית. לדוגמה, באפליקציות עם 10 מיליון משתמשים פעילים בחודש יש בדרך כלל פחות מ-200,0�0 חיבורים בו-זמנית. מספר החיבורים המקסימלי בו-זמנית תלוי במספר המשתמשים הכולל ובזמן הממוצע שמשתמשים מבלים באפליקציה.

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

*בתוכנית Spark, המגבלה על מספר החיבורים בו-זמנית היא 100.

תשובות בו-זמניות שנשלחות ממסד נתונים יחיד. ‫~100,000 לשנייה התשובות כוללות שידורים בו-זמניים ופעולות קריאה שנשלחות מהשרת ממסד נתונים יחיד בזמן נתון. המגבלה מתייחסת למנות הנתונים שמייצגות כל פעולת קריאה או שידור בנפרד, כולל התראות פוש, שנשלחות ממסד הנתונים. ההנחיות האלה מתייחסות לעומס מתמשך, אבל מסד הנתונים יכול להתמודד עם פרצי עומס גבוהים יותר מדי פעם.
מספר הפונקציות של Cloud Functions שהופעלו על ידי כתיבה יחידה ‫1,000; או, עבור Cloud Functions גרסה 2, 500 לכל אזור אין הגבלה על מספר פעולות הקריאה או הכתיבה שאפשר להפעיל מפונקציה אחת, אבל פעולת כתיבה אחת במסד נתונים יכולה להפעיל רק 1,000 פונקציות, או 500 פונקציות לכל אזור ב-Cloud Functions v2.

Cloud Functions יכולה להיות מופעלת רק על ידי פעולות כתיבה, וכל פונקציה יכולה גם להפעיל עוד פעולות כתיבה שמפעילות עוד פונקציות (לכל אחת מהן יש מגבלה משלה של 1,000 פונקציות או 500 פונקציות לכל אזור).

הגודל של אירוע יחיד שמופעל על ידי פעולת כתיבה ‫1MB הגודל של אירוע מורכב מהערכים הבאים:
  1. הנתונים הקיימים במיקום הכתיבה.
  2. ערך העדכון או הדלתא בנתונים שנדרשים כדי לכתוב את הנתונים החדשים במיקום.
פעולות כתיבה גדולות מ-1MB מצליחות במסד הנתונים, אבל הן לא מפעילות קריאה לפונקציה.
העברת נתונים אל Cloud Functions ‫10MB לשנייה באופן רציף קצב נתוני האירועים שאפשר להעביר אל Cloud Functions.

עץ נתונים

נכס מגבלה תיאור
העומק המקסימלי של צומתי צאצא 32 כל נתיב בעץ הנתונים צריך להיות בעומק של פחות מ-32 רמות.
אורך המפתח ‫768 בייט המפתחות מקודדים ב-UTF-8 ולא יכולים להכיל שורות חדשות או את התווים הבאים:
. ‫$ # [ ] / או כל תו בקרה של ASCII‏ (0x00 עד 0x1F ו-0x7F)
הגודל המקסימלי של מחרוזת ‫10MB הנתונים מקודדים ב-UTF-8.

קריאות

תיאור מגבלה הערות
גודל של תשובה יחידה שמוצגת על ידי מסד הנתונים 256 MB גודל הנתונים שמועברים מהמסד במיקום יחיד צריך להיות קטן מ-256MB לכל פעולת קריאה.

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

המספר הכולל של צמתים בנתיב עם מאזינים או שאילתות ‫75 מיליון* אי אפשר להאזין לנתיבים או לשאול לגביהם אם יש בהם יותר מ-75 מיליון צמתים בסך הכול. אבל עדיין אפשר להאזין לצמתי צאצא או לשלוח להם שאילתות. אפשר לנסות להתעמק בנתיב או ליצור מאזינים או שאילתות נפרדים לחלקים ספציפיים יותר בנתיב.

*אי אפשר לראות נתיבים עם יותר מ-30,000 צמתים בסך הכול בכלי להצגת נתונים במסוף Firebase.

משך הזמן שאפשר להריץ שאילתה אחת ‫15 דקות* שאילתה אחת יכולה לפעול עד 15 דקות לפני שהיא נכשלת.

*שאילתה יחידה שמופעלת במסוף Firebase יכולה לפעול למשך 5 שניות לכל היותר לפני שהיא נכשלת.

כותב

תיאור מגבלה הערות
שיעור הכתיבה ‫1,000 פעולות כתיבה בשנייה המגבלה על פעולות כתיבה לשנייה במסד נתונים יחיד. זו לא מגבלה קשיחה, אבל אם תבצעו יותר מ-1,000 פעולות כתיבה בשנייה, יכול להיות שפעילות הכתיבה שלכם תוגבל.
הגודל של בקשת כתיבה יחידה למסד הנתונים ‫256MB מ-API בארכיטקטורת REST;‏ 16MB מערכות ה-SDK. הגודל הכולל של הנתונים בכל פעולת כתיבה צריך להיות קטן מ-256MB. עדכונים מרובי-נתיבים כפופים לאותה מגבלת גודל.
בייטים שנכתבו ‫64MB לדקה המספר הכולל של הבייטים שנכתבו באמצעות פעולות כתיבה בו-זמניות במסד הנתונים בכל זמן נתון.