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

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

גלובלי

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

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

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

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

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

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

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

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

עץ נתונים

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

קריאה

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

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

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

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

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

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

כותב

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