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

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

גלובלי

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

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

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

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

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

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

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

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

עץ נתונים

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

קריאה

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

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

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

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

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

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

כותב

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