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

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

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

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

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

عند إنشاء مشروع على Firebase، يتم أيضًا إنشاء مشروع على Google Cloud. تشير رسالة الأشكال البيانية حصص واجهة برمجة التطبيقات في Cloud Firestore أو حصص App Engine الصفحات في 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 FieldPath).
الحد الأقصى لحجم مسار الحقل 1,500 بايت
الحد الأقصى لحجم قيمة الحقل 1 مبيبايت إلى 89 بايت (1,048,487 بايت)
الحد الأقصى لعمق الحقول في خريطة أو مصفوفة

20

تضيف حقول الخريطة والصفيف مستوى واحدًا إلى العمق الكلي لكائن. على سبيل المثال، يتألف العمق الإجمالي للكائن التالي من ثلاثة مستويات:


{
  nested_map: {         #depth 1
    nested_array: [     #depth 2
      {
        foo: "bar"      #depth 3
      }
    ]
  }
}
      

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

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

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

المؤشرات

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

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

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

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

40,000

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

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

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

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

7.5 كيبيبايت

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

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

8 مبيبايت

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

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

    1500 بايت

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

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

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

    ضبط على مستوى حقل واحد يمكن أن يحتوي على تكوينات متعددة لنفس الحقل. على سبيل المثال: الإعفاء من الفهرسة ذات الحقل الواحد وسياسة 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. ويمكنك استخدام إعدادات التنبيهات التلقائية أو تعديل لإرسال الإشعارات بنسب مئوية مختلفة من ميزانيتك الشهرية.

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