این صفحه اندازه فضای ذخیرهسازی اسناد، فیلدها، و مدخلهای نمایه را در Cloud Firestore شرح میدهد.
میتوانید در صفحه قیمتگذاری با هزینههای این فضای ذخیرهسازی آشنا شوید.
اندازه بند
اندازه رشتهها بهصورت تعداد بایتهای کدگذاریشده UTF-8 + ۱ محاسبه میشود.
موارد زیر بهصورت رشته ذخیره میشوند:
- نام کلکسیون
- نام فیلدها
- مقادیر فیلد رشته (ازجمله
_id)
برای مثال:
- نام مجموعه
tasksاز ۵ بایت + ۱ بایت استفاده میکند که درمجموع ۶ بایت میشود. - نام فیلد
descriptionاز ۱۱ بایت + ۱ بایت استفاده میکند که درمجموع ۱۲ بایت میشود.
اندازه مقدار فیلد
جدول زیر اندازه مقادیر فیلد را براساس نوع نشان میدهد.
| نوع | اندازه |
|---|---|
| آرایه | مجموع اندازههای مقادیر آن |
| بولی | ۱ بایت |
| دادههای دودویی | طول بایت + ۱ برای زیرنوع غیرعمومی (غیرصفر) |
| تاریخ | ۸ بایت |
| دونفره | ۸ بایت |
| Double128 | ۱۶ بایت |
| عدد صحیح ۳۲ بیتی | ۴ بایت |
| عدد صحیح ۶۴ بیتی (طولانی) | ۸ بایت |
| شیء | مجموع اندازههای رشته هر نام فیلد و اندازههای هر مقدار فیلد در شیء جاسازیشده |
| کلید Min | ۱ بایت |
| کلید Max | ۱ بایت |
| Null | ۱ بایت |
| عبارت باقاعده | (طول الگو + ۱) + (طول گزینهها + ۱) |
| مُهر زمان | ۸ بایت |
| تار | تعداد بایتهای کدبندیشده 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" |
34 ۱۲ برای نام فیلد + ۲۲ برای مقدار رشته فیلد |
بنابراین اندازه سند ۱۳۲ بایت است (۶ + ۷۸ + ۴۸):
- ۶ برای نام مجموعه
- ۷۸ بایت برای فیلدها
- ۴۸ بایت اضافی
اندازه ورودی نمایه
اندازه ورودی نمایه در نمایه مجموع موارد زیر است:
- اندازه رشته نام مجموعه
- اندازه مقدار فیلد
_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)
- ۴۸ بایت اضافی برای فراداده عمومی
مثالی را برای رویداد درج برای سندی با _id my_task_id
در مجموعه tasks درنظر بگیرید:
{ "_id": "my_place", "type": "Restaurant", "visited": false, "priority": 1, "location": GeoPoint(longitude, latitude) }
اندازه کل ورودی نمایه جستجوی نوشتار در description ۱۰۵ بایت است
براساس:
- ۶ بایت برای نام مجموعه
tasks - ۱۱ بایت برای مقدار
_id - ۴۴ بایت، براساس ۲۲ بایت برای فیلد
descriptionضربدر ۲ - ۴۸ بایت اضافی برای فراداده عمومی
اندازه ورودی نمایه زمینمکانی
اندازه ورودی نمایه زمینمکانی در نمایه برابر است با مجموع:
- اندازه رشته نام مجموعه
- اندازه مقدار
_id - ۱۲۸ بایت برای هر نقطه جغرافیایی نمایهشده
- ۴۸ بایت اضافی برای فراداده عمومی
مثالی را برای رویداد درج برای سندی با _id my_place
در مجموعه places درنظر بگیرید:
{ "_id": "my_place", "type": "Restaurant", "visited": false, "priority": 1, "location": GeoPoint(longitude, latitude) }
اندازه کل ورودی نمایه زمینمکانی در location
۱۹۲ بایت است که براساس موارد زیر محاسبه میشود:
- ۷ بایت برای نام مجموعه
places - ۹ بایت برای شناسه سند
- ۱۲۸ بایت برای فیلد
location - ۴۸ بایت اضافی برای فراداده عمومی
حالا چه میشود
درباره قیمتگذاری بیشتر بدانید.