শুধুমাত্র ক্লাউড ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণের জন্য প্রাসঙ্গিক। |
এই পৃষ্ঠাটি MongoDB সামঞ্জস্যের সাথে ক্লাউড ফায়ারস্টোরে নথি, ক্ষেত্র এবং সূচীপত্রের সঞ্চয়স্থানের আকার বর্ণনা করে।
আপনি মূল্য পৃষ্ঠায় এই স্টোরেজের খরচ সম্পর্কে জানতে পারেন।
স্ট্রিং আকার
স্ট্রিং আকারগুলি UTF-8 এনকোড করা বাইটের সংখ্যা + 1 হিসাবে গণনা করা হয়।
নিম্নলিখিত স্ট্রিং হিসাবে সংরক্ষণ করা হয়:
- সংগ্রহের নাম
- ক্ষেত্রের নাম
- স্ট্রিং ক্ষেত্রের মান (
_id
সহ)
যেমন:
- সংগ্রহের নামের
tasks
মোট 6 বাইটের জন্য 5 বাইট + 1 বাইট ব্যবহার করে। - ক্ষেত্রের নামের
description
মোট 12 বাইটের জন্য 11 বাইট + 1 বাইট ব্যবহার করে।
ক্ষেত্রের মান আকার
নিম্নলিখিত টেবিলটি ধরন অনুসারে ক্ষেত্রের মানগুলির আকার দেখায়।
টাইপ | আকার |
---|---|
অ্যারে | এর মানগুলির মাপের সমষ্টি |
বুলিয়ান | 1 বাইট |
বাইনারি ডেটা | একটি নন-জেনারিক (নন-0) সাব-টাইপের জন্য বাইট দৈর্ঘ্য + 1 |
তারিখ | 8 বাইট |
ডাবল | 8 বাইট |
ডাবল 128 | 16 বাইট |
32-বিট পূর্ণসংখ্যা | 4 বাইট |
64-বিট পূর্ণসংখ্যা (দীর্ঘ) | 8 বাইট |
অবজেক্ট | প্রতিটি ক্ষেত্রের নামের স্ট্রিং আকারের যোগফল এবং এমবেড করা অবজেক্টে প্রতিটি ক্ষেত্রের ফ্যালুর মাপ |
মিন কী | 1 বাইট |
সর্বোচ্চ কী | 1 বাইট |
শূন্য | 1 বাইট |
নিয়মিত অভিব্যক্তি | (প্যাটার্ন দৈর্ঘ্য + 1) + (বিকল্প দৈর্ঘ্য + 1) |
টাইমস্ট্যাম্প | 8 বাইট |
স্ট্রিং | UTF-8 এনকোড করা বাইটের সংখ্যা + 1 |
উদাহরণস্বরূপ, done
নামের একটি বুলিয়ান ক্ষেত্র 6 বাইট ব্যবহার করবে:
-
done
ক্ষেত্রের নামের জন্য 5 বাইট - বুলিয়ান মানের জন্য 1 বাইট
নথির আকার
একটি নথির আকার হল সমষ্টি:
- সংগ্রহের নামের স্ট্রিং আকার
- প্রতিটি ক্ষেত্রের নামের স্ট্রিং আকারের যোগফল (
_id
ব্যতীত) - প্রতিটি ক্ষেত্রের মানের আকারের যোগফল (
_id
সহ) - 48 অতিরিক্ত বাইট
এই উদাহরণটি সংগ্রহের tasks
একটি নথির জন্য:
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
ক্ষেত্রগুলির মোট আকার হল 78 বাইট:
ক্ষেত্রের নাম এবং মান | বাইটে ক্ষেত্রের আকার |
---|---|
"_id": "my_task_id" | ক্ষেত্রের স্ট্রিং মানের জন্য 11 |
"type": "Personal" | 14 ক্ষেত্রের নামের জন্য 5 + ক্ষেত্রের স্ট্রিং মানের জন্য 9 |
"done": false | 6 ক্ষেত্রের নামের জন্য 5 + ক্ষেত্রের বুলিয়ান মানের জন্য 1 |
"priority": 1 | 17 ক্ষেত্রের নামের জন্য 9 + ক্ষেত্রের 32-বিট পূর্ণসংখ্যা মানের জন্য 4 |
"description": "Learn Cloud Firestore" | 34 ক্ষেত্রের নামের জন্য 12 + ক্ষেত্রের স্ট্রিং মানের জন্য 22 |
সুতরাং নথির আকার হল 6 + 78 + 48 = 132 বাইট:
- সংগ্রহের নামের জন্য 6
- ক্ষেত্রগুলির জন্য 78 বাইট
- 48 অতিরিক্ত বাইট
সূচক এন্ট্রি আকার
একটি সূচকে একটি সূচক প্রবেশের আকার হল এর সমষ্টি:
- সংগ্রহের নামের স্ট্রিং আকার
-
_id
ক্ষেত্রের মানের আকার - সূচীকৃত ক্ষেত্রের মানের সমষ্টি
- 48 অতিরিক্ত বাইট
tasks
সংগ্রহে একটি নথি বিবেচনা করুন:
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
done
এবং priority
ক্ষেত্রগুলির একটি সূচকের জন্য (উভয় আরোহী), এই সূচকে সূচক প্রবেশের মোট আকার হল 70 বাইট:
- সংগ্রহের নামের
tasks
জন্য 6 বাইট -
_id
ক্ষেত্রের মানের জন্য 11 বাইট - বুলিয়ান ক্ষেত্রের মানের জন্য 1 বাইট
- 32-বিট পূর্ণসংখ্যা ক্ষেত্রের মানের জন্য 4 বাইট
- 48 অতিরিক্ত বাইট
স্পার্স ইনডেক্সের জন্য, যদি কোনো নথিতে কোনো ক্ষেত্র অন্তর্ভুক্ত না থাকে, তাহলে কোনো সূচক এন্ট্রি তৈরি করা হয় না। যদি একটি নথিতে সূচীকৃত ক্ষেত্রগুলির মধ্যে অন্তত একটি থাকে, তাহলে অনুপস্থিত সূচীকৃত ক্ষেত্রগুলি NULL
এ সেট করে একটি সূচক এন্ট্রি তৈরি করা হয়।
এরপর কি
মূল্য সম্পর্কে জানুন।