الاطّلاع على مثال على أسعار Cloud Firestore

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

نظرة عامة: التكاليف حسب مستوى الاستخدام

لتوضيح التكاليف العادية، يمكن مثلاً استخدام تطبيق دردشة يمكن للمستخدمين من خلاله بدء محادثات مع اثنين أو أكثر من المشاركين. يمكن للمستخدمين الاطّلاع على حساباتهم النشطة المحادثات في قائمة وقراءة الرسائل وإرسال الرسائل. في هذا المثال، باستخدام الأسعار لمناطق متعددة في أمريكا الشمالية (على وجه التحديد nam5).

الافتراضات

ضع في اعتبارك الافتراضات التالية حول الاستخدام وتخزين البيانات:

  • يمثّل المستخدمون النشِطون يوميًا 10% من إجمالي عمليات تثبيت التطبيقات. يمكنك تقدير التكاليف اليومية باستخدام تقدير تقريبي لعدد المستخدمين النشطين يوميًا المستخدمون النشطون يوميًا (DAU) هؤلاء هم المستخدمون الذين يفتحون تطبيقك ويستخدمونه بشكل نشط على صفحة يوم، وهو عادةً مجموعة فرعية صغيرة من إجمالي تطبيقك من عمليات التثبيت. وفي العمليات الحسابية أدناه، قدّرنا المستخدمين النشطين يوميًا بنسبة 10% من إجمالي عدد عمليات تثبيت التطبيق.
  • أحجام المستندات صغيرة نسبيًا. اطّلِع على الجدول أدناه للحصول على تقسيم لحجم الوثيقة حسب النوع.
  • يتم تخزين البيانات لمدة ثلاثة أشهر فقط. الرسائل في نموذج المحادثة إذا تم تخزين تطبيقك لمدة ثلاثة أشهر فقط لحساب الحذف العمليات الحسابية أدناه، تُظهر العمليات الحسابية أدناه حذفًا يوميًا لكل عملية كتابة يومية.
  • تعكس تقديرات التكلفة هذه الجزء الأكبر من تكاليف نموذج التطبيق، ولكنها لا كلّها لقد احتسبنا الجزء الأكبر من تكاليف التطبيق من خلال حساب والعمليات وتخزين المستخدمين والرسائل ومخرجات المستخدمين الأكثر تكرارًا المهام الموضحة في هذا الدليل. ومع ذلك، قد تحتاج إلى مراعاة تكاليف إضافية اعتمادًا على بنية التطبيق واحتياجات البيانات. استخدام هذه المسودة لتوجيه عملياتك الحسابية، ولكن يمكنك الرجوع إلى صفحة الأسعار للحصول على تفسيرات أكثر تفصيلاً لتكاليف Cloud Firestore.

لتفصيل العمليات حسب مهمة المستخدم، راجع التفاصيل: قسم الاستخدام الذي تتم فوترته حسب مهمة المستخدم

صغيرة
(50 ألف عملية تثبيت)

بالنسبة إلى 50,000 عملية تثبيت للتطبيق (5,000 مستخدم نشط يوميًا): 12.14 دولار أمريكي شهريًا

تكاليف قراءة/كتابة
إجمالي التكلفة الشهرية = 11.10 دولار أمريكي في الشهر
إجمالي 400 ألف قراءة يومية = 50 ألف قراء بدون تكلفة + (350 ألف أغنية بسعر 0.06/100 ألف دولار) = 3.5 * 0.06 دولار أمريكي
0.21 دولار أمريكي / اليوم * 30 = 6.30 دولار أمريكي
 
100 ألف عملية كتابة يومية = 20 ألف عملية كتابة بدون تكلفة + (80 ألف دولار أمريكي مقابل 0.18 ألف دولار أمريكي) = .8 × 0.18 دولار أمريكي
0.14 دولار أمريكي / اليوم × 30 = 4.20 دولار أمريكي
 
إجمالي 100 ألف عملية حذف يومية = 20 ألف عملية حذف بدون تكلفة + (80 ألف عملية حذف مقابل 0.02/100 ألف دولار) = .8 * $0.02
0.02 دولار أمريكي (أو ما يعادله بالعملة المحلية) / اليوم × 30 = 0.60 دولار أمريكي (أو ما يعادله بالعملة المحلية)
تكاليف التخزين/الشبكات
إجمالي التكلفة الشهرية = 1.04 دولار أمريكي شهريًا
20 كيلوبايت / عدد المستخدمين النشطين يوميًا من الناتج اليومي * 5 آلاف مستخدم نشط يوميًا = 100 ميغابايت من البيانات الصادرة يوميًا * 30 = مقدار خروج الشبكة شهريًا هو 3 غيغابايت
خروج بدون تكلفة بقيمة 3 غيغابايت = بدون تكلفة1
 
15 كيلوبايت مساحة تخزين الرسائل اليومية / المستخدمون النشطون يوميًا + 3 كيلوبايت مساحة تخزين / تثبيت2 = 45 كيلوبايت من مساحة التخزين لكل مستخدم نشط يوميًا * 5 آلاف مستخدم نشط يوميًا = 225 ميغابايت من مساحة التخزين اليومية / عدد المستخدمين النشطين يوميًا * 30 = سعة تخزين تبلغ 6.75 غيغابايت شهريًا
مساحة تخزين بسعة 1 غيغابايت بدون تكلفة + (5.75 × 0.18 دولار أمريكي) = 1.04 دولار أمريكي في الشهر

1 إنّ سعة 10 غيغابايت من مقدار خروج الشبكة الشهري ليست له تكلفة. Cloud Firestore.
2 بما أنّ افتراضنا هو أن المستخدمين النشطين يوميًا يساوي% 10 من إجمالي التطبيقات عمليات التثبيت، فهذه يشير إلى إجمالي عدد المستخدمين الذين ثبَّتوا تطبيقك.

متوسطة
(مليون عملية تثبيت)

بالنسبة إلى 1,000,000 عملية تثبيت للتطبيق (100,000 مستخدم نشط يوميًا): 292.02 دولار أمريكي شهريًا

تكاليف قراءة/كتابة
إجمالي التكلفة الشهرية = 261.90 دولار أمريكي في الشهر
8 مليون قراءة يومية = 50 ألف قراء بدون تكلفة + (7.95 مليون قراءة بسعر 0.06/100 ألف دولار) = 79.5 * 0.06 دولار أمريكي
4.77 دولار أمريكي / اليوم * 30 = 143.10 دولار أمريكي
 
2 مليون عملية كتابة يومية = 20 ألف عملية كتابة بدون تكلفة + (1.98 مليون دولار مقابل 0.18/100 ألف دولار) = 19.8 * 0.18 دولار أمريكي
3.56 دولار أمريكي / اليوم * 30 = 106.80 دولار أمريكي
 
إجمالي مليونَي عملية حذف يوميًا = 20 ألف عملية حذف بدون تكلفة + (1.98 مليون عملية حذف مقابل 0.02/100 ألف دولار) = 19.8 * 0.02 دولار أمريكي
0.40 دولار أمريكي / اليوم * 30 = 12.00 دولار أمريكي
تكاليف التخزين/الشبكات
إجمالي التكلفة الشهرية = 30.12 دولار أمريكي في الشهر
20 كيلوبايت / عدد المستخدمين النشطين يوميًا من الناتج اليومي * 100 ألف مستخدم نشط يوميًا = 2 غيغابايت من الخروج اليومي * 30 = 60 غيغابايت من مقدار البيانات الصادرة عن الشبكة
اشتراك بقيمة 10 غيغابايت بدون تكلفة + (معدّل 50 غيغابايت × 0.12 دولار أمريكي لكل غيغابايت) = 6.00 دولار أمريكي في الشهر
 
15 كيلوبايت مساحة تخزين الرسائل اليومية / المستخدمون النشطون يوميًا + 3 كيلوبايت مساحة تخزين / تثبيت1 = 45 كيلوبايت من مساحة التخزين لكل مستخدم نشط يوميًا * 100 ألف مستخدم نشط يوميًا = 4.5 غيغابايت من مساحة التخزين اليومية / عدد المستخدمين النشطين يوميًا * 30 = سعة تخزين تبلغ 135 غيغابايت شهريًا
مساحة تخزين بسعة 1 غيغابايت بدون تكلفة + (134 غيغابايت × 0.18 دولار أمريكي لكل غيغابايت) = 24.12 دولار أمريكي في الشهر

1 بما أنّ افتراضنا هو أنّ المستخدمين النشطين يوميًا يساوي% 10 من إجمالي عمليات تثبيت التطبيق، يشير إلى إجمالي عدد المستخدمين الذين ثبَّتوا تطبيقك.

كبير
(10 مليون عملية تثبيت)

بالنسبة إلى 10,000,000 عملية تثبيت للتطبيق (1,000,000 مستخدم نشط يوميًا): 2951.52 دولار أمريكي (أو ما يعادل هذا المبلغ بالعملة المحلية)

تكاليف قراءة/كتابة
إجمالي التكلفة الشهرية = الإجمالي: 2637.90 دولار أمريكي في الشهر
80 مليون قراءة يومية = 50 ألف قراء بدون تكلفة + (79.95 مليون قراءة بسعر 0.06/100 ألف دولار) = 799.5 * 0.06 دولار أمريكي
47.97 دولارًا أمريكيًا / اليوم × 30 = 1439.10 دولارًا أمريكيًا
 
20 مليون رسالة إلكترونية يوميًا = 20 ألف عملية كتابة بدون تكلفة + (19.98 مليون دولار مقابل 0.18/100 ألف دولار) = 199.8 × 0.18 دولار أمريكي
35.96 دولارًا أمريكيًا / اليوم × 30 = 1078.80 دولارًا أمريكيًا
 
20 مليون عملية حذف يومية إجمالاً = 20 ألف عملية حذف بدون تكلفة + (19.98 مليون عملية حذف مقابل 0.02/100 ألف دولار) = 199.8 × 0.02 دولار أمريكي
4.00 دولار أمريكي / اليوم * 30 = 120.00 دولار أمريكي
تكاليف التخزين/الشبكات
إجمالي التكلفة الشهرية = 313.62 دولار أمريكي في الشهر
20 كيلوبايت / عدد المستخدمين النشطين يوميًا من الناتج اليومي * مليون مستخدم نشط يوميًا = 20 غيغابايت من سعة التخزين اليومية * 30 = 600 غيغابايت من معدّل نفاذ الشبكة شهريًا
اشتراك بقيمة 10 غيغابايت بدون تكلفة + (معدّل خروج 590 غيغابايت × 0.12 دولار أمريكي لكل غيغابايت) = 70.80 دولار أمريكي في الشهر
 
15 كيلوبايت مساحة تخزين الرسائل اليومية / المستخدمون النشطون يوميًا + 3 كيلوبايت مساحة تخزين / تثبيت1 = 45 كيلوبايت من مساحة التخزين لكل مستخدم نشط يوميًا * مليون مستخدم نشط يوميًا = 45 غيغابايت من مساحة التخزين اليومية / مستخدم نشط يوميًا * 30 = سعة تخزين تبلغ 1350 غيغابايت شهريًا
(مساحة تخزين بسعة 1 غيغابايت) + (1349 غيغابايت × 0.18 دولار أمريكي لكل غيغابايت) = 242.82 دولار أمريكي في الشهر

1 بما أنّ افتراضنا هو أنّ المستخدمين النشطين يوميًا يساوي% 10 من إجمالي عمليات تثبيت التطبيق، يشير إلى إجمالي عدد المستخدمين الذين ثبَّتوا تطبيقك.

من مزايا نموذج الفوترة في Cloud Firestore أنّه يمكنك الدفع مقابل ما تستخدمه ونتيجةً لذلك، قد تزداد قيمة فاتورتك وتتقلص بسبب عدد المستخدمين النشطين يوميًا

التفاصيل: الاستخدام الذي تتم فوترته حسب مهمة المستخدم

بالنسبة إلى تطبيق الدردشة كمثال، تكون بنية البيانات كما يلي:

  • users/{userId} — سجلات المستخدم
  • groups/{groupId}: محادثات بين مستخدمَين أو أكثر
    • messages/{messageId}: كل رسالة في محادثة

مخزن البيانات

لحساب تكاليف التخزين لتخزين بيانات التطبيق، يمكنك تطبيق ما يلي: افتراضات حول أحجام المستندات:

التجميع حجم المستند (قيد النقل) حجم المستند (على القرص)*
المستخدمون 1 كيلوبايت 3 كيلوبايت
مجموعات 0.5 كيلوبايت 1.5 كيلوبايت
الرسائل 0.25 كيلوبايت 0.75 كيلوبايت

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

يخزِّن التطبيق أيضًا الرسائل التي يصل عمرها إلى ثلاثة أشهر فقط، لخفض تكاليف التخزين.

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

العمليات

يكمل المستخدمون عادةً المهام الشائعة التالية في التطبيق:

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

  • عمليات القراءة: (5 * 10) + (30) = 80 قراءة / مستخدم / اليوم
  • عدد عمليات الكتابة: (10 * 2) = 20 عملية كتابة / مستخدم في اليوم
  • خروج الشبكة: (50 * 0.25 كيلوبايت) + (30 * 0.25 كيلوبايت) = 20 كيلوبايت / مستخدم في اليوم
  • مساحة التخزين: (20 * 0.75 كيلوبايت) = 15 كيلوبايت لكل مستخدم في اليوم

إجمالي الاستخدام حسب مهمة المستخدم

حدد كل مهمة مستخدم لمشاهدة وصف كامل وتقسيم للعمليات، والتخزين وتكاليف الشبكات في التطبيق.

الاطّلاع على قائمة المحادثات

تعرض الشاشة الرئيسية للتطبيق آخر 25 محادثة، ويتحمل مقابل 25 قراءة لمستند. أفترض أن المستخدم النشط يفتح التطبيق 5 مرة في اليوم، بإجمالي 125 قراءة لكل مستخدم يوميًا. ومع ذلك، من الأفضل استعلامات البحث، مثل تلك الموجودة في المثال التالي، يمكن أن تقلل من هذا التحميل.

في المثال أدناه، نقصر طلب البحث على المحادثات الجديدة باستخدام طابع زمني كل عملية جلب ناجحة، يخزنها التطبيق:

db.collection('groups')
  .where('participants', 'array-contains', 'user123')
  .where('lastUpdated', '>', lastFetchTimestamp)
  .orderBy('lastUpdated', 'desc')
  .limit(25)

لنفترض أن هناك متوسط 10 محادثات مُحدَّثة في كل مرة يتحقّق المستخدم من التطبيق. يتضمن هذا الاستعلام 10 قراءات فقط للمستندات.

قراءة الرسائل في إحدى المحادثات

ينقر المستخدمون على سلاسل المحادثات من الشاشة الرئيسية للاطّلاع على أحدث سلاسل المحادثات ، تحميل أحدث 50 رسالة في التحميل الأولي.

لنفترض أن المستخدم العادي ينفِّذ هذا الإجراء 5 مرات يوميًا (مرة واحدة في كل مرة يفتحون الشاشة الرئيسية)، مما يؤدي إلى ما مجموعه 250 وقراءته لكل مستخدم كل يوم. يمكننا أيضًا قصر استعلامنا على الرسائل الجديدة منذ آخر وقت استرجاع:

db.collection('groups')
  .doc('group234')
  .collection('messages')
  .where('sentTime', '>', lastFetchTimestamp)
  .orderBy('sentTime', 'desc')
  .limit(50)

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

إرسال رسالة إلى محادثة

يمكن للمستخدمين إرسال رسائل إلى المشاركين الآخرين عندما يشاركون في محادثة. لنفترض أنّ المستخدم النشط يرسل حوالي 10 رسائل في اليوم.

تؤدي كل رسالة يتم إرسالها إلى كتابة مستندين: أحدهما تكتب مجموعة فرعية واحدة (messages) من المحادثة وواحدة للكتابة إلى المحادثة مستند رئيسي لتعديل الطابع الزمني لـ lastUpdated وبيانات أخرى بيانات التعريف.

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

رسوم الاستخدام التي يتم تحصيلها مقابل مهام المشرف

بصفتك مالك تطبيق أو مشرفًا، قد تحتاج إلى إنشاء تقارير منه لبيانات تطبيقك. على سبيل المثال، قد ترغب في الاحتفاظ بالعد اليومي عدد الرسائل التي أرسلها المستخدمون. يمكنك تحقيق ذلك باستخدام count() تجميع مجموعة مختارات messages.

بالنسبة إلى طلبات البحث عن تجميع، مثل count()، سيتم تحصيل رسوم منك مقابل مستند واحد تتم قراءته. لكل دُفعة مكونة من 1,000 إدخال فهرس بحد أقصى يتطابق مع طلب البحث. تشغيل هذه يضيف التجميع اليومي الرسوم الشهرية التالية:

صغيرة
(50 ألف عملية تثبيت)

بالنسبة إلى 50,000 عملية تثبيت للتطبيق (5,000 مستخدم نشط يوميًا): 0.0009 دولار أمريكي شهريًا

5,000 مستخدم نشط * 10 رسائل جديدة لكل مستخدم = 50,000 مستند رسائل جديد في اليوم

تم عد 50000 مستند / 1000 تطابق الفهرس لكل رسوم قراءة = 50 قراءة

50 قراءة في اليوم * 30 يومًا = 1,500 قراءة في الشهر

1,500 قراءة شهريًا * 0.06/100,000 سعر القراءة = 0.0009 دولار أمريكي في الشهر

متوسطة
(مليون عملية تثبيت)

بالنسبة إلى 1,000,000 عملية تثبيت للتطبيق (100,000 مستخدم نشط يوميًا): 0.018 دولار أمريكي شهريًا

100,000 مستخدم نشط * 10 رسائل جديدة لكل مستخدم = 1,000,000 مستند رسائل جديد في اليوم

تم احتساب 1,000,000 مستند / 1,000 مطابقة الفهرس لكل رسوم قراءة = 1,000 قراءة

1,000 قراءة في اليوم * 30 يومًا = 30,000 قراءة في الشهر

30,000 قراءة شهريًا * 0.06/100,000 سعر القراءة = 0.018 دولار أمريكي في الشهر

كبير
(10 مليون عملية تثبيت)

بالنسبة إلى 10,000,000 عملية تثبيت للتطبيق (1,000,000 مستخدم نشط يوميًا): 0.18 دولار أمريكي (أو ما يعادله بالعملة المحلية)

1,000,000 مستخدم نشط * 10 رسائل جديدة لكل مستخدم = 10,000,000 مستند رسائل جديد في اليوم

تم احتساب 10,000,000 مستند / 1,000 مطابقة للفهرس لكل رسوم قراءة = 10,000 قراءة

10,000 قراءة في اليوم * 30 يومًا = 300,000 قراءة في الشهر

300,000 قراءة شهريًا * 0.06/100000 سعر القراءة = 0.18 دولار أمريكي شهريًا

المزايا المضمّنة: خدمات بدون تكلفة لتطبيقك

على الرغم من أن عمليات Cloud Firestore والتخزين ومعدل نقل البيانات للشبكة كلها يُعتبر استخدامًا قابلاً للفوترة، وستحصل أيضًا على مجموعة متنوعة من المزايا الأخرى بدون وتكلفة إضافية. اطّلِع على الخدمات التالية المجانية المتاحة لك ومقارنة Cloud Firestore بخيارات قاعدة البيانات الأخرى:

  • الوصول المباشر إلى العميل: يتم الوصول إلى Cloud Firestore مباشرةً من خلال العميل باستخدام حزم SDK الأصلية. هذا يعني أنك لست بحاجة إلى إنشاء وتشغيل خادم واجهة برمجة التطبيقات لتوصيل عملاء الهاتف المحمول بقاعدة البيانات.
  • موازنة التحميل: بما أنّ Cloud Firestore يتوسّع تلقائيًا لدعم حركة البيانات إلى قاعدة البيانات، لن تحتاج إلى تشغيل جهاز موازنة الحمل.
  • مدة تشغيل الخادم: تعمل قواعد بيانات Cloud Firestore على خوادم Google Cloud، توفير وقت تشغيل يزيد عن% 99 شهريًا
  • المصادقة: يمكنك مصادقة عدد غير محدود من المستخدمين بسهولة وأمان باستخدام. مصادقة Firebase مصادقة Firebase تتكامل مباشرةً مع Cloud Firestore، لذا لن تحتاج إلى تشغيل خدمة المصادقة.
  • الإشعارات الفورية: يمكنك إرسال الرسائل والإشعارات باستخدام المراسلة عبر السحابة الإلكترونية.
  • منتجات Firebase الأخرى: يمكنك دمج منتجات Firebase الأخرى بدون أي تكلفة. بما في ذلك اختبار A/B وAnalytics و Crashlytics ومراقبة الأداء والإعداد عن بُعد. اطّلِع على مزيد من المعلومات عن منتجات Firebase الأخرى. وأسعار Firebase