الاستخدام والحدود

يمكنك استخدام هذا الدليل لفهم حدود Cloud Firestore والاطّلاع على أسعار Cloud Firestore للحصول على شرح مفصَّل وكامل لتكاليف Cloud Firestore، بما في ذلك العناصر التي يجب التنبّه لها.

مراقبة استخدامك

لمراقبة استخدام Cloud Firestore، افتح علامة التبويب الاستخدام في Cloud Firestore في وحدة تحكّم Firebase. استخدم لوحة المعلومات لقياس استخدامك خلال فترات زمنية مختلفة.

تفاصيل الاستخدام في Google Cloud Console

عند إنشاء مشروع على Firebase، يتم أيضًا إنشاء مشروع على Google Cloud. تقدّم صفحتَا حصص واجهة برمجة التطبيقات في Cloud Firestore وحصص التطبيقات في Google Cloud Console معلومات عن استخدام Cloud Firestore وحصصه.

الحصة المجانية

توفّر Cloud Firestore حصة مجانية تتيح لك بدء استخدام قاعدة بيانات (default) بدون أي تكلفة. يتم إدراج مبالغ الحصص المجانية أدناه. إذا كنت بحاجة إلى حصة أكبر، عليك تفعيل الفوترة لمشروعك على Google Cloud.

يتم تطبيق الحصص يوميًا، وتتم إعادة ضبطها قرابة منتصف الليل بتوقيت المحيط الهادئ.

تكون قاعدة بيانات (default) فقط مؤهّلة للحصة المجانية.

الفئة المجانية الحصة
البيانات المخزنة 1 غيبي بايت
قراءة المستند 50.000 في اليوم
عمليات كتابة المستند 20.000 في اليوم
عمليات حذف المستندات 20.000 في اليوم
نقل البيانات الصادرة 10 غيبي بايت في الشهر

لا تشمل العمليات والميزات التالية الاستخدام المجاني. يجب تفعيل الفوترة لاستخدام الميزات التالية:

  • استخدام قواعد البيانات المسماة (غير الافتراضية)
  • عمليات حذف مدة البقاء (TTL)
  • بيانات PITR
  • الاحتفاظ بنسخة احتياطية من البيانات
  • عمليات الاستعادة

لمزيد من المعلومات عن كيفية تحصيل رسوم هذه الميزات، يُرجى الاطّلاع على أسعار مساحة التخزين.

الحدود العادية

تعرض الجداول التالية الحدود التي تنطبق على Cloud Firestore. وهذه حدود صارمة ما لم يُذكر خلاف ذلك.

قواعد البيانات

الحدّ المسموح به التفاصيل
الحد الأقصى لعدد قواعد البيانات لكل مشروع

100

ويمكنك التواصل مع فريق الدعم لطلب زيادة هذا الحدّ.

المجموعات والمستندات والحقول

الحدّ المسموح به التفاصيل
القيود المفروضة على أرقام تعريف المجموعات
  • يجب أن تكون أحرف UTF-8 صالحة.
  • يجب ألا يزيد عن 1,500 بايت.
  • لا يمكن أن يحتوي على شرطة مائلة للأمام (/).
  • لا يمكن أن تتضمّن نقطة واحدة (.) أو نقطتين (..) فقط.
  • لا يمكن مطابقة التعبير العادي __.*__
الحد الأقصى لعمق المجموعات الفرعية 100
القيود المفروضة على معرّفات المستندات
  • يجب أن تكون أحرف UTF-8 صالحة.
  • يجب ألا يزيد عن 1,500 بايت.
  • لا يمكن أن يحتوي على شرطة مائلة للأمام (/).
  • لا يمكن أن تتضمّن نقطة واحدة (.) أو نقطتين (..) فقط.
  • لا يمكن مطابقة التعبير العادي __.*__
  • في حال استيراد كيانات Datastore إلى قاعدة بيانات Firestore، سيتم عرض أرقام تعريف الكيانات الرقمية على النحو التالي: __id[0-9]+__
الحد الأقصى لحجم اسم المستند 6 كيبيبايت
الحد الأقصى لحجم المستند 1 مبيبايت (1,048,576 بايت)
القيود المفروضة على أسماء الحقول يجب أن تكون أحرف UTF-8 صالحة.
الحد الأقصى لحجم اسم الحقل 1,500 بايت
القيود على مسارات الحقول
  • يجب فصل أسماء الحقول بنقطة واحدة (.).
  • ويمكن تمريره كسلسلة مقسَّمة بالنقاط (.) من الشرائح حيث يكون كل قسم إما اسم حقل بسيطًا أو اسم حقل مقتبسًا (كما هو موضح أدناه).
اسم الحقل البسيط هو الاسم الذي ينطبق عليه كل ما يلي:
  • يحتوي على الأحرف a-z وA-Z و0-9 والشرطة السفلية (_)
  • لا تبدأ بـ 0-9
يبدأ اسم الحقل المقتبس وينتهي بحرف الفاصلة العليا المائلة (`)، على سبيل المثال، تشير foo.`x&y` إلى الحقل x&y المضمّن ضمن الحقل foo. لإنشاء اسم حقل باستخدام حرف الفاصلة العليا المائلة، عليك إلغاء حرف الفاصلة العليا المائلة بحرف الشرطة المائلة للخلف (\). ولتسهيل الأمر، يمكنك تجنب أسماء الحقول ذات علامات الاقتباس من خلال تمرير مسار الحقل ككائن FieldPath (على سبيل المثال، راجع حقل مسار JavaScript).
الحد الأقصى لحجم مسار الحقل 1,500 بايت
الحد الأقصى لحجم قيمة الحقل 1 مبيبايت إلى 89 بايت (1,048,487 بايت)
الحد الأقصى لعمق الحقول في خريطة أو مصفوفة 20

عمليات الكتابة والمعاملات

بالإضافة إلى هذه الحدود، عليك أيضًا الاطّلاع على أفضل الممارسات للتصميم على نطاق واسع.

الحدّ المسموح به التفاصيل
الحد الأقصى لحجم طلب البيانات من واجهة برمجة التطبيقات 10 مبيبايت
الحدّ الزمني لإجراء معاملة 270 ثانية، مع مدة انتهاء صلاحية غير نشطة تبلغ 60 ثانية

المؤشرات

تنطبق الحدود التالية على فهارس الحقل الواحد والفهارس المركّبة:

الحدّ المسموح به التفاصيل
الحد الأقصى لعدد الفهارس المركبة لقاعدة بيانات
الحد الأقصى لعدد عمليات ضبط الحقل الواحد لقاعدة بيانات

ويمكن أن تحتوي الإعدادات على مستوى حقل واحد على إعدادات متعددة للحقل نفسه. على سبيل المثال، يتم احتساب الاستثناء من الفهرسة ذات الحقل الواحد وسياسة مدة البقاء في الحقل نفسه كضبط لحقل واحد ضمن الحدّ الأقصى.

الحد الأقصى لعدد إدخالات الفهرس لكل مستند

40,000

عدد إدخالات الفهرس هو مجموع ما يلي في أي مستند:

  • عدد إدخالات الفهرس ذات الحقل الواحد
  • عدد إدخالات الفهرس المركّبة

لمعرفة الطريقة التي تحوّل بها Cloud Firestore مستندًا ومجموعة من الفهارس إلى إدخالات فهرس، يُرجى الاطّلاع على مثال على عدد إدخالات الفهرس.

الحد الأقصى لعدد الحقول في الفهرس المركب 100
الحد الأقصى لحجم إدخال فهرس

7.5 كيبيبايت

للتعرّف على طريقة احتساب Cloud Firestore لحجم إدخال الفهرس، يمكنك الاطّلاع على حجم إدخال الفهرس.

الحد الأقصى لمجموع أحجام إدخالات الفهرس في المستند

8 مبيبايت

الحجم الإجمالي هو مجموع ما يلي في أي مستند:

  • مجموع حجم إدخالات الفهرس ذات الحقل الواحد لمستند
  • مجموع حجم إدخالات الفهرس المركّبة لمستند
  • الحد الأقصى لحجم قيمة حقل مفهرس

    1500 بايت

    يتم اقتطاع قيم الحقول التي تزيد عن 1500 بايت. قد تعرض طلبات البحث التي تتضمّن قيم حقول مقتطَعة نتائج غير متسقة.

    مدة البقاء (TTL)

    الحدّ المسموح به التفاصيل
    الحد الأقصى لعدد عمليات ضبط الحقل الواحد لقاعدة بيانات

    ويمكن أن تحتوي الإعدادات على مستوى حقل واحد على إعدادات متعددة للحقل نفسه. على سبيل المثال، يتم احتساب الاستثناء من الفهرسة ذات الحقل الواحد وسياسة مدة البقاء في الحقل نفسه كضبط لحقل واحد ضمن الحدّ الأقصى.

    تصدير/استيراد

    تنطبق الحدود التالية على عمليات الاستيراد والتصدير المُدارة:

    الحدّ المسموح به التفاصيل
    الحدّ الأقصى لإجمالي عدد طلبات التصدير والاستيراد لمشروع مسموح به في الدقيقة 20
    الحد الأقصى لعدد عمليات التصدير وعمليات الاستيراد المتزامنة 50
    الحدّ الأقصى لعدد فلاتر أرقام تعريف المجموعة لطلبات التصدير والاستيراد 100

    قواعد الأمان

    الحدّ المسموح به التفاصيل
    الحد الأقصى لعدد المكالمات: exists() وget() وgetAfter() لكل طلب
    • 10 لطلبات مستند واحد وطلبات البحث.
    • 20 للقراءات المتعددة المستندات والمعاملات والكتابات المجمّعة. وينطبق أيضًا الحد السابق البالغ 10 على كل عملية.

      على سبيل المثال، تخيَّل أنّك أنشأت طلب كتابة مُجمَّع مع 3 عمليات كتابة وأنّ قواعد الأمان تستخدم طلبَي وصول إلى مستندين للتحقّق من كل عملية كتابة. في هذه الحالة، تستخدم كل عملية كتابة طلبَي وصول من أصل 10، ويستخدم طلب الكتابة المجمّعة 6 من طلبات الوصول البالغ عددها 20.

    يؤدي تجاوز أي من هذين الحدّين إلى ظهور خطأ "تم رفض الإذن".

    قد يتم تخزين بعض طلبات الوصول إلى المستندات مؤقتًا، ولا يتم احتساب المكالمات المخزّنة مؤقتًا ضمن الحدود المسموح بها.

    الحد الأقصى لعمق عبارة match المدمجة 10
    الحد الأقصى لطول المسار، في أجزاء المسار، مسموح به ضمن مجموعة من عبارات match المدمجة 100
    الحد الأقصى لعدد متغيّرات التقاط المسارات المسموح بها ضمن مجموعة من عبارات match المدمجة 20
    الحد الأقصى لعمق طلب الدالة 20
    الحد الأقصى لعدد وسيطات الدوال 7
    الحد الأقصى لعدد عمليات ربط المتغيّرات let لكل دالة 10
    الحد الأقصى لعدد طلبات الدوال التكرارية أو الدورية 0 (غير مسموح به)
    الحد الأقصى لعدد التعبيرات التي تم تقييمها لكل طلب 1,000
    الحد الأقصى لحجم مجموعة القواعد يجب أن تتّبع القواعد حدَين أقصى للحجم:
    • حد أقصى يبلغ 256 كيلوبايت لحجم مصدر نص مجموعة القواعد الذي يتم نشره من وحدة تحكُّم Firebase أو من واجهة سطر الأوامر باستخدام firebase deploy.
    • حد أقصى يبلغ 250 كيلوبايت لحجم مجموعة القواعد المجمّعة، وهي ناتجة عن معالجة Firebase للمصدر وتفعيله في الخلفية.

    إدارة الإنفاق

    للمساعدة في تجنُّب تحصيل رسوم غير متوقعة من فاتورتك، يمكنك تحديد ميزانيات وتنبيهات شهرية.

    تحديد ميزانية شهرية

    لتتبع تكاليف Cloud Firestore، يمكنك إنشاء ميزانية شهرية في وحدة تحكم Google Cloud. لن تحدّ الميزانيات من معدّل الاستخدام، ولكن يمكنك ضبط تنبيهات لإعلامك بقرب اقترابك من التكاليف المخطّط لها في الشهر أو تجاوزها.

    لإعداد ميزانية، يُرجى الانتقال إلى قسم الفوترة في Google Cloud Console وإنشاء ميزانية لحساب الفوترة في Cloud. يمكنك استخدام إعدادات التنبيهات الافتراضية أو تعديل التنبيهات لإرسال إشعارات بنسب مئوية مختلفة من ميزانيتك الشهرية.

    مزيد من المعلومات حول إعداد الميزانيات وتنبيهات الميزانية