এই পৃষ্ঠায় Cloud Firestore ডকুমেন্ট, ফিল্ড এবং ইনডেক্স এন্ট্রির স্টোরেজ সাইজ সম্পর্কে বর্ণনা করা হয়েছে।
আপনি মূল্য নির্ধারণ পৃষ্ঠায় এই স্টোরেজের খরচ সম্পর্কে জানতে পারবেন।
স্ট্রিংয়ের আকার
স্ট্রিংয়ের আকার UTF-8 এনকোডেড বাইটের সংখ্যার সাথে ১ যোগ করে গণনা করা হয়।
নিম্নলিখিতগুলি স্ট্রিং হিসাবে সংরক্ষিত আছে:
- সংগ্রহের নাম
- ক্ষেত্রের নাম
- স্ট্রিং ফিল্ডের মান (যার মধ্যে
_idঅন্তর্ভুক্ত)
উদাহরণস্বরূপ:
-
tasksনামের কালেকশনটি ৫ বাইট + ১ বাইট, অর্থাৎ মোট ৬ বাইট ব্যবহার করে। - ফিল্ডের নামের
descriptionজন্য ১১ বাইট + ১ বাইট, অর্থাৎ মোট ১২ বাইট প্রয়োজন হয়।
ক্ষেত্রের মান আকার
নিচের সারণিতে প্রকারভেদে ফিল্ড ভ্যালুগুলোর আকার দেখানো হয়েছে।
| প্রকার | আকার |
|---|---|
| অ্যারে | এর মানগুলোর আকারের যোগফল |
| বুলিয়ান | ১ বাইট |
| বাইনারি ডেটা | একটি নন-জেনেরিক (নন-০) সাবটাইপের জন্য বাইট দৈর্ঘ্য + ১ |
| তারিখ | ৮ বাইট |
| দ্বিগুণ | ৮ বাইট |
| ডাবল১২৮ | ১৬ বাইট |
| ৩২-বিট পূর্ণসংখ্যা | ৪ বাইট |
| ৬৪-বিট পূর্ণসংখ্যা (দীর্ঘ) | ৮ বাইট |
| বস্তু | এমবেডেড অবজেক্টের প্রতিটি ফিল্ডের নামের স্ট্রিং সাইজ এবং প্রতিটি ফিল্ডের মানের সাইজের যোগফল |
| মিন কী | ১ বাইট |
| ম্যাক্স কী | ১ বাইট |
| শূন্য | ১ বাইট |
| নিয়মিত অভিব্যক্তি | (প্যাটার্নের দৈর্ঘ্য + ১) + (বিকল্পের দৈর্ঘ্য + ১) |
| টাইমস্ট্যাম্প | ৮ বাইট |
| স্ট্রিং | UTF-8 এনকোড করা বাইটের সংখ্যা + ১ |
উদাহরণস্বরূপ, done নামের একটি বুলিয়ান ফিল্ড ৬ বাইট ব্যবহার করবে:
-
doneফিল্ডের নামের জন্য ৫ বাইট - বুলিয়ান মানের জন্য ১ বাইট
ডকুমেন্টের আকার
একটি ডকুমেন্টের আকার হলো নিম্নলিখিত বিষয়গুলোর যোগফল:
- সংগ্রহের নামের স্ট্রিং আকার
- প্রতিটি ফিল্ড নামের (
_idবাদে) স্ট্রিং সাইজের যোগফল - প্রতিটি ফিল্ড মানের আকারের যোগফল (
_idসহ ) - ৪৮ অতিরিক্ত বাইট
এই উদাহরণটি কালেকশন tasks একটি ডকুমেন্টের জন্য:
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
ফিল্ডগুলোর মোট আকার ৭৮ বাইট:
| ক্ষেত্রের নাম এবং মান | বাইটে ফিল্ডের আকার |
|---|---|
"_id": "my_task_id" | ফিল্ডটির স্ট্রিং মানের জন্য ১১ |
"type": "Personal" | ১৪ ফিল্ডের নামের জন্য ৫ + ফিল্ডের স্ট্রিং মানের জন্য ৯ |
"done": false | ৬ ফিল্ডের নামের জন্য ৫ + ফিল্ডের বুলিয়ান মানের জন্য ১ |
"priority": 1 | ১৭ ফিল্ডের নামের জন্য ৯ + ফিল্ডটির ৩২-বিট পূর্ণসংখ্যা মানের জন্য ৪ |
"description": "Learn Cloud Firestore" | ৩৪ ফিল্ডের নামের জন্য ১২ + ফিল্ডের স্ট্রিং মানের জন্য ২২ |
সুতরাং ডকুমেন্টটির আকার হলো ৬ + ৭৮ + ৪৮ = ১৩২ বাইট:
- সংগ্রহের নামের জন্য ৬
- ফিল্ডগুলির জন্য ৭৮ বাইট
- ৪৮ অতিরিক্ত বাইট
সূচক এন্ট্রি আকার
একটি ইনডেক্সের কোনো এন্ট্রির সাইজ হলো নিম্নলিখিতগুলোর যোগফল:
- সংগ্রহের নামের স্ট্রিং আকার
-
_idফিল্ডের মানের আকার - সূচিবদ্ধ ফিল্ড মানগুলির যোগফল
- ৪৮ অতিরিক্ত বাইট
tasks সংগ্রহে থাকা একটি ডকুমেন্ট বিবেচনা করুন:
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
done এবং priority ফিল্ডের (উভয়ই ঊর্ধ্বক্রমে) উপর নির্মিত একটি ইনডেক্সের ক্ষেত্রে, এই ইনডেক্সে প্রতিটি এন্ট্রির মোট আকার হলো ৭০ বাইট:
-
tasksকালেকশন নামের জন্য ৬ বাইট -
_idফিল্ডের মানের জন্য ১১ বাইট - বুলিয়ান ফিল্ডের মানের জন্য ১ বাইট
- ৩২-বিট পূর্ণসংখ্যা ফিল্ড মানের জন্য ৪ বাইট
- ৪৮ অতিরিক্ত বাইট
স্পার্স ইনডেক্সের ক্ষেত্রে, যদি কোনো ডকুমেন্টে কোনো ফিল্ড অন্তর্ভুক্ত না থাকে, তাহলে কোনো ইনডেক্স এন্ট্রি তৈরি করা হয় না। যদি কোনো ডকুমেন্টে ইনডেক্স করা ফিল্ডগুলোর মধ্যে অন্তত একটি থাকে, তাহলে একটি ইনডেক্স এন্ট্রি তৈরি করা হয় এবং অনুপস্থিত ইনডেক্স করা ফিল্ডগুলোর মান NULL সেট করা হয়।
এরপর কী?
মূল্য নির্ধারণ সম্পর্কে জানুন।