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

Cloud Firestore সীমাবদ্ধতাগুলো বুঝতে এই নির্দেশিকাটি ব্যবহার করুন, এবং Cloud Firestore খরচের পূর্ণাঙ্গ ও বিস্তারিত ব্যাখ্যার জন্য Cloud Firestore প্রাইসিং দেখুন, যেখানে সতর্কতামূলক বিষয়গুলোও অন্তর্ভুক্ত রয়েছে।

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

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

Google Cloud কনসোলে এর বিস্তারিত ব্যবহার

যখন আপনি একটি Firebase প্রজেক্ট তৈরি করেন, তখন আপনি একটি Google Cloud প্রজেক্টও তৈরি করেন। Google Cloud কনসোলের Cloud Firestore API Quotas এবং App Engine Quotas পেজগুলো Cloud Firestore ব্যবহার এবং কোটার তথ্য ট্র্যাক করে।

বিনামূল্যে কোটা

Cloud Firestore বিনামূল্যে কোটা প্রদান করে, যা আপনাকে কোনো খরচ ছাড়াই কাজ শুরু করতে দেয়। আপনার যদি আরও কোটার প্রয়োজন হয়, তবে আপনাকে আপনার Google Cloud প্রজেক্টের জন্য বিলিং চালু করতে হবে।

কোটা প্রতিদিন প্রয়োগ করা হয় এবং প্যাসিফিক সময় অনুযায়ী প্রায় মধ্যরাতে তা পুনরায় নির্ধারণ করা হয়।

নিম্নলিখিত সারণিতে বিনামূল্যে কোটার পরিমাণ সংক্ষেপে তুলে ধরা হলো:

ফ্রি টিয়ার কোটা
সংরক্ষিত ডেটা ১ জিবি
নথিতে লেখা আছে প্রতিদিন ৫০,০০০
নথি লেখে প্রতিদিন ২০,০০০
নথি মুছে ফেলা প্রতিদিন ২০,০০০
বহির্গামী ডেটা স্থানান্তর প্রতি মাসে ১০ জিবি

নিম্নলিখিত অপারেশন এবং ফিচারগুলো বিনামূল্যে ব্যবহার করা যায় না। এই ফিচারগুলো ব্যবহার করার জন্য আপনাকে বিলিং চালু করতে হবে:

  • TTL মুছে ফেলে
  • PITR ডেটা
  • ব্যাকআপ ডেটা
  • অপারেশন পুনরুদ্ধার করুন
  • ক্লোন অপারেশন

এই ফিচারগুলোর বিল কীভাবে করা হয় সে সম্পর্কে আরও তথ্যের জন্য, স্টোরেজ প্রাইসিং দেখুন।

সাধারণ সীমা

নিম্নলিখিত সারণিগুলিতে Cloud Firestore ক্ষেত্রে প্রযোজ্য সীমাগুলি দেখানো হয়েছে। অন্যথায় উল্লেখ না থাকলে, এগুলি অপরিবর্তনীয় সীমা।

ডেটাবেস

সীমা বিস্তারিত
প্রতি প্রকল্পে ডাটাবেসের সর্বোচ্চ সংখ্যা

১০০

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

প্রতি প্রকল্পে গ্রাহক-পরিচালিত এনক্রিপশন কী (CMEK) ডেটাবেসের সর্বোচ্চ সংখ্যা

ডিফল্টরূপে কোটা ০ থাকে, কারণ এই ফিচারটি একটি অ্যালাওলিস্টের আওতাভুক্ত। আপনি CMEK অ্যাক্সেস রিকোয়েস্ট ফর্মটি পূরণ করে কোটা বাড়ানোর জন্য অনুরোধ করতে পারেন।

সংগ্রহ, নথি এবং ক্ষেত্র

সীমা বিস্তারিত
সংগ্রহ আইডিগুলির উপর সীমাবদ্ধতা
  • অবশ্যই বৈধ UTF-8 অক্ষর হতে হবে
  • ১,৫০০ বাইটের বেশি হওয়া যাবে না
  • ফরওয়ার্ড স্ল্যাশ ( / ) থাকতে পারবে না।
  • শুধুমাত্র একটি পূর্ণচ্ছেদ ( . ) অথবা দুটি পূর্ণচ্ছেদ ( .. ) নিয়ে গঠিত হতে পারবে না।
  • __.*__ রেগুলার এক্সপ্রেশনটি মেলানো যাচ্ছে না।
উপ-সংগ্রহের সর্বোচ্চ গভীরতা ১০০
ডকুমেন্ট আইডিগুলির উপর সীমাবদ্ধতা
  • অবশ্যই বৈধ UTF-8 অক্ষর হতে হবে
  • ১,৫০০ বাইটের বেশি হওয়া যাবে না
  • ফরওয়ার্ড স্ল্যাশ ( / ) থাকতে পারবে না।
  • শুধুমাত্র একটি পূর্ণচ্ছেদ ( . ) অথবা দুটি পূর্ণচ্ছেদ ( .. ) নিয়ে গঠিত হতে পারবে না।
  • __.*__ রেগুলার এক্সপ্রেশনটি মেলানো যাচ্ছে না।
  • আপনি যদি ডেটাস্টোর এনটিটিগুলিকে ফায়ারস্টোর ডাটাবেসে ইম্পোর্ট করেন, তাহলে সংখ্যাসূচক এনটিটি আইডিগুলি __id[0-9]+__ হিসাবে প্রকাশিত হয়।
ডকুমেন্টের নামের জন্য সর্বোচ্চ আকার ৬ কিলোবাইট
একটি ডকুমেন্টের সর্বোচ্চ আকার ১ এমআইবি (১,০৪৮,৫৭৬ বাইট)
ফিল্ডের নামের উপর সীমাবদ্ধতা
  • অবশ্যই বৈধ UTF-8 অক্ষর হতে হবে
  • __.*__ রেগুলার এক্সপ্রেশনটি মেলানো যাচ্ছে না।
ফিল্ড নামের সর্বোচ্চ আকার ১,৫০০ বাইট
ক্ষেত্রের পথের উপর সীমাবদ্ধতা
  • ফিল্ডের নামগুলো অবশ্যই একটি ডট ( . ) দিয়ে আলাদা করতে হবে।
  • এটিকে ডট-ডিলিমিটেড ( . ) সেগমেন্টের একটি স্ট্রিং হিসাবে পাস করা যেতে পারে, যেখানে প্রতিটি সেগমেন্ট হয় একটি সাধারণ ফিল্ডের নাম অথবা একটি কোটেড ফিল্ডের নাম (যা নিচে সংজ্ঞায়িত করা হয়েছে)।
একটি সরল ফিল্ডের নাম হলো এমন একটি নাম, যেখানে নিম্নলিখিত সবগুলো শর্তই সত্য:
  • এতে শুধুমাত্র az , AZ , 0-9 এবং আন্ডারস্কোর ( _ ) অক্ষরগুলো রয়েছে।
  • 0-9 দিয়ে শুরু হয় না
উদ্ধৃত ফিল্ডের নাম ব্যাকটিক অক্ষর ( ` ) দিয়ে শুরু এবং শেষ হয়। উদাহরণস্বরূপ, foo.`x&y` বলতে foo ফিল্ডের অধীনে থাকা x&y ফিল্ডকে বোঝায়। ব্যাকটিক অক্ষর ব্যবহার করে ফিল্ডের নাম তৈরি করতে, ব্যাকস্ল্যাশ অক্ষর ( \ ) দিয়ে ব্যাকটিক অক্ষরটিকে এস্কেপ করুন। সুবিধার জন্য, আপনি ফিল্ড পাথটিকে একটি `FieldPath` অবজেক্ট হিসেবে পাস করে উদ্ধৃত ফিল্ডের নাম ব্যবহার করা এড়াতে পারেন ( উদাহরণস্বরূপ, `JavaScript FieldPath` দেখুন )।
ফিল্ড পাথের সর্বোচ্চ আকার ১,৫০০ বাইট
একটি ফিল্ড মানের সর্বোচ্চ আকার ১ এমআইবি - ৮৯ বাইট (১,০৪৮,৪৮৭ বাইট)
একটি মানচিত্র বা অ্যারেতে ক্ষেত্রের সর্বোচ্চ গভীরতা

২০

ম্যাপ এবং অ্যারে ফিল্ড কোনো অবজেক্টের সামগ্রিক গভীরতায় একটি স্তর যোগ করে। উদাহরণস্বরূপ, নিম্নলিখিত অবজেক্টটির মোট গভীরতা তিন স্তর:


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

লেখা এবং লেনদেন

এই সীমাবদ্ধতাগুলোর পাশাপাশি, বৃহৎ পরিসরে নকশা করার সর্বোত্তম পদ্ধতিগুলোও আপনার দেখে নেওয়া উচিত।

সীমা বিস্তারিত
সর্বোচ্চ এপিআই অনুরোধের আকার ১০ এমআইবি
একটি লেনদেনের জন্য সময়সীমা ২৭০ সেকেন্ড, যার মধ্যে ৬০ সেকেন্ডের নিষ্ক্রিয় মেয়াদ শেষ হওয়ার সময় রয়েছে।
একটি Commit অপারেশনে বা একটি ট্রানজ্যাকশনে একটিমাত্র ডকুমেন্টের উপর সর্বাধিক যতগুলো ফিল্ড ট্রান্সফরমেশন করা যায়। ৫০০

সূচক

একক-ক্ষেত্র সূচক এবং যৌগিক সূচকের ক্ষেত্রে নিম্নলিখিত সীমাগুলি প্রযোজ্য:

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

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

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

৪০,০০০

একটি ডকুমেন্টের জন্য সূচীভুক্তির সংখ্যা হলো নিম্নলিখিতগুলির যোগফল:

  • একক-ক্ষেত্র সূচক এন্ট্রির সংখ্যা
  • যৌগিক সূচক এন্ট্রির সংখ্যা

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

একটি যৌগিক সূচকে ক্ষেত্রের সর্বাধিক সংখ্যা ১০০
সূচীভুক্তির সর্বোচ্চ আকার

৭.৫ কিলোবাইট

Cloud Firestore কীভাবে ইনডেক্স এন্ট্রি সাইজ গণনা করে তা দেখতে, ইনডেক্স এন্ট্রি সাইজ দেখুন।

একটি ডকুমেন্টের সূচীভুক্ত ভুক্তিগুলোর আকারের সর্বোচ্চ যোগফল

৮ এমআইবি

একটি ডকুমেন্টের মোট আকার হলো নিম্নলিখিত বিষয়গুলোর যোগফল:

  • একটি ডকুমেন্টের একক-ক্ষেত্র সূচক এন্ট্রিগুলির আকারের সমষ্টি
  • একটি ডকুমেন্টের যৌগিক সূচীভুক্ত ভুক্তিগুলোর আকারের সমষ্টি
  • একটি ইনডেক্সড ফিল্ড মানের সর্বোচ্চ আকার

    ১৫০০ বাইট

    ১৫০০ বাইটের বেশি দৈর্ঘ্যের ফিল্ড ভ্যালুগুলো সংক্ষিপ্ত করা হয়। সংক্ষিপ্ত ফিল্ড ভ্যালু ব্যবহার করে করা কোয়েরিগুলো অসামঞ্জস্যপূর্ণ ফলাফল দিতে পারে।

    বেঁচে থাকার সময় (TTL)

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

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

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

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

    সীমা বিস্তারিত
    একটি প্রকল্পের জন্য প্রতি মিনিটে অনুমোদিত রপ্তানি এবং আমদানি অনুরোধের সর্বোচ্চ মোট সংখ্যা। ২০
    একযোগে সর্বাধিক সংখ্যক রপ্তানি এবং আমদানি ৫০
    রপ্তানি এবং আমদানি অনুরোধের জন্য সর্বাধিক সংখ্যক কালেকশন আইডি ফিল্টার ১০০

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

    সীমা বিস্তারিত
    প্রতি অনুরোধে exists() , get() , এবং getAfter() কলের সর্বোচ্চ সংখ্যা
    • একক-ডকুমেন্ট অনুরোধ এবং কোয়েরি অনুরোধের জন্য ১০।
    • একাধিক ডকুমেন্ট রিড, ট্রানজ্যাকশন এবং ব্যাচড রাইটের জন্য ২০। পূর্ববর্তী ১০-এর সীমাটি প্রতিটি অপারেশনের ক্ষেত্রেও প্রযোজ্য।

      উদাহরণস্বরূপ, ধরুন আপনি ৩টি রাইট অপারেশন সহ একটি ব্যাচড রাইট রিকোয়েস্ট তৈরি করেছেন এবং আপনার সিকিউরিটি রুলগুলো প্রতিটি রাইট ভ্যালিডেট করতে ২টি ডকুমেন্ট অ্যাক্সেস কল ব্যবহার করে। এই ক্ষেত্রে, প্রতিটি রাইট তার ১০টি অ্যাক্সেস কলের মধ্যে ২টি ব্যবহার করে এবং ব্যাচড রাইট রিকোয়েস্টটি তার ২০টি অ্যাক্সেস কলের মধ্যে ৬টি ব্যবহার করে।

    যেকোনো একটি সীমা অতিক্রম করলে 'অনুমতি নেই' ত্রুটি দেখা দেয়।

    কিছু ডকুমেন্ট অ্যাক্সেস কল ক্যাশ করা হতে পারে, এবং ক্যাশ করা কলগুলো সীমার মধ্যে গণনা করা হয় না।

    নেস্টেড match স্টেটমেন্টের সর্বোচ্চ গভীরতা ১০
    নেস্টেড match স্টেটমেন্টের একটি সেটের মধ্যে অনুমোদিত সর্বোচ্চ পাথ দৈর্ঘ্য, যা পাথ সেগমেন্ট আকারে থাকে। ১০০
    নেস্টেড match স্টেটমেন্টের একটি সেটের মধ্যে অনুমোদিত সর্বাধিক সংখ্যক পাথ ক্যাপচার ভেরিয়েবল। ২০
    ফাংশন কলের সর্বোচ্চ গভীরতা ২০
    ফাংশন আর্গুমেন্টের সর্বোচ্চ সংখ্যা
    প্রতি ফাংশনে let ভেরিয়েবল বাইন্ডিংয়ের সর্বোচ্চ সংখ্যা ১০
    পুনরাবৃত্তিমূলক বা চক্রাকার ফাংশন কলের সর্বোচ্চ সংখ্যা ০ (অনুমতি নেই)
    প্রতি অনুরোধে মূল্যায়ন করা এক্সপ্রেশনের সর্বোচ্চ সংখ্যা ১,০০০
    একটি নিয়মাবলীর সর্বোচ্চ আকার নিয়মাবলীকে অবশ্যই দুটি আকারের সীমা মেনে চলতে হবে:
    • Firebase কনসোল থেকে অথবা firebase deploy ব্যবহার করে CLI থেকে প্রকাশিত রুলসেট টেক্সট সোর্সের আকারের উপর ২৫৬ KB-এর একটি সীমা রয়েছে।
    • ফায়ারবেস যখন সোর্স কোড প্রসেস করে এবং ব্যাক-এন্ডে সক্রিয় করে, তখন যে কম্পাইল করা রুলসেট তৈরি হয় তার আকারের উপর ২৫০ কেবি-র একটি সীমা থাকে।

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

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

    মাসিক বাজেট নির্ধারণ করুন

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

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

    বাজেট ও বাজেট অ্যালার্ট সেট আপ করার বিষয়ে আরও জানুন।