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

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

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

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

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

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

حصة مجانية

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

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

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

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

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

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

لمزيد من المعلومات حول كيفية فوترة هذه الميزات، راجع تسعير التخزين .

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

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

قواعد بيانات

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

100

يمكنك الاتصال بالدعم لطلب زيادة إلى هذا الحد.

المجموعات والوثائق والحقول

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

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

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

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

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

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

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

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

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

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

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

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

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