ব্যবহার এবং সীমা

Use this guide to understand Cloud Firestore limits, and see Cloud Firestore Pricing for a full, detailed explanation of Cloud Firestore costs, including things to watch out for.

আপনার ব্যবহার নিরীক্ষণ

আপনার Cloud Firestore ব্যবহার নিরীক্ষণ করতে, Firebase কনসোলে Cloud Firestore ব্যবহার ট্যাবটি খুলুন। বিভিন্ন সময়কালে আপনার ব্যবহার পরিমাপ করতে ড্যাশবোর্ড ব্যবহার করুন।

Detailed usage in the Google Cloud console

আপনি যখন একটি ফায়ারবেস প্রকল্প তৈরি করেন, তখন আপনি একটি Google Cloud প্রকল্পও তৈরি করেন। Google Cloud কনসোলে Cloud Firestore এপিআই কোটা এবং App Engine কোটা পৃষ্ঠাগুলি Cloud Firestore ব্যবহার এবং কোটার তথ্য ট্র্যাক করে।

ফ্রি কোটা

Cloud Firestore বিনামূল্যে কোটা অফার করে যা আপনাকে বিনা খরচে আপনার (default) ডাটাবেস দিয়ে শুরু করতে দেয়। The free quota amounts are listed below. আপনার যদি আরও কোটার প্রয়োজন হয়, তাহলে আপনাকে অবশ্যই আপনার Google Cloud প্রকল্পের জন্য বিলিং সক্ষম করতে হবে

Quotas are applied daily and reset around midnight Pacific time.

Only the (default) database qualifies for the free quota.

বিনামূল্যের স্তর কোটা
সংরক্ষিত তথ্য 1 জিবি
ডকুমেন্ট পড়ে প্রতিদিন 50,000
ডকুমেন্ট লেখেন প্রতিদিন 20,000
নথি মুছে ফেলা হয় প্রতিদিন 20,000
আউটবাউন্ড ডেটা স্থানান্তর প্রতি মাসে 10 GiB

নিম্নলিখিত অপারেশন এবং বৈশিষ্ট্য বিনামূল্যে ব্যবহার অন্তর্ভুক্ত নয়. এই বৈশিষ্ট্যগুলি ব্যবহার করার জন্য আপনাকে অবশ্যই বিলিং সক্ষম করতে হবে:

  • Usage of named (non-default) databases
  • TTL মুছে দেয়
  • পিআইটিআর ডেটা
  • ব্যাকআপ ডেটা
  • ক্রিয়াকলাপ পুনরুদ্ধার করুন

For more information about how these features are billed, see Storage pricing .

স্ট্যান্ডার্ড সীমা

The following tables show the limits that apply to Cloud Firestore . These are hard limits unless otherwise noted.

ডাটাবেস

সীমা বিস্তারিত
Maximum number of databases per project

100

আপনি এই সীমা বৃদ্ধির অনুরোধ করতে সহায়তার সাথে যোগাযোগ করতে পারেন।

Collections, documents, and fields

সীমা বিস্তারিত
Constraints on collection IDs
  • Must be valid UTF-8 characters
  • Must be no longer than 1,500 bytes
  • Cannot contain a forward slash ( / )
  • শুধুমাত্র একটি একক পিরিয়ড ( . ) বা দ্বিগুণ পিরিয়ড ( .. ) নিয়ে গঠিত হতে পারে না
  • Cannot match the regular expression __.*__
Maximum depth of subcollections 100
Constraints on document IDs
  • বৈধ UTF-8 অক্ষর হতে হবে
  • 1,500 বাইটের বেশি হতে হবে না
  • একটি ফরোয়ার্ড স্ল্যাশ থাকতে পারে না ( / )
  • শুধুমাত্র একটি একক পিরিয়ড ( . ) বা দ্বিগুণ পিরিয়ড ( .. ) নিয়ে গঠিত হতে পারে না
  • রেগুলার এক্সপ্রেশনের সাথে মেলে না __.*__
  • আপনি যদি ফায়ারস্টোর ডাটাবেসে ডেটাস্টোর সত্তাগুলি আমদানি করেন, তাহলে সংখ্যাসূচক সত্তা আইডিগুলিকে __id[0-9]+__ হিসাবে প্রকাশ করা হয়
একটি নথির নামের জন্য সর্বাধিক আকার 6 কিবি
একটি নথির জন্য সর্বোচ্চ আকার 1 MiB (1,048,576 বাইট)
ক্ষেত্রের নামের উপর সীমাবদ্ধতা Must be valid UTF-8 characters
Maximum size of a field name 1,500 বাইট
Constraints on field paths
  • একটি একক পিরিয়ড দিয়ে ক্ষেত্রের নাম আলাদা করতে হবে ( . )
  • সেগমেন্টের একটি ডট-ডিলিমিটেড ( . ) স্ট্রিং হিসাবে পাস করা যেতে পারে যেখানে প্রতিটি সেগমেন্ট হয় একটি সাধারণ ক্ষেত্রের নাম বা একটি উদ্ধৃত ক্ষেত্রের নাম (নীচে সংজ্ঞায়িত)।
একটি সাধারণ ক্ষেত্রের নাম হল এমন একটি যেখানে নিম্নলিখিতগুলি সত্য:
  • Contains only the characters az , AZ , 0-9 , and underscore ( _ )
  • 0-9 দিয়ে শুরু হয় না
একটি উদ্ধৃত ক্ষেত্রের নাম ব্যাকটিক অক্ষর ( ` ) দিয়ে শুরু এবং শেষ হয়। উদাহরণস্বরূপ, foo.`x&y` বলতে foo ফিল্ডের নিচে থাকা x&y ফিল্ডকে বোঝায়। ব্যাকটিক অক্ষর দিয়ে একটি ক্ষেত্রের নাম তৈরি করতে, ব্যাকটিক অক্ষরটি ব্যাকস্ল্যাশ অক্ষর ( \ ) দিয়ে এস্কেপ করুন। সুবিধার জন্য, আপনি একটি FieldPath অবজেক্ট হিসাবে ক্ষেত্রের পথটি পাস করে উদ্ধৃত ক্ষেত্রের নামগুলি এড়াতে পারেন ( উদাহরণস্বরূপ, JavaScript FieldPath দেখুন )।
Maximum size of a field path 1,500 বাইট
Maximum size of a field value 1 MiB - 89 bytes (1,048,487 bytes)
একটি মানচিত্র বা অ্যারের ক্ষেত্রের সর্বোচ্চ গভীরতা

20

মানচিত্র এবং অ্যারে ক্ষেত্রগুলি বস্তুর সামগ্রিক গভীরতায় একটি স্তর যুক্ত করে। For example, the following object has a total depth of three levels:


{
  nested_map: {         #depth 1
    nested_array: [     #depth 2
      {
        foo: "bar"      #depth 3
      }
    ]
  }
}
      

লেখেন এবং লেনদেন করেন

In addition to these limits, you should also see the best practices for designing for scale .

সীমা বিস্তারিত
সর্বোচ্চ API অনুরোধের আকার 10 MiB
একটি লেনদেনের জন্য সময়সীমা 270 সেকেন্ড, 60-সেকেন্ডের নিষ্ক্রিয় মেয়াদ শেষ হওয়ার সময় সহ

সূচক

The following limits apply to single-field indexes and composite indexes :

সীমা বিস্তারিত
একটি ডাটাবেসের জন্য সর্বাধিক সংখ্যক যৌগিক সূচক
একটি ডাটাবেসের জন্য একক-ক্ষেত্র কনফিগারেশনের সর্বাধিক সংখ্যা

একটি ক্ষেত্র স্তরের কনফিগারেশন একই ক্ষেত্রের জন্য একাধিক কনফিগারেশন ধারণ করতে পারে। উদাহরণস্বরূপ, একটি একক-ক্ষেত্র সূচীকরণ ছাড় এবং একই ক্ষেত্রে একটি TTL নীতি সীমার দিকে একটি ফিল্ড কনফিগারেশন হিসাবে গণনা করে।

প্রতিটি নথির জন্য সর্বাধিক সংখ্যক সূচক এন্ট্রি

40,000

সূচক এন্ট্রির সংখ্যা হল একটি নথির জন্য নিম্নলিখিতগুলির সমষ্টি:

  • The number of single-field index entries
  • The number of composite index entries

Cloud Firestore কীভাবে একটি নথি এবং সূচীগুলির একটি সেটকে সূচক এন্ট্রিতে পরিণত করে তা দেখতে, এই সূচক এন্ট্রি গণনার উদাহরণটি দেখুন।

একটি যৌগিক সূচকে সর্বাধিক সংখ্যক ক্ষেত্র 100
Maximum size of an index entry

7.5 KiB

Cloud Firestore কীভাবে সূচক এন্ট্রি আকার গণনা করে তা দেখতে, সূচক এন্ট্রি আকার দেখুন।

একটি ডকুমেন্টের ইনডেক্স এন্ট্রির মাপের সর্বোচ্চ যোগফল

8 MiB

মোট আকার হল একটি নথির জন্য নিম্নলিখিতগুলির সমষ্টি:

  • একটি নথির একক-ক্ষেত্রের সূচকের এন্ট্রির আকারের সমষ্টি৷
  • The sum of the size of a document's composite index entries
  • একটি ইন্ডেক্স করা ক্ষেত্রের মানের সর্বোচ্চ আকার

    1500 বাইট

    1500 বাইটের বেশি ক্ষেত্রের মানগুলি কাটা হয়েছে৷ ছেঁটে দেওয়া ক্ষেত্রের মান জড়িত প্রশ্নগুলি অসঙ্গত ফলাফল দিতে পারে।

    টাইম-টু-লাইভ (TTL)

    সীমা বিস্তারিত
    একটি ডাটাবেসের জন্য একক-ক্ষেত্র কনফিগারেশনের সর্বাধিক সংখ্যা

    একটি ক্ষেত্র স্তরের কনফিগারেশন একই ক্ষেত্রের জন্য একাধিক কনফিগারেশন ধারণ করতে পারে। উদাহরণস্বরূপ, একটি একক-ক্ষেত্র সূচীকরণ ছাড় এবং একই ক্ষেত্রে একটি TTL নীতি সীমার দিকে একটি ফিল্ড কনফিগারেশন হিসাবে গণনা করে।

    রপ্তানি/আমদানি

    নিম্নলিখিত সীমাগুলি পরিচালিত আমদানি ও রপ্তানি ক্রিয়াকলাপের ক্ষেত্রে প্রযোজ্য:

    সীমা বিস্তারিত
    প্রতি মিনিটে অনুমোদিত একটি প্রকল্পের জন্য রপ্তানি এবং আমদানি উভয় অনুরোধের সর্বাধিক মোট সংখ্যা 20
    একযোগে রপ্তানি ও আমদানির সর্বাধিক সংখ্যা 50
    রপ্তানি এবং আমদানি অনুরোধের জন্য সংগ্রহ আইডি ফিল্টারের সর্বাধিক সংখ্যা 100

    নিরাপত্তা নিয়ম

    সীমা বিস্তারিত
    প্রতি অনুরোধে সর্বাধিক সংখ্যক exists() , get() , এবং getAfter() কল
    • 10 একক-নথির অনুরোধ এবং ক্যোয়ারী অনুরোধের জন্য।
    • মাল্টি-ডকুমেন্ট রিড, লেনদেন এবং ব্যাচড রাইটের জন্য 20। The previous limit of 10 also applies to each operation.

      উদাহরণস্বরূপ, কল্পনা করুন যে আপনি 3টি লেখার ক্রিয়াকলাপ সহ একটি ব্যাচড লেখার অনুরোধ তৈরি করেছেন এবং আপনার সুরক্ষা নিয়ম প্রতিটি লেখাকে যাচাই করতে 2টি নথি অ্যাক্সেস কল ব্যবহার করে৷ In this case, each write uses 2 of its 10 access calls and the batched write request uses 6 of its 20 access calls.

    উভয় সীমা অতিক্রম করার ফলে একটি অনুমতি অস্বীকার ত্রুটি দেখা দেয়।

    Some document access calls may be cached, and cached calls do not count towards the limits.

    নেস্টেড match স্টেটমেন্টের সর্বোচ্চ গভীরতা 10
    সর্বাধিক পাথ দৈর্ঘ্য, পাথ বিভাগে, নেস্টেড match স্টেটমেন্টের একটি সেটের মধ্যে অনুমোদিত৷ 100
    নেস্টেড match স্টেটমেন্টের একটি সেটের মধ্যে সর্বাধিক সংখ্যক পাথ ক্যাপচার ভেরিয়েবল অনুমোদিত৷ 20
    সর্বাধিক ফাংশন কল গভীরতা 20
    Maximum number of function arguments 7
    Maximum number of let variable bindings per function 10
    রিকার্সিভ বা চক্রাকার ফাংশন কলের সর্বাধিক সংখ্যা 0 (অনুমতি নেই)
    প্রতি অনুরোধে মূল্যায়ন করা অভিব্যক্তির সর্বোচ্চ সংখ্যা 1,000
    Maximum size of a ruleset নিয়মগুলিকে অবশ্যই দুটি আকারের সীমা মেনে চলতে হবে:
    • Firebase কনসোল থেকে বা firebase deploy ব্যবহার করে CLI থেকে প্রকাশিত রুলসেট টেক্সট সোর্সের আকারের একটি 256 KB সীমা।
    • কম্পাইল করা রুলসেটের আকারের একটি 250 KB সীমা যার ফলস্বরূপ যখন Firebase উৎসটি প্রক্রিয়া করে এবং এটিকে ব্যাক-এন্ডে সক্রিয় করে।

    ব্যয় পরিচালনা করুন

    আপনার বিলে অপ্রত্যাশিত চার্জ এড়াতে, মাসিক বাজেট এবং সতর্কতা সেট করুন।

    একটি মাসিক বাজেট সেট করুন

    আপনার Cloud Firestore খরচ ট্র্যাক করতে, Google Cloud কনসোলে একটি মাসিক বাজেট তৈরি করুন৷ বাজেট আপনার ব্যবহারকে সীমিত করবে না, তবে আপনি যখন মাসের জন্য আপনার পরিকল্পিত খরচের কাছাকাছি আসছেন বা অতিক্রম করছেন তখন আপনাকে জানানোর জন্য আপনি সতর্কতা সেট করতে পারেন।

    একটি বাজেট সেট করতে, Google Cloud কনসোলের বিলিং বিভাগে যান এবং আপনার Cloud Billing অ্যাকাউন্টের জন্য একটি বাজেট তৈরি করুন৷ আপনি আপনার মাসিক বাজেটের বিভিন্ন শতাংশে বিজ্ঞপ্তি পাঠাতে ডিফল্ট সতর্কতা সেটিংস ব্যবহার করতে পারেন বা সতর্কতা পরিবর্তন করতে পারেন।

    বাজেট এবং বাজেট সতর্কতা সেট আপ সম্পর্কে আরও জানুন।