محاسبات اندازه فضای ذخیره‌سازی

این صفحه اندازه فضای ذخیره‌سازی اسناد، نام اسناد، فیلدها، و ورودی‌های نمایه را در Cloud Firestore شرح می‌دهد.

می‌توانید درباره هزینه‌های این فضای ذخیره‌سازی در Cloud Firestore قیمت‌گذاری اطلاعات کسب کنید.

اندازه بند

اندازه رشته‌ها به‌صورت تعداد بایت‌های کدگذاری‌شده UTF-8 + ۱ محاسبه می‌شود.

موارد زیر به‌صورت رشته ذخیره می‌شوند:

  • شناسه‌های مجموعه
  • شناسه‌های سند رشته‌ای
  • نام سندها
  • نام فیلدها
  • مقادیر فیلد رشته

برای مثال:

  • شناسه مجموعه tasks از ۵ بایت + ۱ بایت استفاده می‌کند که درمجموع ۶ بایت می‌شود.
  • نام فیلد description از ۱۱ بایت + ۱ بایت استفاده می‌کند که درمجموع ۱۲ بایت می‌شود.

اندازه شناسه سند

اندازه شناسه سند یا اندازه رشته برای شناسه رشته است یا ۸ بایت برای شناسه عدد صحیح.

اندازه نام سند

اندازه نام سند برابر است با مجموع:

  • اندازه هر شناسه مجموعه و شناسه سند در مسیر سند
  • ۱۶ بایت اضافی

برای سندی در زیرمجموعه users/jeff/tasks با شناسه سند رشته‌ای my_task_id، اندازه نام سند ۶ + ۵ + ۶ + ۱۱ + ۱۶ = ۴۴ بایت است:

  • ۶ بایت برای شناسه مجموعه users
  • ‫۵ بایت برای شناسه سند jeff
  • ۶ بایت برای شناسه مجموعه tasks
  • ۱۱ بایت برای شناسه سند my_task_id
  • ۱۶ بایت اضافی

اندازه مقدار فیلد

جدول زیر اندازه مقادیر فیلد را براساس نوع نشان می‌دهد.

نوع اندازه
آرایه مجموع اندازه‌های مقادیر آن
بولی ‫۱ بایت
بایت طول بایت
تاریخ و ساعت ‫۸ بایت
عدد ممیز شناور ‫۸ بایت
نقطه جغرافیایی ‫۱۶ بایت
عدد صحیح ‫۸ بایت
نقشه اندازه نقشه، که به همان روش اندازه سند محاسبه می‌شود
Null ‫۱ بایت
مرجع اندازه نام سند
رشته نوشتاری تعداد بایت‌های کدبندی‌شده UTF-8 +‏ ۱
بردار ‫۸ بایت برای هر بعد

برای مثال، فیلد بولی با نام done از ۶ بایت استفاده می‌کند:

  • ۵ بایت برای نام فیلد done
  • ۱ بایت برای مقدار بولی

اندازه سند

اندازه سند مجموع موارد زیر است:

این مثال برای سندی در زیرمجموعه users/jeff/tasks با شناسه سند رشته‌ای my_task_id است:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

اندازه کل فیلدها ۷۱ بایت است:

نام و مقدار فیلد اندازه فیلد به بایت
"type": "Personal" ‫۱۴
۵ برای نام فیلد + ۹ برای مقدار رشته فیلد
"done": false ‫۶
۵ برای نام فیلد + ۱ برای مقدار بولی فیلد
"priority": 1 ‫۱۷
۹ برای نام فیلد + ۸ برای مقدار عدد صحیح فیلد
"description": "Learn Cloud Firestore" 34
۱۲ برای نام فیلد + ۲۲ برای مقدار رشته فیلد

بنابراین اندازه سند ۴۴ + ۷۱ + ۳۲ = ۱۴۷ بایت است:

  • ۴۴ بایت برای نام سند
  • ۷۱ بایت برای فیلدها
  • ‫۳۲ بایت اضافی

اندازه ورودی نمایه

اندازه ورودی نمایه برای نمایه‌های تک‌فیلدی و ترکیبی به‌صورت زیر محاسبه می‌شود.

اندازه ورودی نمایه تک‌فیلدی

اندازه ورودی نمایه تک‌فیلدی به این بستگی دارد که نمایه به یک مجموعه یا گروه مجموعه محدود شده باشد یا نه.

محدوده مجموعه

اندازه ورودی در نمایه تک‌فیلدی با دامنه مجموعه برابر است با مجموع:

سندی را در زیرمجموعه users/jeff/tasks با شناسه سند رشته‌ای my_task_id درنظر بگیرید:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

برای نمایه تک‌فیلدی با گستره مجموعه که فیلد done را نمایه‌سازی می‌کند، اندازه کل ورودی در این نمایه ۱۰۹ بایت است:

  • ۴۴ بایت برای نام سند users/jeff/tasks/my_task_id
  • ۲۷ بایت برای نام سند سند مادر users/jeff
  • ۵ بایت برای نام فیلد done
  • ۱ بایت برای مقدار فیلد بولی
  • ‫۳۲ بایت اضافی

محدوده گروه مجموعه

اندازه ورودی در نمایه تک‌فیلدی با گستره گروه مجموعه برابر است با مجموع:

سندی را در زیرمجموعه users/jeff/tasks با شناسه سند رشته‌ای my_task_id درنظر بگیرید:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

برای نمایه تک‌فیلدی با گستره گروه مجموعه که فیلد done را نمایه‌سازی می‌کند، اندازه کل ورودی در این نمایه ۹۸ بایت است:

  • ۴۴ بایت برای نام سند users/jeff/tasks/my_task_id
  • ۵ بایت برای نام فیلد done
  • ۱ بایت برای مقدار فیلد بولی
  • ‫۴۸ بایت اضافی

اندازه ورودی نمایه ترکیبی

اندازه ورودی در نمایه مرکب به این بستگی دارد که نمایه در محدوده یک مجموعه باشد یا یک گروه مجموعه.

محدوده مجموعه

اندازه ورودی نمایه در نمایه ترکیبی با گستره مجموعه برابر است با مجموع:

سندی را در زیرمجموعه users/jeff/tasks با شناسه سند رشته‌ای my_task_id درنظر بگیرید:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

برای نمایه ترکیبی با گستره مجموعه که فیلدهای done و priority را (هر دو صعودی) نمایه‌گذاری می‌کند، اندازه کل ورودی در این نمایه ۱۱۲ بایت است:

  • ۴۴ بایت برای نام سند users/jeff/tasks/my_task_id
  • ۲۷ بایت برای نام سند سند مادر users/jeff
  • ۱ بایت برای مقدار فیلد بولی
  • ۸ بایت برای مقدار فیلد عدد صحیح
  • ‫۳۲ بایت اضافی

محدوده گروه مجموعه

اندازه ورودی نمایه در نمایه ترکیبی با گستره گروه مجموعه برابر است با مجموع:

سندی را در زیرمجموعه users/jeff/tasks با شناسه سند رشته‌ای my_task_id درنظر بگیرید:

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

برای نمایه ترکیبی با دامنه گروه مجموعه که فیلدهای done و priority را (هر دو صعودی) نمایه می‌کند، اندازه کل ورودی نمایه در این نمایه ۸۵ بایت است:

  • ۴۴ بایت برای نام سند users/jeff/tasks/my_task_id
  • ۱ بایت برای مقدار فیلد بولی
  • ۸ بایت برای مقدار فیلد عدد صحیح
  • ‫۳۲ بایت اضافی

اندازه ورودی نمایه جستجوی نوشتار

اندازه ورودی نمایه جستجوی نوشتار در نمایه برابر است با مجموع:

  • اندازه رشته نام مجموعه
  • اندازه مقدار شناسه سند
  • مجموع بایت‌ها از مقادیر فیلد نمایه‌شده (x2)
  • ۴۸ بایت اضافی برای فراداده عمومی

مثالی از رویداد درج برای سندی با شناسه سند my_task_id در مجموعه tasks را درنظر بگیرید:

اندازه کل ورودی نمایه جستجوی نوشتار در description ۱۰۵ بایت است براساس:

  • ‫۶ بایت برای نام مجموعه tasks
  • ۱۱ بایت برای مقدار شناسه سند
  • ۴۴ بایت، براساس ۲۲ بایت برای فیلد description ضربدر ۲
  • ۴۸ بایت اضافی برای فراداده عمومی

اندازه ورودی نمایه زمین‌مکانی

اندازه ورودی نمایه زمین‌مکانی در نمایه برابر است با مجموع:

  • اندازه رشته نام مجموعه
  • اندازه مقدار شناسه سند
  • ۱۲۸ بایت برای هر نقطه جغرافیایی نمایه‌شده
  • ۴۸ بایت اضافی برای فراداده عمومی

مثالی از رویداد درج برای سندی با شناسه سند my_place در مجموعه places را درنظر بگیرید:

{
     "type": "Restaurant",
     "visited": false,
     "priority": 1,
     "location": GeoPoint(longitude, latitude)
}

اندازه کل ورودی نمایه زمین‌مکانی در location ۱۹۲ بایت است که براساس موارد زیر محاسبه می‌شود:

  • ۷ بایت برای نام مجموعه places
  • ۹ بایت برای شناسه سند
  • ‫۱۲۸ بایت برای فیلد location
  • ۴۸ بایت اضافی برای فراداده عمومی

حالا چه می‌شود

با قیمت‌گذاری Cloud Firestore آشنا شوید.