موارد زیر محدودیتهای مربوط به ذخیرهسازی دادهها و عملیات در Firebase Realtime Database است. برای مقیاسبندی فراتر از هریک از این محدودیتها، از چند پایگاه داده استفاده کنید.
جهانی
| عملیات | حد | شرح |
|---|---|---|
| اتصالهای همزمان | ۲۰۰٬۰۰۰* | اتصال همزمان معادل یک دستگاه همراه، برگه مرورگر، یا برنامه سرور متصل به پایگاه داده است. این تعداد با تعداد کل کاربران برنامهتان یکسان نیست، زیرا همه کاربران شما بهطور همزمان متصل نمیشوند. برای مثال، برنامههایی که ۱۰ میلیون کاربر فعال ماهانه دارند معمولاً کمتر از ۲۰۰٬۰۰۰ اتصال همزمان دارند. حداکثر اتصالات همزمان شما به تعداد کل کاربران و میانگین زمانی که کاربران در برنامه شما میگذرانند بستگی دارد. بااینحال، اگر لازم است فراتر از این حد مقیاسبندی کنید، استفاده از چند پایگاه داده را امتحان کنید. *حد طرح Spark برای اتصالهای همزمان ۱۰۰ است. |
| پاسخهای همزمان ارسالشده از یک پایگاه داده. | ~۱۰۰٬۰۰۰ در ثانیه | پاسخها شامل عملیات همزمان پخش و خواندن است که توسط سرور از یک پایگاه داده در زمان مشخصی ارسال میشود. این محدودیت به بستههای دادهای اشاره دارد که هر عملیات خواندن یا پخش جداگانه، ازجمله اعلانهای لحظهای، را که از پایگاه داده ارسال میشود نشان میدهد. این راهنمایی برای بار پایدار است، اما پایگاه داده میتواند گاهیاوقات جهشهای بالاتر را مدیریت کند. |
| تعداد توابع ابری که با یک نوشتن راهاندازی میشوند | ۱۰۰۰؛ یا برای Cloud Functions نسخه ۲، ۵۰۰ برای هر منطقه | درحالیکه محدودیتی برای تعداد عملیات خواندن یا نوشتن که میتوانید از یک تابع راهاندازی کنید وجود ندارد، یک عملیات نوشتن پایگاه داده تنها میتواند ۱۰۰۰ تابع یا ۵۰۰ تابع در هر منطقه برای Cloud Functions نسخه ۲ راهاندازی کند.
Cloud Functions فقط با عملیات نوشتن میتواند راهاندازی شود و هر تابع میتواند عملیات نوشتن بیشتری را راهاندازی کند که توابع بیشتری را راهاندازی میکند (هرکدام با محدودیت ۱۰۰۰ تابع یا ۵۰۰ تابع در هر منطقه). |
| اندازه رویداد تکی که با نوشتن راهاندازی شده است | ۱ مگابایت | اندازه رویداد شامل مقادیر زیر است:
|
| انتقال داده به Cloud Functions | ۱۰ مگابایت بر ثانیه پایدار | نرخ دادههای رویداد که میتواند به Cloud Functions بازارسال شود. |
درخت دادهها
| دارایی | حد | شرح |
|---|---|---|
| حداکثر عمق گرههای فرزند | 32 | هر مسیر در درخت دادههای شما باید کمتر از ۳۲ سطح عمق داشته باشد. |
| طول کلید | ۷۶۸ بایت | کلیدها با UTF-8 کدبندی شدهاند و نمیتوانند حاوی خط جدید یا هریک از نویسههای زیر باشند: . $ # [ ] / یا هر نویسه کنترل ASCII (0x00 - 0x1F و 0x7F) |
| حداکثر اندازه رشته | ۱۰ مگابایت | دادهها با UTF-8 کدبندی شده است. |
خواندهشده
| شرح | حد | یادداشتها |
|---|---|---|
| اندازه پاسخ تکی ارائهشده توسط پایگاه داده | ۲۵۶ مگابایت | اندازه دادههای بارگیریشده از پایگاه داده در یک مکان باید
کمتر از ۲۵۶ مگابایت برای هر عملیات خواندن باشد.
برای انجام عملیات خواندن در مکان بزرگتر، یکی از گزینههای زیر را امتحان کنید: |
| مجموع گرهها در مسیری با شنوندگان یا پُرسمانها در آن | ۷۵ میلیون* | نمیتوانید به مسیرهایی با بیشاز ۷۵ میلیون گره بهصورت تجمعی گوش دهید یا آنها را پُرسمان کنید. بااینحال، همچنان میتوانید به گرههای فرزند گوش دهید یا آنها را پُرسمان کنید. سعی کنید در مسیر عمیقتر شوید یا شنوندگان یا پُرسمانهای جداگانهای برای بخشهای خاصتر مسیر ایجاد کنید.
*نمیتوانید مسیرهای دارای بیشاز ۳۰٬۰۰۰ گره را از نمایشگر داده در کنسول Firebase مشاهده کنید. |
| مدت زمانی که یک پُرسمان میتواند اجرا شود | ۱۵ دقیقه* | یک پُرسمان میتواند تا ۱۵ دقیقه قبلاز ناموفق شدن اجرا شود.
*یک پُرسمان تکی که در کنسول Firebase اجرا میشود فقط میتواند تا ۵ ثانیه اجرا شود و سپس ناموفق میشود. |
نوشتن
| شرح | حد | یادداشتها |
|---|---|---|
| نوشتن نرخ | ۱٬۰۰۰ نوشتن/ثانیه | محدودیت عملیات نوشتن در ثانیه در یک پایگاه داده. اگرچه این محدودیت سختگیرانه نیست، اما اگر بیشاز ۱۰۰۰ نوشتن در ثانیه داشته باشید، ممکن است فعالیت نوشتن شما محدود شود. |
| اندازه یک درخواست نوشتن در پایگاه داده | ۲۵۶ مگابایت از REST API؛ ۱۶ مگابایت از کیتهای توسعه نرمافزار. | کل دادهها در هر عملیات نوشتن باید کمتر از ۲۵۶ مگابایت باشد. بهروزرسانیهای چندمسیره مشمول همان محدودیت اندازه هستند. |
| بایتهای نوشتهشده | ۶۴ مگابایت در دقیقه | کل بایتهای نوشتهشده ازطریق عملیات نوشتن همزمان در پایگاه داده در هر زمان مشخص. |