استخدِم هذا المثال الحقيقي لتطبيق محادثة أساسي لقياس 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 Authentication Firebase Authentication تتكامل مباشرةً مع Cloud Firestore لذا لن تحتاج إلى تشغيل خدمة المصادقة.
- الإشعارات الفورية: يمكنك إرسال الرسائل والإشعارات باستخدام Cloud Messaging
- منتجات Firebase الأخرى: يمكنك دمج منتجات Firebase الأخرى بدون أي تكلفة. بما في ذلك اختبار A/B وAnalytics و Crashlytics ومراقبة الأداء والإعداد عن بُعد. اطّلِع على مزيد من المعلومات عن منتجات Firebase الأخرى. وأسعار Firebase