في ما يلي القيود المفروضة على تخزين البيانات والعمليات في Firebase Realtime Database. لتوسيع نطاق أي من هذه الحدود، استخدِم قواعد بيانات متعددة.
جميع أنحاء العالم
| العملية | الحدّ | الوصف |
|---|---|---|
| الاتصالات المتزامنة | 200,000* | يعادل الاتصال المتزامن جهازًا واحدًا أو علامة تبويب متصفّح أو تطبيق خادم متصل بقاعدة البيانات. ولا يعادل ذلك إجمالي عدد مستخدمي تطبيقك، لأنّ المستخدمين لا يتصلون جميعًا في الوقت نفسه. فمثلاً، عادةً ما تتضمّن التطبيقات التي تضم 10 ملايين مستخدم نشط شهريًا أقل من 200,000 اتصال متزامن. يعتمد الحدّ الأقصى للاتصالات المتزامنة على إجمالي عدد المستخدمين ومتوسط الوقت الذي يقضيه المستخدمون في تطبيقك. ومع ذلك، إذا كنت بحاجة إلى توسيع النطاق إلى ما بعد هذا الحدّ، حاوِل استخدام قواعد بيانات متعددة. *الحدّ الأقصى للاتصالات المتزامنة في خطة Spark هو 100 اتصال. |
| الردود المتزامنة المرسَلة من قاعدة بيانات واحدة | 100,000 ردّ/ثانية تقريبًا | تشمل الردود عمليات البث والقراءة المتزامنة التي يرسلها الخادم من قاعدة بيانات واحدة في وقت معيّن. يشير الحدّ إلى حِزم البيانات التي تمثّل كل عملية قراءة أو بث فردية، بما في ذلك الإشعارات الفورية، المرسَلة من قاعدة البيانات. هذه الإرشادات مخصّصة للحِمل المستمر، ولكن يمكن لقاعدة البيانات التعامل مع الارتفاعات العرضية الأكبر. |
| عدد Cloud Functions التي يتم تشغيلها من خلال عملية كتابة واحدة | 1,000 دالة، أو 500 دالة لكل منطقة في Cloud Functions v2 | على الرغم من عدم وجود حدّ لعدد عمليات القراءة أو الكتابة التي يمكنك
تشغيلها من دالة واحدة، لا يمكن لعملية كتابة واحدة في قاعدة البيانات تشغيل سوى 1,000 دالة، أو 500 دالة لكل منطقة في Cloud Functions v2.
Cloud Functions لا يمكن تشغيلها إلا من خلال عمليات الكتابة، ويمكن لكل دالة أيضًا تشغيل المزيد من عمليات الكتابة التي تشغّل المزيد من الدوال (لكل منها الحدّ الأقصى الخاص بها وهو 1, 000 دالة أو 500 دالة لكل منطقة). |
| حجم حدث واحد يتم تشغيله من خلال عملية كتابة | 1 ميغابايت | يتكوّن حجم الحدث من القيم التالية:
|
| نقل البيانات إلى Cloud Functions | 10 ميغابايت/ثانية بشكل مستمر | معدّل بيانات الأحداث التي يمكن إعادة توجيهها إلى Cloud Functions |
شجرة البيانات
| السمة | الحدّ | الوصف |
|---|---|---|
| الحدّ الأقصى لعمق العُقد الفرعية | 32 | يجب أن يكون عمق كل مسار في شجرة البيانات أقل من 32 مستوى. |
| طول المفتاح | 768 بايت | تكون المفاتيح بترميز UTF-8 ولا يمكن أن تحتوي على أسطر جديدة أو أي من الأحرف التالية
characters: . $ # [ ] / أو أي أحرف تحكّم بتنسيق ASCII (من 0x00 إلى 0x1F ومن 0x7F إلى 0x7F) |
| الحدّ الأقصى لحجم السلسلة | 10 ميغابايت | البيانات بترميز UTF-8. |
عمليات القراءة
| الوصف | الحدّ | ملاحظات |
|---|---|---|
| حجم ردّ واحد تعرضه قاعدة البيانات | 256 ميغابايت | يجب أن يكون حجم البيانات التي يتم تنزيلها من قاعدة البيانات في موقع واحد أقل من 256 ميغابايت لكل عملية قراءة.
لإجراء عملية قراءة في موقع أكبر، جرِّب أحد الخيارات التالية: |
| إجمالي عدد العُقد في مسار يتضمّن مستمعين أو طلبات بحث | 75 مليونًا* | لا يمكنك الاستماع إلى مسارات أو طلب البحث عنها إذا كانت تتضمّن أكثر من 75 مليون عُقدة، بشكل تراكمي. ومع ذلك، سيظل بإمكانك الاستماع إلى العُقد الفرعية أو طلب البحث عنها. حاوِل الانتقال إلى مستوى أعمق في المسار أو إنشاء مستمعين أو طلبات بحث منفصلة لأجزاء أكثر تحديدًا من المسار.
*لا يمكنك عرض المسارات التي تتضمّن أكثر من 30,000 عُقدة إجمالية من عارض البيانات في Firebase console. |
| المدة التي يمكن أن يستغرقها طلب بحث واحد | 15 دقيقة* | يمكن أن يستغرق طلب بحث واحد ما يصل إلى 15 دقيقة قبل أن يفشل.
*لا يمكن أن يستغرق طلب بحث واحد يتم إجراؤه في Firebase console أكثر من 5 ثوانٍ قبل أن يفشل. |
عمليات الكتابة
| الوصف | الحدّ | ملاحظات |
|---|---|---|
| معدّل الكتابة | 1,000 عملية كتابة/ثانية | الحدّ الأقصى لعمليات الكتابة في الثانية على قاعدة بيانات واحدة على الرغم من أنّه ليس حدًا صارمًا، إذا كنت تجري أكثر من 1,000 عملية كتابة في الثانية، قد يتم تقييد معدّل نشاط الكتابة. |
| حجم طلب كتابة واحد في قاعدة البيانات | 256 ميغابايت من REST API و16 ميغابايت من حِزم SDK | يجب أن يكون إجمالي البيانات في كل عملية كتابة أقل من 256 ميغابايت. تخضع التعديلات المتعددة المسارات للحدّ نفسه من حيث الحجم. |
| وحدات البايت المكتوبة | 64 ميغابايت/دقيقة | إجمالي وحدات البايت المكتوبة من خلال عمليات الكتابة المتزامنة في قاعدة البيانات في أي وقت معيّن |