این صفحه حجم ذخیرهسازی اسناد، فیلدها و ورودیهای فهرست در 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 (هر دو صعودی)، اندازه کل ورودی فهرست در این فهرست 70 بایت است:
- ۶ بایت برای
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 ، بر اساس موارد زیر، 105 بایت است:
- ۶ بایت برای
tasksنام مجموعه - ۱۱ بایت برای مقدار
_id - ۴۴ بایت، بر اساس ۲۲ بایت برای فیلد
descriptionx2 - ۴۸ بایت اضافی برای فرادادههای عمومی
اندازه ورودی شاخص مکانی
اندازه یک ورودی شاخص مکانی در یک شاخص، مجموع موارد زیر است:
- اندازه رشته نام مجموعه
- اندازه مقدار
_id - ۱۲۸ بایت برای هر نقطه جغرافیایی فهرستبندی شده
- ۴۸ بایت اضافی برای فرادادههای عمومی
به عنوان مثال، رویداد درج را برای سندی با _id my_place در مجموعه places در نظر بگیرید:
{ "_id": "my_place", "type": "Restaurant", "visited": false, "priority": 1, "location": GeoPoint(longitude, latitude) }
اندازه کل یک ورودی فهرست جغرافیایی در location ۱۹۲ بایت است که بر اساس موارد زیر محاسبه میشود:
- ۷ بایت برای
placesنام مجموعه - ۹ بایت برای شناسه سند
- ۱۲۸ بایت برای فیلد
location - ۴۸ بایت اضافی برای فرادادههای عمومی
قدم بعدی چیست؟
در مورد قیمتگذاری اطلاعات کسب کنید.