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

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

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

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

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

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

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

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

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

تتيح Firestore قاعدة بيانات مجانية واحدة فقط لكل مشروع.

الفئة المجانية الحصة
البيانات المخزّنة ‫1 غيغابايت
قراءات المستند ‫50,000 في اليوم
عمليات الكتابة في المستند ‫20,000 في اليوم
عمليات حذف المستندات ‫20,000 في اليوم
نقل البيانات الصادر ‫10 غيغابايت في الشهر

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

  • عمليات حذف البيانات حسب مدة البقاء (TTL)
  • بيانات الاستعادة إلى نقطة زمنية
  • الاحتفاظ بنسخة احتياطية من البيانات
  • عمليات الاستعادة

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

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

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

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