Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

استفاده و محدودیت ها

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

از این راهنما برای درک محدودیت‌های Cloud Firestore استفاده کنید، و برای توضیح کامل و دقیق هزینه‌های Cloud Firestore، از جمله مواردی که باید مراقب آنها باشید، قیمت‌گذاری Cloud Firestore را ببینید.

استفاده خود را نظارت کنید

برای نظارت بر استفاده از Cloud Firestore، برگه Cloud Firestore Usage را در کنسول Firebase باز کنید. از داشبورد برای سنجش میزان استفاده خود در دوره های زمانی مختلف استفاده کنید.

استفاده دقیق در Google Cloud Console

هنگامی که یک پروژه Firebase ایجاد می کنید، یک پروژه Google Cloud نیز ایجاد می کنید. صفحات Cloud Firestore API Quotas و App Engine Quotas در Google Cloud Console اطلاعات استفاده و سهمیه Cloud Firestore را دنبال می‌کنند.

سهمیه رایگان

Cloud Firestore سهمیه رایگانی را ارائه می دهد که به شما امکان می دهد بدون هزینه شروع کنید. مقادیر سهمیه رایگان در زیر ذکر شده است. اگر به سهمیه بیشتری نیاز دارید، باید صورتحساب پروژه Cloud Platform خود را فعال کنید .

سهمیه ها روزانه اعمال می شوند و در حدود نیمه شب به وقت اقیانوس آرام بازنشانی می شوند.

ردیف آزاد سهمیه، سهم
اطلاعات ذخیره شده 1 گیگابایت
سند خوانده می شود 50000 در روز
سند می نویسد 20000 در روز
سند حذف می شود 20000 در روز
خروج شبکه 10 گیگابایت در ماه

محدودیت های استاندارد

جداول زیر محدودیت هایی را نشان می دهد که برای Cloud Firestore اعمال می شود. اینها محدودیت‌های سختی هستند، مگر اینکه طور دیگری ذکر شده باشد.

مجموعه ها، اسناد و زمینه ها

حد جزئیات
محدودیت در شناسه های مجموعه
  • باید نویسه های UTF-8 معتبر باشد
  • نباید بیشتر از 1500 بایت باشد
  • نمی تواند حاوی اسلش رو به جلو ( / ) باشد
  • نمی تواند صرفاً از یک دوره ( . ) یا دو دوره ( .. ) تشکیل شود.
  • نمی تواند با عبارت منظم __.*__ مطابقت داشته باشد
حداکثر عمق زیر مجموعه ها 100
محدودیت در شناسه اسناد
  • باید نویسه های UTF-8 معتبر باشد
  • نباید بیشتر از 1500 بایت باشد
  • نمی تواند حاوی اسلش رو به جلو ( / ) باشد
  • نمی تواند صرفاً از یک دوره ( . ) یا دو دوره ( .. ) تشکیل شود.
  • نمی تواند با عبارت منظم __.*__ مطابقت داشته باشد
  • اگر موجودیت‌های Datastore را به پایگاه داده Firestore وارد کنید، شناسه‌های موجودیت عددی به صورت __id[0-9]+__ داده می‌شوند.
حداکثر اندازه برای نام سند 6 کیلو بایت
حداکثر اندازه برای یک سند 1 مگابایت (1,048,576 بایت)
محدودیت در نام فیلدها باید نویسه های UTF-8 معتبر باشد
حداکثر اندازه نام یک فیلد 1500 بایت
محدودیت در مسیرهای میدانی
  • باید نام فیلدها را با یک نقطه جدا کرد ( . )
  • زمانی که همه نام فیلدها در مسیر ساده هستند، ممکن است به عنوان یک رشته ارسال شود، در غیر این صورت باید به عنوان یک شی FieldPath ارسال شود ( مثلاً جاوا اسکریپت FieldPath )
یک نام فیلد ساده، نامی است که در آن همه موارد زیر درست است:
  • فقط شامل نویسه‌های az ، AZ ، 0-9 و زیرخط ( _ ) است.
  • با 0-9 شروع نمی شود
حداکثر اندازه یک مسیر میدان 1500 بایت
حداکثر اندازه یک مقدار فیلد 1 مگابایت - 89 بایت (1,048,487 بایت)
حداکثر عمق فیلدها در یک نقشه یا آرایه 20

می نویسد و معامله می کند

علاوه بر این محدودیت‌ها، باید بهترین شیوه‌های طراحی برای مقیاس را نیز مشاهده کنید.

حد جزئیات
حداکثر اندازه درخواست API 10 مگابایت
حداکثر تعداد نوشتن هایی که می توان به یک عملیات Commit منتقل کرد یا در یک تراکنش انجام داد 500
حداکثر تعداد تبدیل های فیلد که می توان روی یک سند در یک عملیات Commit یا در یک تراکنش انجام داد 500
محدودیت زمانی برای معامله 270 ثانیه، با زمان انقضا 60 ثانیه بیکار

محدودیت های نرم

Cloud Firestore شما را از فراتر رفتن از آستانه های زیر باز نمی دارد، اما انجام این کار بر عملکرد تأثیر می گذارد.

حد نرم جزئیات
حداکثر سرعت نوشتن به مجموعه‌ای که در آن اسناد حاوی مقادیر متوالی در یک فیلد نمایه‌شده هستند 500 در ثانیه

شاخص ها

محدودیت های زیر برای نمایه های تک فیلدی و نمایه های ترکیبی اعمال می شود:

حد جزئیات
حداکثر تعداد نمایه های ترکیبی برای یک پایگاه داده

200

برای درخواست افزایش تا این حد می توانید با پشتیبانی تماس بگیرید .

حداکثر تعداد تنظیمات تک فیلد برای یک پایگاه داده

200

در مجموع 200 پیکربندی سطح میدان مجاز است. یک پیکربندی فیلد می‌تواند شامل چندین پیکربندی برای یک فیلد باشد. به عنوان مثال، یک معافیت نمایه سازی تک فیلد و یک خط مشی TTL در همان فیلد به عنوان یک پیکربندی فیلد برای حد مجاز محسوب می شود.

حداکثر تعداد ورودی های فهرست برای هر سند

40000

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

  • تعداد ورودی های فهرست تک فیلدی
  • تعداد ورودی های شاخص ترکیبی

برای اینکه ببینید چگونه Cloud Firestore یک سند و مجموعه‌ای از نمایه‌ها را به ورودی‌های فهرست تبدیل می‌کند، به این مثال تعداد ورودی فهرست مراجعه کنید.

حداکثر تعداد فیلدها در یک نمایه ترکیبی 100
حداکثر اندازه یک ورودی شاخص

7.5 کیلو بایت

برای مشاهده نحوه محاسبه اندازه ورودی فهرست توسط Cloud Firestore، به اندازه ورودی فهرست مراجعه کنید.

حداکثر مجموع اندازه های ورودی های فهرست یک سند

8 مگابایت

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

  • مجموع اندازه ورودی های فهرست تک فیلدی یک سند
  • مجموع اندازه ورودی های فهرست ترکیبی یک سند
  • حداکثر اندازه یک مقدار فیلد نمایه شده

    1500 بایت

    مقادیر فیلد بیش از 1500 بایت کوتاه شده است. پرس و جوهایی که شامل مقادیر فیلد کوتاه شده هستند ممکن است نتایج متناقضی را ارائه دهند.

    زمان برای زندگی (TTL)

    حد جزئیات
    حداکثر تعداد تنظیمات تک فیلد برای یک پایگاه داده

    200

    در مجموع 200 پیکربندی سطح میدان مجاز است. یک پیکربندی فیلد می‌تواند شامل چندین پیکربندی برای یک فیلد باشد. به عنوان مثال، یک معافیت نمایه سازی تک فیلد و یک خط مشی TTL در همان فیلد به عنوان یک پیکربندی فیلد برای حد مجاز محسوب می شود.

    صادرات و واردات

    محدودیت های زیر برای عملیات واردات و صادرات مدیریت شده اعمال می شود:

    حد جزئیات
    حداکثر تعداد کل درخواست‌های صادرات و واردات برای یک پروژه در هر دقیقه مجاز است 20
    حداکثر تعداد صادرات و واردات همزمان 50
    حداکثر تعداد فیلترهای شناسه مجموعه برای درخواست‌های صادرات و واردات 100

    قوانین امنیتی

    حد جزئیات
    حداکثر تعداد فراخوانی exists() ، get() و getAfter() در هر درخواست
    • 10 برای درخواست های تک سند و درخواست های پرس و جو.
    • 20 برای خواندن چند سند، تراکنش ها و نوشتن دسته ای. محدودیت قبلی 10 نیز برای هر عملیات اعمال می شود.

      برای مثال، تصور کنید یک درخواست نوشتن دسته‌ای با 3 عملیات نوشتن ایجاد می‌کنید و قوانین امنیتی شما از 2 تماس دسترسی به سند برای تأیید اعتبار هر نوشتن استفاده می‌کنند. در این حالت، هر نوشتن از 2 تماس از 10 تماس دسترسی خود استفاده می کند و درخواست نوشتن دسته ای از 6 تماس از 20 تماس دسترسی خود استفاده می کند.

    تجاوز از هر یک از محدودیت ها منجر به خطای رد مجوز می شود.

    برخی از تماس‌های دسترسی به اسناد ممکن است در حافظه پنهان باشند، و تماس‌های ذخیره‌شده در حافظه پنهان در محدودیت‌ها حساب نمی‌شوند.

    حداکثر عمق بیانیه match تو در تو 10
    حداکثر طول مسیر، در بخش‌های مسیر، در مجموعه‌ای از عبارات match تودرتو مجاز است 100
    حداکثر تعداد متغیرهای ثبت مسیر در مجموعه ای از عبارات match تودرتو مجاز است 20
    حداکثر عمق فراخوانی تابع 20
    حداکثر تعداد آرگومان های تابع 7
    حداکثر تعداد اتصالات متغیر let در هر تابع 10
    حداکثر تعداد فراخوانی های تابع بازگشتی یا چرخه ای 0 (مجاز نیست)
    حداکثر تعداد عبارات ارزیابی شده در هر درخواست 1000
    حداکثر اندازه یک مجموعه قوانین مجموعه قوانین باید از دو محدودیت اندازه تبعیت کند:
    • محدودیت 256 کیلوبایتی در اندازه منبع متن قوانین که از کنسول Firebase یا از CLI با استفاده از firebase deploy منتشر شده است.
    • یک محدودیت 250 کیلوبایتی در اندازه مجموعه قوانین کامپایل شده که زمانی حاصل می شود که Firebase منبع را پردازش کرده و آن را در back-end فعال می کند.

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

    برای کمک به جلوگیری از هزینه های غیرمنتظره در صورتحساب خود، بودجه و هشدارهای ماهانه تنظیم کنید.

    یک بودجه ماهانه تعیین کنید

    برای ردیابی هزینه های Cloud Firestore خود، یک بودجه ماهانه در Google Cloud Console ایجاد کنید. بودجه استفاده شما را محدود نمی‌کند، اما می‌توانید هشدارهایی را تنظیم کنید تا زمانی که به هزینه‌های برنامه‌ریزی شده خود برای ماه نزدیک می‌شوید یا از آن فراتر می‌روید، به شما اطلاع می‌دهند.

    برای تنظیم بودجه، به بخش Billing در Google Cloud Console بروید و برای حساب Cloud Billing خود بودجه ایجاد کنید. می‌توانید از تنظیمات پیش‌فرض هشدار استفاده کنید یا هشدارها را برای ارسال اعلان‌ها در درصدهای مختلف بودجه ماهانه خود تغییر دهید.

    درباره تنظیم بودجه و هشدارهای بودجه بیشتر بیاموزید.

    یک محدودیت هزینه روزانه تعیین کنید

    برای محدود کردن استفاده از Cloud Firestore، از طریق App Engine یک محدودیت هزینه روزانه تعیین کنید. App Engine به شما این امکان را می دهد که محدودیت هزینه روزانه را برای منابع مرتبط با App Engine، از جمله Cloud Firestore تعیین کنید. محدودیت App Engine برای سایر محصولات Firebase اعمال نمی شود.