از این راهنما برای درک محدودیتهای Cloud Firestore استفاده کنید و برای توضیح کامل و مفصل هزینههای Cloud Firestore ، از جمله مواردی که باید به آنها توجه کنید، به بخش قیمتگذاری Cloud Firestore مراجعه کنید.
میزان استفاده خود را زیر نظر داشته باشید
برای نظارت بر میزان استفاده از Cloud Firestore خود، تب Cloud Firestore Usage را در کنسول Firebase باز کنید. از داشبورد برای سنجش میزان استفاده خود در دورههای زمانی مختلف استفاده کنید.
استفاده دقیق در کنسول Google Cloud
وقتی یک پروژه Firebase ایجاد میکنید، در واقع یک پروژه Google Cloud نیز ایجاد میکنید. صفحات Cloud Firestore API Quotas و App Engine Quotas در کنسول Google Cloud اطلاعات مربوط به میزان استفاده و سهمیه Cloud Firestore را ردیابی میکنند.
سهمیه رایگان
Cloud Firestore سهمیه رایگانی ارائه میدهد که به شما امکان میدهد بدون هیچ هزینهای شروع به کار کنید. اگر به سهمیه بیشتری نیاز دارید، باید برای پروژه Google Cloud خود، پرداخت صورتحساب را فعال کنید .
سهمیهها روزانه اعمال میشوند و حدود نیمهشب به وقت اقیانوس آرام، مجدداً تنظیم میشوند.
جدول زیر خلاصهای از مبالغ سهمیه رایگان را نشان میدهد:
| سطح رایگان | سهمیه |
|---|---|
| دادههای ذخیره شده | ۱ گیگابایت |
| خوانش سند | ۵۰،۰۰۰ در روز |
| نوشتن سند | ۲۰،۰۰۰ در روز |
| حذف سند | ۲۰،۰۰۰ در روز |
| انتقال داده خروجی | ۱۰ گیگابایت در ماه |
عملیات و ویژگیهای زیر شامل استفاده رایگان نمیشوند. برای استفاده از این ویژگیها، باید صورتحساب را فعال کنید:
- حذفهای TTL
- دادههای PITR
- پشتیبانگیری از دادهها
- عملیات بازیابی
- عملیات کلون
برای اطلاعات بیشتر در مورد نحوه محاسبه این ویژگیها، به قیمتگذاری فضای ذخیرهسازی مراجعه کنید.
محدودیتهای استاندارد
جداول زیر محدودیتهایی را که برای Cloud Firestore اعمال میشود نشان میدهد. این محدودیتها قطعی هستند، مگر اینکه خلاف آن ذکر شده باشد.
پایگاههای داده
| حد | جزئیات |
|---|---|
| حداکثر تعداد پایگاههای داده در هر پروژه | ۱۰۰ برای درخواست افزایش این محدودیت میتوانید با پشتیبانی تماس بگیرید . |
| حداکثر تعداد پایگاههای داده کلیدهای رمزگذاری مدیریتشده توسط مشتری (CMEK) در هر پروژه | 0 به طور پیشفرض سهمیه ۰ است زیرا این ویژگی در پشت یک لیست مجاز قرار دارد. میتوانید با پر کردن فرم درخواست دسترسی CMEK، سهمیه را افزایش دهید. |
مجموعهها، اسناد و فیلدها
| حد | جزئیات |
|---|---|
| محدودیتهای مربوط به شناسههای مجموعه |
|
| حداکثر عمق زیرمجموعهها | ۱۰۰ |
| محدودیتهای مربوط به شناسههای سند |
|
| حداکثر اندازه برای نام سند | ۶ کیلوبایت |
| حداکثر اندازه برای یک سند | ۱ مگابایت (۱,۰۴۸,۵۷۶ بایت) |
| محدودیتها در نام فیلدها |
|
| حداکثر اندازه نام فیلد | ۱۵۰۰ بایت |
| محدودیتها در مسیرهای میدانی |
` ) شروع و پایان مییابد. برای مثال، foo.`x&y` به فیلد x&y که زیر فیلد foo قرار دارد اشاره دارد. برای ساخت نام فیلد با کاراکتر بک تیک، کاراکتر بک تیک را با کاراکتر بک اسلش ( \ ) از بین ببرید. برای راحتی، میتوانید با ارسال مسیر فیلد به عنوان یک شیء FieldPath از نام فیلدهای نقل قول شده اجتناب کنید ( برای مثال، به FieldPath جاوا اسکریپت مراجعه کنید ). |
| حداکثر اندازه یک مسیر میدانی | ۱۵۰۰ بایت |
| حداکثر اندازه یک مقدار فیلد | ۱ مگابایت - ۸۹ بایت (۱,۰۴۸,۴۸۷ بایت) |
| حداکثر عمق میدانها در یک نقشه یا آرایه | ۲۰ فیلدهای نقشه و آرایه یک سطح به عمق کلی یک شیء اضافه میکنند. برای مثال، شیء زیر در مجموع سه سطح عمق دارد: |
نوشتهها و تراکنشها
علاوه بر این محدودیتها، شما باید بهترین شیوهها برای طراحی متناسب با مقیاس را نیز بررسی کنید.
| حد | جزئیات |
|---|---|
| حداکثر اندازه درخواست API | ۱۰ مگابایت |
| محدودیت زمانی برای یک تراکنش | ۲۷۰ ثانیه، با زمان انقضای ۶۰ ثانیهای حالت آماده به کار |
حداکثر تعداد تبدیلهای فیلد که میتوانند روی یک سند واحد در یک عملیات Commit یا در یک تراکنش انجام شوند | ۵۰۰ |
شاخصها
محدودیتهای زیر برای شاخصهای تک فیلدی و شاخصهای مرکب اعمال میشود:
| حد | جزئیات |
|---|---|
| حداکثر تعداد شاخصهای مرکب برای یک پایگاه داده |
|
| حداکثر تعداد پیکربندیهای تک فیلدی برای یک پایگاه داده |
یک پیکربندی سطح فیلد میتواند شامل چندین پیکربندی برای یک فیلد باشد. برای مثال، یک معافیت نمایهسازی تک فیلدی و یک سیاست TTL در یک فیلد، به عنوان یک پیکربندی فیلد در محدودهی مجاز محاسبه میشوند. |
حداکثر تعداد ورودیهای فهرست برای هر سند | ۴۰،۰۰۰ تعداد ورودیهای فهرست، مجموع موارد زیر برای یک سند است:
برای دیدن اینکه چگونه Cloud Firestore یک سند و مجموعهای از شاخصها را به ورودیهای شاخص تبدیل میکند، به این مثال شمارش ورودی شاخص مراجعه کنید. |
| حداکثر تعداد فیلدها در یک فهرست مرکب | ۱۰۰ |
| حداکثر اندازه یک ورودی فهرست | ۷.۵ کیلوبایت برای دیدن نحوه محاسبه اندازه ورودی شاخص Cloud Firestore ، به اندازه ورودی شاخص مراجعه کنید. |
| حداکثر مجموع اندازههای ورودیهای فهرست یک سند | ۸ مگابایت حجم کل، مجموع موارد زیر برای یک سند است: |
| حداکثر اندازه یک مقدار فیلد اندیسگذاری شده | ۱۵۰۰ بایت مقادیر فیلدهای بالای ۱۵۰۰ بایت کوتاه میشوند. پرسوجوهایی که شامل مقادیر فیلد کوتاهشده هستند ممکن است نتایج متناقضی را برگردانند. |
زمان زنده ماندن (TTL)
| حد | جزئیات |
|---|---|
| حداکثر تعداد پیکربندیهای تک فیلدی برای یک پایگاه داده |
یک پیکربندی سطح فیلد میتواند شامل چندین پیکربندی برای یک فیلد باشد. برای مثال، یک معافیت نمایهسازی تک فیلدی و یک سیاست TTL در یک فیلد، به عنوان یک پیکربندی فیلد در محدودهی مجاز محاسبه میشوند. |
صادرات/واردات
محدودیتهای زیر برای عملیات واردات و صادرات مدیریتشده اعمال میشود:
| حد | جزئیات |
|---|---|
| حداکثر تعداد کل درخواستهای خروجی و ورودی برای یک پروژه مجاز در هر دقیقه | ۲۰ |
| حداکثر تعداد صادرات و واردات همزمان | ۵۰ |
| حداکثر تعداد فیلترهای شناسه مجموعه برای درخواستهای صادرات و واردات | ۱۰۰ |
قوانین امنیتی
| حد | جزئیات |
|---|---|
حداکثر تعداد فراخوانیهای exists() ، get() و getAfter() به ازای هر درخواست |
تجاوز از هر یک از این محدودیتها منجر به خطای عدم اجازه دسترسی میشود. برخی از فراخوانیهای دسترسی به سند ممکن است در حافظه پنهان ذخیره شوند و فراخوانیهای ذخیره شده در حافظه پنهان جزو محدودیتها محسوب نمیشوند. |
حداکثر عمق عبارت match تو در تو | ۱۰ |
حداکثر طول مسیر، در بخشهای مسیر، مجاز در مجموعهای از دستورات match تو در تو | ۱۰۰ |
حداکثر تعداد متغیرهای ثبت مسیر مجاز در مجموعهای از دستورات match تو در تو | ۲۰ |
| حداکثر عمق فراخوانی تابع | ۲۰ |
| حداکثر تعداد آرگومانهای تابع | ۷ |
حداکثر تعداد متغیرهای let برای هر تابع | ۱۰ |
| حداکثر تعداد فراخوانیهای تابع بازگشتی یا چرخهای | ۰ (مجاز نیست) |
| حداکثر تعداد عبارات ارزیابی شده در هر درخواست | ۱۰۰۰ |
| حداکثر اندازه یک مجموعه قوانین | مجموعه قوانین باید از دو محدودیت اندازه پیروی کنند:
|
مدیریت هزینهها
برای جلوگیری از هزینههای غیرمنتظره در صورتحساب خود، بودجهها و هشدارهای ماهانه تنظیم کنید.
بودجه ماهانه تعیین کنید
برای پیگیری هزینههای Cloud Firestore خود، یک بودجه ماهانه در کنسول Google Cloud ایجاد کنید. بودجهها میزان استفاده شما را محدود نمیکنند، اما میتوانید هشدارهایی را تنظیم کنید تا وقتی به هزینههای برنامهریزی شده خود برای ماه نزدیک میشوید یا از آنها فراتر میروید، به شما اطلاع دهند.
برای تنظیم بودجه، به بخش صورتحساب در کنسول Google Cloud بروید و برای حساب Cloud Billing خود بودجهای ایجاد کنید. میتوانید از تنظیمات پیشفرض هشدار استفاده کنید یا هشدارها را برای ارسال اعلانها با درصدهای مختلف از بودجه ماهانه خود تغییر دهید.
درباره تنظیم بودجه و هشدارهای بودجه بیشتر بدانید.