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

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

مراقبة معدّل الاستخدام

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

الاستخدام التفصيلي في وحدة تحكّم Google Cloud

عند إنشاء مشروع على Firebase، يعني ذلك أيضًا أنّك تنشئ مشروعًا على Google Cloud. صفحتا حصص Cloud Firestore API و حصص App Engine في Google Cloud وحدة تحكّم المسار Cloud Firestore تقدّمان معلومات عن استخدام 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 ثانية
الحد الأقصى لعدد عمليات تحويل الحقول التي يمكن إجراؤها على مستند واحد في عملية Commit أو في معاملة 500

الفهارس

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

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

يمكن أن يحتوي الإعداد على مستوى حقل واحد على إعدادات متعددة للحقل نفسه. على سبيل المثال، يتم احتساب إعفاء الفهرسة لحقل واحد وسياسة مدة البقاء (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 من طلبَي الوصول العشرين.

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

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

    الحد الأقصى لعمق بيان 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 وأنشئ ميزانية لحسابك على Cloud Billing. يمكنك استخدام إعدادات التنبيهات التلقائية أو تعديل التنبيهات لإرسال إشعارات بنسبة مئوية مختلفة من ميزانيتك الشهرية.

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