এই পৃষ্ঠায় Cloud Firestore-এ ডকুমেন্ট, ফিল্ড ও ইন্ডেক্স এন্ট্রির স্টোরেজ সাইজ সম্পর্কে বর্ণনা করা হয়েছে।
আপনি দাম পৃষ্ঠা থেকে এই স্টোরেজের খরচ সম্পর্কে জানতে পারবেন।
স্ট্রিং সাইজ
স্ট্রিংয়ের সাইজ UTF-8 এনকোড করা বাইটের সংখ্যা + ১ হিসেবে গণনা করা হয়।
নিম্নলিখিতগুলি স্ট্রিং হিসেবে স্টোর করা হয়:
- সংগ্রহের নাম
- ফিল্ডের নাম
- স্ট্রিং ফিল্ডের ভ্যালু (
_idসহ)
যেমন:
- কালেকশনের নাম
tasks৫ বাইট + ১ বাইট ব্যবহার করে, মোট ৬ বাইট। descriptionফিল্ডের নাম ১১ বাইট + ১ বাইট ব্যবহার করে, মোট ১২ বাইট।
ফিল্ড ভ্যালুর সাইজ
নিচের সারণিতে ধরন অনুযায়ী ফিল্ড ভ্যালুর সাইজ দেখানো হয়েছে।
| প্রকার | আকার |
|---|---|
| অ্যারে | এর ভ্যালুর সাইজের যোগফল |
| Boolean | ১ বাইট |
| বাইনারি ডেটা | নন-জেনেরিক (নন-০) সাবটাইপের জন্য বাইট দৈর্ঘ্য + ১ |
| তারিখ | ৮ বাইট |
| দুইটি | ৮ বাইট |
| Double128 | ১৬ বাইট |
| ৩২-বিট ইন্টিজার | ৪ বাইট |
| ৬৪-বিট পূর্ণসংখ্যা (লং) | ৮ বাইট |
| অবজেক্ট: | এম্বেড করা অবজেক্টে প্রতিটি ফিল্ডের নামের স্ট্রিং সাইজ এবং প্রতিটি ফিল্ডের ভ্যালুর সাইজের যোগফল |
| Min Key | ১ বাইট |
| Max কী | ১ বাইট |
| ফাঁকা | ১ বাইট |
| রেগুলার এক্সপ্রেশন | (প্যাটার্নের দৈর্ঘ্য + ১) + (বিকল্পের দৈর্ঘ্য + ১) |
| টাইমস্ট্যাম্প | ৮ বাইট |
| স্ট্রিং | 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 |
ফিল্ডের নামের জন্য 6 5 + ফিল্ডের বুলিয়ান ভ্যালুর জন্য ১ |
"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-এ সেট করা থাকে।
স্ট্রিম ইভেন্ট এন্ট্রি সাইজ পরিবর্তন করুন
চেঞ্জ স্ট্রিম ইভেন্টের সাইজ হল নিম্নলিখিতগুলির মোট যোগফল:
- কালেকশনের নামের স্ট্রিং সাইজের যোগফল (x2)।
- কোনও ডকুমেন্টের জন্য ইভেন্ট যোগ ও আপডেট করতে:
fullDocumentবাupdateDescription-এর (_idবাদে) প্রতিটি ফিল্ডের নামের স্ট্রিং সাইজের যোগফল।fullDocumentবাupdateDescription-এ প্রতিটি ফিল্ড ভ্যালুর সাইজের যোগফল। (_idসহ)।
- মাল্টি-ডকুমেন্ট ট্রানজ্যাকশনের ক্ষেত্রে প্রযোজ্য হলে,
lsidএবংtxnNumber-এর জন্য অতিরিক্ত ২৪ বাইট। - ৯২ অতিরিক্ত বাইট
টাস্ক কালেকশনে কোনও ডকুমেন্টের জন্য ইনসার্ট ইভেন্টের উদাহরণ বিবেচনা করুন:
{
"_id": { <Resume Token> },
"operationType": "insert",
"clusterTime": <Timestamp>,
"wallTime": <ISODate>,
"ns": {
"db": "db",
"coll": "tasks"
},
"documentKey": {
"_id": "my_task_id"
},
"fullDocument": {
"_id": "my_task_id",
"description": "Learn Cloud Firestore"
},
}
পরিবর্তন স্ট্রিম ইভেন্টের মোট সাইজ হল ১৪৯ বাইট:
- সাধারণ মেটাডেটার জন্য ৯২ বাইট
- কালেকশনের নাম
tasks(৬ বাইট) * ২-এর উপর ভিত্তি করে ১২ বাইট _idফিল্ডের ভ্যালুর জন্য ১১ বাইটdescriptionফিল্ডের নামের জন্য ১২ বাইটdescriptionফিল্ডের ভ্যালুর জন্য ২২ বাইট
টেক্সট সার্চ ইন্ডেক্স এন্ট্রি সাইজ
ইন্ডেক্সে টেক্সট সার্চ ইন্ডেক্স এন্ট্রির সাইজ হল:
- কালেকশনের নামের স্ট্রিং সাইজ
_idভ্যালুর সাইজ- ইনডেক্স করা ফিল্ড ভ্যালু থেকে বাইটের যোগফল (x2)
- সাধারণ মেটাডেটার জন্য অতিরিক্ত ৪৮ বাইট
tasks সংগ্রহে _id my_task_id
সহ কোনও ডকুমেন্টের জন্য ইনসার্ট ইভেন্টের উদাহরণ বিবেচনা করুন:
{ "_id": "my_place", "type": "Restaurant", "visited": false, "priority": 1, "location": GeoPoint(longitude, latitude) }
description-এ টেক্সট সার্চ ইন্ডেক্স এন্ট্রির মোট সাইজ হল ১০৫ বাইট
এর উপর ভিত্তি করে:
tasksকালেকশনের নামের জন্য ৬ বাইট_idভ্যালুর জন্য ১১ বাইট- ৪৪ বাইট,
descriptionফিল্ড x২-এর জন্য ২২ বাইটের উপর ভিত্তি করে - সাধারণ মেটাডেটার জন্য অতিরিক্ত ৪৮ বাইট
জিওস্পেশিয়াল ইনডেক্স এন্ট্রি সাইজ
কোনও ইনডেক্সে জিওস্পেশিয়াল ইনডেক্স এন্ট্রির সাইজ হল নিম্নলিখিতগুলির যোগফল:
- কালেকশনের নামের স্ট্রিং সাইজ
_idভ্যালুর সাইজ- প্রতিটি ইন্ডেক্স করা জিও পয়েন্টের জন্য ১২৮ বাইট
- সাধারণ মেটাডেটার জন্য অতিরিক্ত ৪৮ বাইট
places সংগ্রহে _id my_place
সহ কোনও ডকুমেন্টের জন্য ইনসার্ট ইভেন্টের উদাহরণ বিবেচনা করুন:
{ "_id": "my_place", "type": "Restaurant", "visited": false, "priority": 1, "location": GeoPoint(longitude, latitude) }
location-এ জিওস্পেশিয়াল ইন্ডেক্স এন্ট্রির মোট সাইজ হল
১৯২ বাইট, যা এগুলির উপর ভিত্তি করে তৈরি:
- কালেকশনের নামের জন্য ৭ বাইট
places - ডকুমেন্ট আইডির জন্য ৯ বাইট
locationফিল্ডের জন্য ১২৮ বাইট- সাধারণ মেটাডেটার জন্য অতিরিক্ত ৪৮ বাইট
এর পরে কী করতে হবে
দাম সম্পর্কে জানুন।