আপনার Cloud Firestore ব্যবহার এবং খরচ পরিমাপ করতে একটি মৌলিক চ্যাট অ্যাপের এই বাস্তব-বিশ্বের উদাহরণ ব্যবহার করুন। এটি একটি সঠিক অনুমান নয়, তবে এটি আপনাকে আরও ভালভাবে বুঝতে সাহায্য করতে পারে যে আপনার Cloud Firestore ব্যবহার কীভাবে বিল করা হয়৷
সংক্ষিপ্ত বিবরণ: ব্যবহার স্তর দ্বারা খরচ
সাধারণ খরচ বোঝাতে, একটি উদাহরণ চ্যাট অ্যাপ বিবেচনা করুন, যেখানে ব্যবহারকারীরা দুই বা ততোধিক অংশগ্রহণকারীদের সাথে চ্যাট শুরু করতে পারে। ব্যবহারকারীরা একটি তালিকায় তাদের সক্রিয় চ্যাট দেখতে, বার্তা পড়তে এবং বার্তা পাঠাতে পারে। এই উদাহরণের জন্য, আমরা উত্তর আমেরিকা বহু-অঞ্চলের জন্য মূল্য ব্যবহার করছি (বিশেষ করে nam5
)।
অনুমান
ব্যবহার এবং ডেটা স্টোরেজ সম্পর্কে নিম্নলিখিত অনুমানগুলি বিবেচনা করুন:
- দৈনিক সক্রিয় ব্যবহারকারী (DAUs) হল মোট অ্যাপ ইনস্টলেশনের 10%। আপনি আপনার দৈনিক সক্রিয় ব্যবহারকারীদের (DAUs) মোটামুটি অনুমান ব্যবহার করে আপনার দৈনিক খরচ অনুমান করতে পারেন। এই ব্যবহারকারীরা সক্রিয়ভাবে একটি নির্দিষ্ট দিনে আপনার অ্যাপ খুলতে এবং ব্যবহার করে, যা সাধারণত আপনার মোট অ্যাপ ইনস্টলেশনের একটি ছোট উপসেট। নীচের গণনার জন্য, আমরা অ্যাপ ইনস্টলেশনের মোট সংখ্যার 10% হিসাবে DAUs অনুমান করেছি।
- নথির আকার তুলনামূলকভাবে ছোট। টাইপ অনুসারে নথির আকারের ভাঙ্গনের জন্য নীচের টেবিলটি দেখুন।
- ডেটা শুধুমাত্র তিন মাসের জন্য সংরক্ষণ করা হয়। উদাহরণ চ্যাট অ্যাপের বার্তাগুলি শুধুমাত্র তিন মাসের জন্য সংরক্ষণ করা হয়। মুছে ফেলার ক্রিয়াকলাপগুলির জন্য অ্যাকাউন্ট করার জন্য, নীচের গণনাগুলি প্রতিদিনের প্রতিটি লেখার জন্য একটি দৈনিক মুছে দেখায়।
- এই খরচের অনুমানগুলি উদাহরণ অ্যাপের খরচের বেশিরভাগই প্রতিফলিত করে, কিন্তু সেগুলি সব নয়৷ আমরা এই নির্দেশিকায় বর্ণিত সর্বাধিক ঘন ঘন ব্যবহারকারীর কাজগুলির জন্য অপারেশন, ব্যবহারকারী এবং বার্তা সঞ্চয়স্থান এবং প্রস্থানের হিসাব করে একটি অ্যাপের খরচের সিংহভাগের জন্য হিসাব করেছি। যাইহোক, আপনার অ্যাপের গঠন এবং ডেটার চাহিদার উপর নির্ভর করে আপনাকে অতিরিক্ত খরচ বিবেচনা করতে হতে পারে। আপনার গণনা গাইড করতে এই উদাহরণটি ব্যবহার করুন, তবে Cloud Firestore খরচের আরও পুঙ্খানুপুঙ্খ ব্যাখ্যার জন্য মূল্য পৃষ্ঠাটি পড়ুন।
ব্যবহারকারীর টাস্ক দ্বারা ক্রিয়াকলাপগুলির ব্রেকডাউনের জন্য, ব্রেকডাউন: ব্যবহারকারীর টাস্ক দ্বারা বিলকৃত ব্যবহার বিভাগটি দেখুন।
ছোট
(৫০ হাজার ইনস্টল)
50,000 অ্যাপ ইনস্টলের জন্য (5,000 দৈনিক সক্রিয় ব্যবহারকারী): $12.14/মাস
পড়া/লেখার খরচ | |||||
---|---|---|---|---|---|
মোট মাসিক খরচ = $11.10/মাস | |||||
400K মোট দৈনিক পড়া | = | 50K নো-কস্ট রিড + ($0.06/100K এ 350K রিড) | = | 3.5 * $0.06 | |
$0.21 / দিন * 30 = $6.30 | |||||
100K মোট দৈনিক লেখা | = | 20K নো-কস্ট রাইটিং + ($0.18/100K এ 80K লেখা) | = | .8 * $0.18 | |
$0.14 / দিন * 30 = $4.20 | |||||
মোট দৈনিক মুছে ফেলা 100K | = | 20K বিনা খরচে মুছে ফেলা + ($0.02/100K এ 80K মুছে ফেলা হয়) | = | .8 * $0.02 | |
$0.02 / দিন * 30 = $0.60 |
স্টোরেজ/নেটওয়ার্কিং খরচ | |||||||
---|---|---|---|---|---|---|---|
মোট মাসিক খরচ = $1.04/মাস | |||||||
দৈনিক প্রস্থানের 20KB / DAU * 5K DAUs | = | দৈনিক প্রস্থানের 100MB *30 | = | 3GB মাসিক নেটওয়ার্ক প্রস্থান | |||
3 জিবি নো-কস্ট এগ্রেস = নো-কস্ট 1 | |||||||
দৈনিক 15KB মেসেজ স্টোরেজ / DAU + 3KB স্টোরেজ / ইনস্টল 2 | = | 45KB স্টোরেজ / DAU * 5K DAUs | = | দৈনিক স্টোরেজ 225MB / DAU * 30 | = | 6.75GB মাসিক স্টোরেজ ব্যবহার | |
1GB নো-কস্ট স্টোরেজ + (5.75 * $0.18) = $1.04 / মাস |
1 10GB মাসিক নেটওয়ার্ক এগ্রেস Cloud Firestore জন্য কোন খরচ নয়।
2 যেহেতু আমাদের অনুমান হল যে DAU হল মোট অ্যাপ ইনস্টলের 10%, এই সংখ্যাটি আপনার অ্যাপ ইনস্টল করা মোট ব্যবহারকারীর সংখ্যার জন্য দায়ী।
মাঝারি
(1M ইনস্টল)
1,000,000 অ্যাপ ইনস্টলের জন্য (100,000 দৈনিক সক্রিয় ব্যবহারকারী): $292.02/মাস
পড়া/লেখার খরচ | |||||
---|---|---|---|---|---|
মোট মাসিক খরচ = $261.90/মাস | |||||
দৈনিক মোট 8M পড়া | = | 50K নো-কস্ট রিড + ($0.06/100K এ 7.95M রিড) | = | 79.5 * $0.06 | |
$4.77 / দিন * 30 = $143.10 | |||||
2M মোট দৈনিক লেখেন | = | 20K নো-কস্ট রাইট + ($0.18/100K এ 1.98M লেখা) | = | 19.8 * $0.18 | |
$3.56 / দিন * 30 = $106.80 | |||||
2M মোট দৈনিক মুছে ফেলা হয় | = | 20K বিনা খরচে মুছে ফেলা + ($0.02/100K এ 1.98M মুছে ফেলা হয়) | = | 19.8 * $0.02 | |
$0.40 / দিন * 30 = $12.00 |
স্টোরেজ/নেটওয়ার্কিং খরচ | |||||||
---|---|---|---|---|---|---|---|
মোট মাসিক খরচ = $30.12/মাস | |||||||
দৈনিক বহির্গমনের 20KB / DAU * 100K DAUs | = | দৈনিক বহির্গমনের 2GB * 30 | = | 60GB মাসিক নেটওয়ার্ক এগ্রেস | |||
10 GB নো-কস্ট এগ্রেস + (50GB ইগ্রেস * $0.12/GB) = $6.00 / মাস | |||||||
দৈনিক 15KB মেসেজ স্টোরেজ / DAU + 3KB স্টোরেজ / ইনস্টল 1 | = | 45KB স্টোরেজ / DAU * 100K DAUs | = | 4.5GB দৈনিক স্টোরেজ / DAU * 30 | = | 135GB মাসিক স্টোরেজ ব্যবহার | |
1GB বিনা খরচে স্টোরেজ + (134GB * $0.18/GB) = $24.12 / মাস |
1 যেহেতু আমাদের অনুমান হল যে DAU হল মোট অ্যাপ ইনস্টলের 10%, এই সংখ্যাটি আপনার অ্যাপ ইনস্টল করা মোট ব্যবহারকারীর সংখ্যার জন্য দায়ী।
বড়
(10M ইনস্টল)
10,000,000 অ্যাপ ইনস্টলের জন্য (1,000,000 দৈনিক সক্রিয় ব্যবহারকারী): $2951.52
পড়া/লেখার খরচ | |||||
---|---|---|---|---|---|
মোট মাসিক খরচ = মোট: $2637.90/মাস | |||||
দৈনিক মোট 80M পড়া | = | 50K নো-কস্ট রিড + ($0.06/100K এ 79.95M রিড) | = | 799.5 * $0.06 | |
$47.97 / দিন * 30 = $1439.10 | |||||
দৈনিক মোট 20M লেখা | = | 20K নো-কস্ট রাইট + ($0.18/100K এ 19.98M লেখা) | = | 199.8 * $0.18 | |
$35.96 / দিন * 30 = $1078.80 | |||||
প্রতিদিন মোট 20M মুছে ফেলা হয় | = | 20K বিনা খরচে মুছে ফেলা + ($0.02/100K এ 19.98M মুছে ফেলা হয়) | = | 199.8 * $0.02 | |
$4.00 / দিন * 30 = $120.00 |
স্টোরেজ/নেটওয়ার্কিং খরচ | |||||||
---|---|---|---|---|---|---|---|
মোট মাসিক খরচ = $313.62/মাস | |||||||
দৈনিক বহির্গমনের 20KB / DAU * 1M DAUs | = | 20GB দৈনিক প্রস্থান * 30 | = | 600GB মাসিক নেটওয়ার্ক এগ্রেস | |||
10 GB নো-কস্ট এগ্রেস + (590GB ইগ্রেস * $0.12/GB) = $70.80 / মাস | |||||||
দৈনিক 15KB মেসেজ স্টোরেজ / DAU + 3KB স্টোরেজ / ইনস্টল 1 | = | 45KB স্টোরেজ / DAU * 1M DAUs | = | 45GB দৈনিক স্টোরেজ / DAU * 30 | = | 1350GB মাসিক স্টোরেজ ব্যবহার | |
(1GB বিনা খরচে স্টোরেজ) + (1349GB * $0.18/GB) = $242.82 / মাস |
1 যেহেতু আমাদের অনুমান হল যে DAU হল মোট অ্যাপ ইনস্টলের 10%, এই সংখ্যাটি আপনার অ্যাপ ইনস্টল করা মোট ব্যবহারকারীর সংখ্যার জন্য দায়ী।
বিবেচনা করার মতো Cloud Firestore বিলিং মডেলের একটি সুবিধা হল যে আপনি যা ব্যবহার করেন তার জন্যই আপনি অর্থ প্রদান করেন। ফলস্বরূপ, আপনার বিল বাড়তে পারে এবং আপনার DAU সংখ্যার সাথে সঙ্কুচিত হতে পারে।
ব্রেকডাউন: ব্যবহারকারীর টাস্ক দ্বারা বিল করা ব্যবহার
আমাদের উদাহরণ চ্যাট অ্যাপের জন্য, ডেটা গঠন নিম্নরূপ:
-
users/{userId}
— ব্যবহারকারীর রেকর্ড -
groups/{groupId}
— 2 বা তার বেশি ব্যবহারকারীর মধ্যে চ্যাট-
messages/{messageId}
— চ্যাটের প্রতিটি বার্তা।
-
ডেটা স্টোরেজ
অ্যাপের ডেটা সঞ্চয় করার জন্য স্টোরেজ খরচ গণনা করতে, নথির আকার সম্পর্কে নিম্নলিখিত অনুমানগুলি প্রয়োগ করুন:
সংগ্রহ | নথির আকার (ট্রানজিটে) | নথির আকার (ডিস্কে)* |
---|---|---|
ব্যবহারকারীদের | 1KB | 3KB |
গ্রুপ | 0.5KB | 1.5KB |
বার্তা | 0.25KB | 0.75KB |
*এই আকার গণনা বার্তা ক্ষেত্রের জন্য সূচী অন্তর্ভুক্ত, কিন্তু বার্তা বিষয়বস্তুর জন্য সূচী নিষ্ক্রিয় করা হয়েছে অনুমান.
অ্যাপটি স্টোরেজ খরচ কম করার জন্য শুধুমাত্র তিন মাস পর্যন্ত পুরানো মেসেজ স্টোর করে।
স্টোরেজ খরচ গণনা সম্পর্কে আরও তথ্যের জন্য, স্টোরেজ আকারের গণনা বোঝা দেখুন।
অপারেশন
ব্যবহারকারীরা সাধারণত অ্যাপে নিম্নলিখিত সাধারণ কাজগুলি সম্পন্ন করে:
- চ্যাটের তালিকা দেখুন: ব্যবহারকারীরা অ্যাপের হোম স্ক্রীনটি খোলেন এবং পোস্ট করা সাম্প্রতিক বার্তা অনুসারে চ্যাটের একটি তালিকা (গোষ্ঠী এবং সরাসরি) দেখতে পান।
- চ্যাটে বার্তা পড়ুন: ব্যবহারকারীরা হোম স্ক্রীন থেকে চ্যাট নির্বাচন করে এবং চ্যাট থেকে সাম্প্রতিক বার্তাগুলি পড়ে।
- একটি চ্যাটে একটি বার্তা পাঠান: ব্যবহারকারীরা চ্যাটে বার্তা পাঠান (গ্রুপ বা সরাসরি)।
তিনটি সাধারণ ব্যবহারকারীর কাজের জন্য Cloud Firestore উদাহরণ অ্যাপের মোট আনুমানিক ক্রিয়াকলাপগুলি নিম্নরূপ:
- রিডস: (5*10) + (30) = 80 রিডস/ব্যবহারকারী/দিন
- লিখেছেন: (10 * 2) = 20 লিখছেন / ব্যবহারকারী / দিন
- নেটওয়ার্ক এগ্রেস : (50 * 0.25KB) + (30 * 0.25KB) = 20KB / ব্যবহারকারী / দিন
- স্টোরেজ : (20 * 0.75KB) = 15 KB / ব্যবহারকারী / দিন
ব্যবহারকারীর টাস্ক দ্বারা মোট ব্যবহার
অ্যাপে ক্রিয়াকলাপ, সঞ্চয়স্থান এবং নেটওয়ার্কিং খরচের সম্পূর্ণ বিবরণ এবং ভাঙ্গন দেখতে প্রতিটি ব্যবহারকারীর কাজ নির্বাচন করুন।
চ্যাটের তালিকা দেখুন
অ্যাপটির হোম স্ক্রীন 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
টাইমস্ট্যাম্প এবং অন্যান্য মেটাডেটা আপডেট করতে৷
মনে রাখবেন যে এই বার্তাগুলি পড়ার খরচ অন্যান্য যাত্রার জন্য হিসাব করা হয়েছে, তাই নীচের টোটালগুলি শুধুমাত্র এই লেখার খরচ বিবেচনা করে।
প্রশাসকের কাজের জন্য বিল করা ব্যবহার
একজন অ্যাপ মালিক বা প্রশাসক হিসেবে আপনি সম্ভবত আপনার অ্যাপের ডেটা থেকে রিপোর্ট তৈরি করতে চান। উদাহরণস্বরূপ, আপনি আপনার ব্যবহারকারীদের পাঠানো বার্তার সংখ্যার দৈনিক গণনা রাখতে চাইতে পারেন। আপনি messages
সংগ্রহ গোষ্ঠীর count()
একত্রিতকরণের মাধ্যমে এটি সম্পন্ন করতে পারেন।
count()
এর মতো সমষ্টিগত প্রশ্নগুলির জন্য, ক্যোয়ারীটির সাথে মিলে যাওয়া 1,000টি পর্যন্ত ইনডেক্স এন্ট্রির প্রতিটি ব্যাচের জন্য আপনাকে একটি নথি পড়ার জন্য চার্জ করা হবে। এই দৈনিক সমষ্টি চালানোর ফলে নিম্নলিখিত মাসিক চার্জ যোগ হয়:
ছোট
(৫০ হাজার ইনস্টল)
50,000 অ্যাপ ইনস্টলের জন্য (5,000 DAUs): $0.0009/মাস
5,000 সক্রিয় ব্যবহারকারী * প্রতি ব্যবহারকারী 10টি নতুন বার্তা = 50,000টি নতুন বার্তা নথি প্রতিদিন
50,000 নথি গণনা / 1,000 ইনডেক্স ম্যাচ প্রতি রিড চার্জ = 50 রিড
প্রতিদিন 50 পঠিত * 30 দিন = 1,500 প্রতি মাসে পড়া
প্রতি মাসে 1,500 পঠিত * .06/100,000 পঠিত মূল্য = প্রতি মাসে $0.0009
মাঝারি
(1M ইনস্টল)
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 পঠিত * .06/100,000 পঠিত মূল্য = প্রতি মাসে $0.018
বড়
(10M ইনস্টল)
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 রিড * .06/100000 রিড মূল্য = $0.18 প্রতি মাসে
অন্তর্ভুক্ত বেনিফিট: আপনার অ্যাপের জন্য কোন খরচের পরিষেবা
যদিও Cloud Firestore অপারেশন, স্টোরেজ এবং নেটওয়ার্ক ব্যান্ডউইথ সবই বিলযোগ্য ব্যবহার হিসাবে বিবেচিত হয়, আপনি কোনো অতিরিক্ত খরচ ছাড়াই বিভিন্ন ধরনের অন্যান্য সুবিধা পাবেন। অন্যান্য ডাটাবেস বিকল্পগুলির সাথে Cloud Firestore তুলনা করার সময় নিম্নলিখিত পরিষেবাগুলি বিবেচনা করুন যেগুলি বিনা খরচে:
- সরাসরি ক্লায়েন্ট অ্যাক্সেস: Cloud Firestore আমাদের নেটিভ SDK ব্যবহার করে আপনার ক্লায়েন্ট কোড থেকে সরাসরি অ্যাক্সেস করা হয়। এর মানে হল আপনার মোবাইল ক্লায়েন্টদের ডাটাবেসের সাথে সংযোগ করতে আপনাকে একটি API সার্ভার তৈরি এবং চালানোর প্রয়োজন নেই।
- লোড ব্যালেন্সিং: যেহেতু Cloud Firestore আপনার ডাটাবেসে ট্রাফিক সমর্থন করতে স্বয়ংক্রিয়ভাবে স্কেল করে, তাই আপনাকে লোড ব্যালেন্সার চালাতে হবে না।
- সার্ভার আপটাইম: Cloud Firestore ডেটাবেসগুলি 99% মাসিক আপটাইম অফার করে, Google Cloud সার্ভারগুলিতে কাজ করে৷
- প্রমাণীকরণ: Firebase Authentication মাধ্যমে সীমাহীন ব্যবহারকারীদের সহজভাবে এবং নিরাপদে প্রমাণীকরণ করুন। Firebase Authentication সরাসরি Cloud Firestore সাথে একীভূত হয় তাই আপনার নিজের প্রমাণীকরণ পরিষেবা চালানোর প্রয়োজন নেই৷
- পুশ বিজ্ঞপ্তি: Cloud Messaging মাধ্যমে বার্তা এবং বিজ্ঞপ্তি পাঠান।
- অন্যান্য ফায়ারবেস পণ্য: A/B টেস্টিং, অ্যানালিটিক্স, ক্র্যাশলিটিক্স, পারফরম্যান্স মনিটরিং এবং রিমোট কনফিগ সহ অন্যান্য ফায়ারবেস পণ্যগুলিকে বিনা খরচে একত্রিত করুন। অন্যান্য Firebase পণ্য এবং Firebase মূল্য সম্পর্কে আরও জানুন।
আপনার Cloud Firestore ব্যবহার এবং খরচ পরিমাপ করতে একটি মৌলিক চ্যাট অ্যাপের এই বাস্তব-বিশ্বের উদাহরণ ব্যবহার করুন। এটি একটি সঠিক অনুমান নয়, তবে এটি আপনাকে আরও ভালভাবে বুঝতে সাহায্য করতে পারে যে আপনার Cloud Firestore ব্যবহার কীভাবে বিল করা হয়৷
সংক্ষিপ্ত বিবরণ: ব্যবহার স্তর দ্বারা খরচ
সাধারণ খরচ বোঝাতে, একটি উদাহরণ চ্যাট অ্যাপ বিবেচনা করুন, যেখানে ব্যবহারকারীরা দুই বা ততোধিক অংশগ্রহণকারীদের সাথে চ্যাট শুরু করতে পারে। ব্যবহারকারীরা একটি তালিকায় তাদের সক্রিয় চ্যাট দেখতে, বার্তা পড়তে এবং বার্তা পাঠাতে পারে। এই উদাহরণের জন্য, আমরা উত্তর আমেরিকা বহু-অঞ্চলের জন্য মূল্য ব্যবহার করছি (বিশেষ করে nam5
)।
অনুমান
ব্যবহার এবং ডেটা স্টোরেজ সম্পর্কে নিম্নলিখিত অনুমানগুলি বিবেচনা করুন:
- দৈনিক সক্রিয় ব্যবহারকারী (DAUs) হল মোট অ্যাপ ইনস্টলেশনের 10%। আপনি আপনার দৈনিক সক্রিয় ব্যবহারকারীদের (DAUs) মোটামুটি অনুমান ব্যবহার করে আপনার দৈনিক খরচ অনুমান করতে পারেন। এই ব্যবহারকারীরা সক্রিয়ভাবে একটি নির্দিষ্ট দিনে আপনার অ্যাপ খুলতে এবং ব্যবহার করে, যা সাধারণত আপনার মোট অ্যাপ ইনস্টলেশনের একটি ছোট উপসেট। নীচের গণনার জন্য, আমরা অ্যাপ ইনস্টলেশনের মোট সংখ্যার 10% হিসাবে DAUs অনুমান করেছি।
- নথির আকার তুলনামূলকভাবে ছোট। টাইপ অনুসারে নথির আকারের ভাঙ্গনের জন্য নীচের টেবিলটি দেখুন।
- ডেটা শুধুমাত্র তিন মাসের জন্য সংরক্ষণ করা হয়। উদাহরণ চ্যাট অ্যাপের বার্তাগুলি শুধুমাত্র তিন মাসের জন্য সংরক্ষণ করা হয়। মুছে ফেলার ক্রিয়াকলাপগুলির জন্য অ্যাকাউন্ট করার জন্য, নীচের গণনাগুলি প্রতিদিনের প্রতিটি লেখার জন্য একটি দৈনিক মুছে দেখায়।
- এই খরচের অনুমানগুলি উদাহরণ অ্যাপের খরচের বেশিরভাগই প্রতিফলিত করে, কিন্তু সেগুলি সব নয়৷ আমরা এই নির্দেশিকায় বর্ণিত সর্বাধিক ঘন ঘন ব্যবহারকারীর কাজগুলির জন্য অপারেশন, ব্যবহারকারী এবং বার্তা সঞ্চয়স্থান এবং প্রস্থানের হিসাব করে একটি অ্যাপের খরচের সিংহভাগের জন্য হিসাব করেছি। যাইহোক, আপনার অ্যাপের গঠন এবং ডেটার চাহিদার উপর নির্ভর করে আপনাকে অতিরিক্ত খরচ বিবেচনা করতে হতে পারে। আপনার গণনা গাইড করতে এই উদাহরণটি ব্যবহার করুন, তবে Cloud Firestore খরচের আরও পুঙ্খানুপুঙ্খ ব্যাখ্যার জন্য মূল্য পৃষ্ঠাটি পড়ুন।
ব্যবহারকারীর টাস্ক দ্বারা ক্রিয়াকলাপগুলির ব্রেকডাউনের জন্য, ব্রেকডাউন: ব্যবহারকারীর টাস্ক দ্বারা বিলকৃত ব্যবহার বিভাগটি দেখুন।
ছোট
(৫০ হাজার ইনস্টল)
50,000 অ্যাপ ইনস্টলের জন্য (5,000 দৈনিক সক্রিয় ব্যবহারকারী): $12.14/মাস
পড়া/লেখার খরচ | |||||
---|---|---|---|---|---|
মোট মাসিক খরচ = $11.10/মাস | |||||
400K মোট দৈনিক পড়া | = | 50K নো-কস্ট রিড + ($0.06/100K এ 350K রিড) | = | 3.5 * $0.06 | |
$0.21 / দিন * 30 = $6.30 | |||||
100K মোট দৈনিক লেখা | = | 20K নো-কস্ট রাইটিং + ($0.18/100K এ 80K লেখা) | = | .8 * $0.18 | |
$0.14 / দিন * 30 = $4.20 | |||||
মোট দৈনিক মুছে ফেলা 100K | = | 20K বিনা খরচে মুছে ফেলা + ($0.02/100K এ 80K মুছে ফেলা হয়) | = | .8 * $0.02 | |
$0.02 / দিন * 30 = $0.60 |
স্টোরেজ/নেটওয়ার্কিং খরচ | |||||||
---|---|---|---|---|---|---|---|
মোট মাসিক খরচ = $1.04/মাস | |||||||
দৈনিক প্রস্থানের 20KB / DAU * 5K DAUs | = | দৈনিক প্রস্থানের 100MB *30 | = | 3GB মাসিক নেটওয়ার্ক প্রস্থান | |||
3 জিবি নো-কস্ট এগ্রেস = নো-কস্ট 1 | |||||||
দৈনিক 15KB মেসেজ স্টোরেজ / DAU + 3KB স্টোরেজ / ইনস্টল 2 | = | 45KB স্টোরেজ / DAU * 5K DAUs | = | দৈনিক স্টোরেজ 225MB / DAU * 30 | = | 6.75GB মাসিক স্টোরেজ ব্যবহার | |
1GB নো-কস্ট স্টোরেজ + (5.75 * $0.18) = $1.04 / মাস |
1 10GB মাসিক নেটওয়ার্ক এগ্রেস Cloud Firestore জন্য কোন খরচ নয়।
2 যেহেতু আমাদের অনুমান হল যে DAU হল মোট অ্যাপ ইনস্টলের 10%, এই সংখ্যাটি আপনার অ্যাপ ইনস্টল করা মোট ব্যবহারকারীর সংখ্যার জন্য দায়ী।
মাঝারি
(1M ইনস্টল)
1,000,000 অ্যাপ ইনস্টলের জন্য (100,000 দৈনিক সক্রিয় ব্যবহারকারী): $292.02/মাস
পড়া/লেখার খরচ | |||||
---|---|---|---|---|---|
মোট মাসিক খরচ = $261.90/মাস | |||||
দৈনিক মোট 8M পড়া | = | 50K নো-কস্ট রিড + ($0.06/100K এ 7.95M রিড) | = | 79.5 * $0.06 | |
$4.77 / দিন * 30 = $143.10 | |||||
2M মোট দৈনিক লেখেন | = | 20K নো-কস্ট রাইট + ($0.18/100K এ 1.98M লেখা) | = | 19.8 * $0.18 | |
$3.56 / দিন * 30 = $106.80 | |||||
2M মোট দৈনিক মুছে ফেলা হয় | = | 20K বিনা খরচে মুছে ফেলা + ($0.02/100K এ 1.98M মুছে ফেলা হয়) | = | 19.8 * $0.02 | |
$0.40 / দিন * 30 = $12.00 |
স্টোরেজ/নেটওয়ার্কিং খরচ | |||||||
---|---|---|---|---|---|---|---|
মোট মাসিক খরচ = $30.12/মাস | |||||||
দৈনিক বহির্গমনের 20KB / DAU * 100K DAUs | = | দৈনিক বহির্গমনের 2GB * 30 | = | 60GB মাসিক নেটওয়ার্ক এগ্রেস | |||
10 GB নো-কস্ট এগ্রেস + (50GB ইগ্রেস * $0.12/GB) = $6.00 / মাস | |||||||
দৈনিক 15KB মেসেজ স্টোরেজ / DAU + 3KB স্টোরেজ / ইনস্টল 1 | = | 45KB স্টোরেজ / DAU * 100K DAUs | = | 4.5GB দৈনিক স্টোরেজ / DAU * 30 | = | 135GB মাসিক স্টোরেজ ব্যবহার | |
1GB বিনা খরচে স্টোরেজ + (134GB * $0.18/GB) = $24.12 / মাস |
1 যেহেতু আমাদের অনুমান হল যে DAU হল মোট অ্যাপ ইনস্টলের 10%, এই সংখ্যাটি আপনার অ্যাপ ইনস্টল করা মোট ব্যবহারকারীর সংখ্যার জন্য দায়ী।
বড়
(10M ইনস্টল)
10,000,000 অ্যাপ ইনস্টলের জন্য (1,000,000 দৈনিক সক্রিয় ব্যবহারকারী): $2951.52
পড়া/লেখার খরচ | |||||
---|---|---|---|---|---|
মোট মাসিক খরচ = মোট: $2637.90/মাস | |||||
দৈনিক মোট 80M পড়া | = | 50K নো-কস্ট রিড + ($0.06/100K এ 79.95M রিড) | = | 799.5 * $0.06 | |
$47.97 / দিন * 30 = $1439.10 | |||||
দৈনিক মোট 20M লেখা | = | 20K নো-কস্ট রাইট + ($0.18/100K এ 19.98M লেখা) | = | 199.8 * $0.18 | |
$35.96 / দিন * 30 = $1078.80 | |||||
প্রতিদিন মোট 20M মুছে ফেলা হয় | = | 20K বিনা খরচে মুছে ফেলা + ($0.02/100K এ 19.98M মুছে ফেলা হয়) | = | 199.8 * $0.02 | |
$4.00 / দিন * 30 = $120.00 |
স্টোরেজ/নেটওয়ার্কিং খরচ | |||||||
---|---|---|---|---|---|---|---|
মোট মাসিক খরচ = $313.62/মাস | |||||||
দৈনিক বহির্গমনের 20KB / DAU * 1M DAUs | = | 20GB দৈনিক প্রস্থান * 30 | = | 600GB মাসিক নেটওয়ার্ক এগ্রেস | |||
10 GB নো-কস্ট এগ্রেস + (590GB ইগ্রেস * $0.12/GB) = $70.80 / মাস | |||||||
দৈনিক 15KB মেসেজ স্টোরেজ / DAU + 3KB স্টোরেজ / ইনস্টল 1 | = | 45KB স্টোরেজ / DAU * 1M DAUs | = | 45GB দৈনিক স্টোরেজ / DAU * 30 | = | 1350GB মাসিক স্টোরেজ ব্যবহার | |
(1GB বিনা খরচে স্টোরেজ) + (1349GB * $0.18/GB) = $242.82 / মাস |
1 যেহেতু আমাদের অনুমান হল যে DAU হল মোট অ্যাপ ইনস্টলের 10%, এই সংখ্যাটি আপনার অ্যাপ ইনস্টল করা মোট ব্যবহারকারীর সংখ্যার জন্য দায়ী।
বিবেচনা করার মতো Cloud Firestore বিলিং মডেলের একটি সুবিধা হল যে আপনি যা ব্যবহার করেন তার জন্যই আপনি অর্থ প্রদান করেন। ফলস্বরূপ, আপনার বিল বাড়তে পারে এবং আপনার DAU সংখ্যার সাথে সঙ্কুচিত হতে পারে।
ব্রেকডাউন: ব্যবহারকারীর টাস্ক দ্বারা বিল করা ব্যবহার
আমাদের উদাহরণ চ্যাট অ্যাপের জন্য, ডেটা গঠন নিম্নরূপ:
-
users/{userId}
— ব্যবহারকারীর রেকর্ড -
groups/{groupId}
— 2 বা তার বেশি ব্যবহারকারীর মধ্যে চ্যাট-
messages/{messageId}
— চ্যাটের প্রতিটি বার্তা।
-
ডেটা স্টোরেজ
অ্যাপের ডেটা সঞ্চয় করার জন্য স্টোরেজ খরচ গণনা করতে, নথির আকার সম্পর্কে নিম্নলিখিত অনুমানগুলি প্রয়োগ করুন:
সংগ্রহ | নথির আকার (ট্রানজিটে) | নথির আকার (ডিস্কে)* |
---|---|---|
ব্যবহারকারীদের | 1KB | 3KB |
গ্রুপ | 0.5KB | 1.5KB |
বার্তা | 0.25KB | 0.75KB |
*এই আকার গণনা বার্তা ক্ষেত্রের জন্য সূচী অন্তর্ভুক্ত, কিন্তু বার্তা বিষয়বস্তুর জন্য সূচী নিষ্ক্রিয় করা হয়েছে অনুমান.
অ্যাপটি স্টোরেজ খরচ কম করার জন্য শুধুমাত্র তিন মাস পর্যন্ত পুরানো মেসেজ স্টোর করে।
স্টোরেজ খরচ গণনা সম্পর্কে আরও তথ্যের জন্য, স্টোরেজ আকারের গণনা বোঝা দেখুন।
অপারেশন
ব্যবহারকারীরা সাধারণত অ্যাপে নিম্নলিখিত সাধারণ কাজগুলি সম্পন্ন করে:
- চ্যাটের তালিকা দেখুন: ব্যবহারকারীরা অ্যাপের হোম স্ক্রীনটি খোলেন এবং পোস্ট করা সাম্প্রতিক বার্তা অনুসারে চ্যাটের একটি তালিকা (গোষ্ঠী এবং সরাসরি) দেখতে পান।
- চ্যাটে বার্তা পড়ুন: ব্যবহারকারীরা হোম স্ক্রীন থেকে চ্যাট নির্বাচন করে এবং চ্যাট থেকে সাম্প্রতিক বার্তাগুলি পড়ে।
- একটি চ্যাটে একটি বার্তা পাঠান: ব্যবহারকারীরা চ্যাটে বার্তা পাঠান (গ্রুপ বা সরাসরি)।
তিনটি সাধারণ ব্যবহারকারীর কাজের জন্য Cloud Firestore উদাহরণ অ্যাপের মোট আনুমানিক ক্রিয়াকলাপগুলি নিম্নরূপ:
- রিডস: (5*10) + (30) = 80 রিডস/ব্যবহারকারী/দিন
- লিখেছেন: (10 * 2) = 20 লিখছেন / ব্যবহারকারী / দিন
- নেটওয়ার্ক এগ্রেস : (50 * 0.25KB) + (30 * 0.25KB) = 20KB / ব্যবহারকারী / দিন
- স্টোরেজ : (20 * 0.75KB) = 15 KB / ব্যবহারকারী / দিন
ব্যবহারকারীর টাস্ক দ্বারা মোট ব্যবহার
অ্যাপে ক্রিয়াকলাপ, সঞ্চয়স্থান এবং নেটওয়ার্কিং খরচের সম্পূর্ণ বিবরণ এবং ভাঙ্গন দেখতে প্রতিটি ব্যবহারকারীর কাজ নির্বাচন করুন।
চ্যাটের তালিকা দেখুন
অ্যাপটির হোম স্ক্রীন 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
টাইমস্ট্যাম্প এবং অন্যান্য মেটাডেটা আপডেট করতে৷
মনে রাখবেন যে এই বার্তাগুলি পড়ার খরচ অন্যান্য যাত্রার জন্য হিসাব করা হয়েছে, তাই নীচের টোটালগুলি শুধুমাত্র এই লেখার খরচ বিবেচনা করে।
প্রশাসকের কাজের জন্য বিল করা ব্যবহার
একজন অ্যাপ মালিক বা প্রশাসক হিসেবে আপনি সম্ভবত আপনার অ্যাপের ডেটা থেকে রিপোর্ট তৈরি করতে চান। উদাহরণস্বরূপ, আপনি আপনার ব্যবহারকারীদের পাঠানো বার্তার সংখ্যার দৈনিক গণনা রাখতে চাইতে পারেন। আপনি messages
সংগ্রহ গোষ্ঠীর count()
একত্রিতকরণের মাধ্যমে এটি সম্পন্ন করতে পারেন।
count()
এর মতো সমষ্টিগত প্রশ্নগুলির জন্য, ক্যোয়ারীটির সাথে মিলে যাওয়া 1,000টি পর্যন্ত ইনডেক্স এন্ট্রির প্রতিটি ব্যাচের জন্য আপনাকে একটি নথি পড়ার জন্য চার্জ করা হবে। এই দৈনিক সমষ্টি চালানোর ফলে নিম্নলিখিত মাসিক চার্জ যোগ হয়:
ছোট
(৫০ হাজার ইনস্টল)
50,000 অ্যাপ ইনস্টলের জন্য (5,000 DAUs): $0.0009/মাস
5,000 সক্রিয় ব্যবহারকারী * প্রতি ব্যবহারকারী 10টি নতুন বার্তা = 50,000টি নতুন বার্তা নথি প্রতিদিন
50,000 নথি গণনা / 1,000 ইনডেক্স ম্যাচ প্রতি রিড চার্জ = 50 রিড
প্রতিদিন 50 পঠিত * 30 দিন = 1,500 প্রতি মাসে পড়া
প্রতি মাসে 1,500 পঠিত * .06/100,000 পঠিত মূল্য = প্রতি মাসে $0.0009
মাঝারি
(1M ইনস্টল)
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 পঠিত * .06/100,000 পঠিত মূল্য = প্রতি মাসে $0.018
বড়
(10M ইনস্টল)
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 রিড * .06/100000 রিড মূল্য = $0.18 প্রতি মাসে
অন্তর্ভুক্ত বেনিফিট: আপনার অ্যাপের জন্য কোন খরচের পরিষেবা
যদিও Cloud Firestore অপারেশন, স্টোরেজ এবং নেটওয়ার্ক ব্যান্ডউইথ সবই বিলযোগ্য ব্যবহার হিসাবে বিবেচিত হয়, আপনি কোনো অতিরিক্ত খরচ ছাড়াই বিভিন্ন ধরনের অন্যান্য সুবিধা পাবেন। অন্যান্য ডাটাবেস বিকল্পগুলির সাথে Cloud Firestore তুলনা করার সময় নিম্নলিখিত পরিষেবাগুলি বিবেচনা করুন যেগুলি বিনা খরচে:
- সরাসরি ক্লায়েন্ট অ্যাক্সেস: Cloud Firestore আমাদের নেটিভ SDK ব্যবহার করে আপনার ক্লায়েন্ট কোড থেকে সরাসরি অ্যাক্সেস করা হয়। এর মানে হল আপনার মোবাইল ক্লায়েন্টদের ডাটাবেসের সাথে সংযোগ করতে আপনাকে একটি API সার্ভার তৈরি এবং চালানোর প্রয়োজন নেই।
- লোড ব্যালেন্সিং: যেহেতু Cloud Firestore আপনার ডাটাবেসে ট্রাফিক সমর্থন করতে স্বয়ংক্রিয়ভাবে স্কেল করে, তাই আপনাকে লোড ব্যালেন্সার চালাতে হবে না।
- সার্ভার আপটাইম: Cloud Firestore ডেটাবেসগুলি 99% মাসিক আপটাইম অফার করে, Google Cloud সার্ভারগুলিতে কাজ করে৷
- প্রমাণীকরণ: Firebase Authentication মাধ্যমে সীমাহীন ব্যবহারকারীদের সহজভাবে এবং নিরাপদে প্রমাণীকরণ করুন। Firebase Authentication সরাসরি Cloud Firestore সাথে একীভূত হয় তাই আপনার নিজের প্রমাণীকরণ পরিষেবা চালানোর প্রয়োজন নেই৷
- পুশ বিজ্ঞপ্তি: Cloud Messaging মাধ্যমে বার্তা এবং বিজ্ঞপ্তি পাঠান।
- অন্যান্য ফায়ারবেস পণ্য: A/B টেস্টিং, অ্যানালিটিক্স, ক্র্যাশলিটিক্স, পারফরম্যান্স মনিটরিং এবং রিমোট কনফিগ সহ অন্যান্য ফায়ারবেস পণ্যগুলিকে বিনা খরচে একত্রিত করুন। অন্যান্য Firebase পণ্য এবং Firebase মূল্য সম্পর্কে আরও জানুন।