الاستخدام والقيود

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

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

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

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

عند إنشاء مشروع Firebase ، فأنت تقوم أيضًا بإنشاء مشروع Google Cloud. تتعقب صفحة App Engine Quotas في Google Cloud Console معلومات استخدام Cloud Firestore والحصص.

حصة مجانية

يقدم Cloud Firestore حصة مجانية تتيح لك البدء بدون تكلفة. كميات الحصة المجانية مذكورة أدناه. إذا كنت بحاجة إلى المزيد من الحصة ، يجب عليك تمكين الفوترة لمشروع Cloud Platform الخاص بك .

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

الطبقة المجانية حصة نسبية
بيانات مخزنه 1 جيجا بايت
يقرأ المستند 50000 في اليوم
وثيقة يكتب 20000 في اليوم
يحذف المستند 20000 في اليوم
خروج الشبكة 10 جيجا بايت في الشهر

الحدود القياسية

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

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

حد تفاصيل
القيود على معرفات المجموعة
  • يجب أن تكون أحرف UTF-8 صالحة
  • يجب ألا يزيد عن 1500 بايت
  • لا يمكن أن تحتوي على شرطة مائلة للأمام ( / )
  • لا يمكن أن تتكون فقط من نقطة واحدة ( . ) أو نقطتين ( .. )
  • لا يمكن مطابقة التعبير العادي __.*__
أقصى عمق للمجموعات الفرعية 100
القيود على معرفات المستندات
  • يجب أن تكون أحرف UTF-8 صالحة
  • يجب ألا يزيد عن 1500 بايت
  • لا يمكن أن تحتوي على شرطة مائلة للأمام ( / )
  • لا يمكن أن تتكون فقط من نقطة واحدة ( . ) أو نقطتين ( .. )
  • لا يمكن مطابقة التعبير العادي __.*__
  • إذا قمت باستيراد كيانات Datastore إلى قاعدة بيانات Firestore ، فسيتم عرض معرفات الكيانات الرقمية كـ __id[0-9]+__
الحجم الأقصى لاسم الوثيقة 6 كيلوبايت
الحجم الأقصى للمستند 1 ميجابايت (1،048،576 بايت)
القيود على أسماء الحقول يجب أن تكون أحرف UTF-8 صالحة
الحجم الأقصى لاسم الحقل 1500 بايت
القيود على المسارات الميدانية
  • يجب فصل أسماء الحقول بنقطة واحدة ( . )
  • يمكن تمريرها كسلسلة عندما تكون جميع أسماء الحقول في المسار بسيطة ، وإلا يجب تمريرها ككائن FieldPath ( مثل JavaScript FieldPath )
اسم الحقل البسيط هو اسم يكون فيه كل ما يلي صحيحًا:
  • يحتوي فقط على الأحرف az و AZ 0-9 السفلية ( _ )
  • لا يبدأ 0-9
الحجم الأقصى لمسار الحقل 1500 بايت
الحجم الأقصى لقيمة الحقل 1 ميجابايت - 89 بايت (1،048،487 بايت)
أقصى عمق للحقول في الخريطة أو المصفوفة 20

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

حد تفاصيل
الحد الأقصى لعمليات الكتابة في الثانية لكل قاعدة بيانات 10000 (حتى 10 ميجابايت في الثانية) *. ستتم إزالة هذا الحد في المستقبل ، اتصل بالدعم للوصول المبكر.
الحد الأقصى لحجم طلب API 10 ميغا بايت
الحد الأقصى لعدد عمليات الكتابة التي يمكن تمريرها إلى عملية Commit أو تنفيذها في إحدى المعاملات 500
الحد الأقصى لعدد تحويلات الحقول التي يمكن إجراؤها على مستند واحد في عملية Commit أو في معاملة 500
المهلة الزمنية للمعاملة 270 ثانية ، مع وقت انتهاء صلاحية خامل يبلغ 60 ثانية

حدود ناعمة

لا يمنعك Cloud Firestore من تجاوز العتبات أدناه ، ولكن القيام بذلك يؤثر على الأداء.

حد ضعيف تفاصيل
أقصى معدل ثابت للكتابة إلى مستند

1 في الثانية

يؤدي الحفاظ على معدل كتابة أعلى مرة واحدة في الثانية إلى زيادة وقت الاستجابة ويسبب أخطاء في الخلاف. هذا ليس حدا صارما ، ويمكنك تجاوز الحد في رشقات نارية قصيرة.

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

تحديثات الوقت الحقيقي

حد ضعيف تفاصيل
الحد الأقصى من الاتصالات المتزامنة لعملاء الجوال / الويب لكل قاعدة بيانات

1،000،000

لا يمنعك Cloud Firestore من تجاوز هذا الحد الناعم ، لكن القيام بذلك يؤثر بشكل كبير على زمن الوصول ومعدل الخطأ.

فهارس

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

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

200

يُسمح بإجمالي 200 تكوين على مستوى الحقل. يمكن أن يحتوي تكوين حقل واحد على تكوينات متعددة لنفس الحقل. على سبيل المثال ، يتم احتساب استثناء فهرسة الحقل الفردي وسياسة TTL في نفس الحقل كتكوين حقل واحد نحو الحد الأقصى.

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

40000

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

  • عدد إدخالات الفهرس أحادي الحقل
  • عدد إدخالات الفهرس المركب

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

الحجم الأقصى لمدخل الفهرس

7.5 كيلوبايت

لمعرفة كيفية حساب Cloud Firestore لحجم إدخال الفهرس ، راجع حجم إدخال الفهرس .

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

8 ميغا بايت

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

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

    1500 بايت

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

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

    حد تفاصيل
    الحد الأقصى لعدد تكوينات الحقل الفردي لقاعدة بيانات

    200

    يُسمح بإجمالي 200 تكوين على مستوى الحقل. يمكن أن يحتوي تكوين حقل واحد على تكوينات متعددة لنفس الحقل. على سبيل المثال ، يتم احتساب استثناء فهرسة الحقل الفردي وسياسة TTL في نفس الحقل كتكوين حقل واحد نحو الحد الأقصى.

    الاستيراد والتصدير

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

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

    قواعد الأمان

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

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

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

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

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

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

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

    ضع ميزانية شهرية

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

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

    تعرف على المزيد حول إعداد الميزانيات وتنبيهات الميزانية .

    ضع حدًا للإنفاق اليومي

    للحد من استخدام Cloud Firestore الخاص بك ، قم بتعيين حد إنفاق يومي من خلال App Engine. يسمح لك App Engine بتعيين حد إنفاق يومي على الموارد المرتبطة بـ App Engine ، بما في ذلك Cloud Firestore. لا ينطبق حد App Engine على أي من منتجات Firebase الأخرى.