ব্যবহার ও সীমা

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

আপনার ব্যবহার মনিটর করা

Firebase কনসোল থেকে আপনার Cloud Firestore ব্যবহার মনিটর করতে, ডেটাবেস ও স্টোরেজ > Firestore > ব্যবহার ট্যাব বিকল্পে যান। বিভিন্ন সময়সীমা জুড়ে আপনার ব্যবহার পরিমাপ করতে এই ড্যাশবোর্ড ব্যবহার করুন।

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

আপনি Firebase প্রোজেক্ট তৈরি করার সময়, একটি Google Cloud প্রোজেক্টও তৈরি করছেন। Google Cloud কনসোলে Cloud Firestore API কোটা এবং App Engine কোটা পৃষ্ঠা Cloud Firestore ব্যবহার এবং কোটা সম্পর্কিত তথ্য ট্র্যাক করে।

ফ্রি কোটা

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

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

নিচের সারণীতে ফ্রি কোটার পরিমাণ সংক্ষেপে দেওয়া হল:

ফ্রি টিয়ার কোটা
স্টোর করা ডেটা ১ GiB
ডকুমেন্ট পড়া হচ্ছে প্রতিদিন ৫০,০০০
ডকুমেন্ট লেখা প্রতিদিন ২০,০০০
ডকুমেন্ট মুছে ফেলা প্রতিদিন ২০,০০০
আউটবাউন্ড ডেটা ট্রান্সফার প্রতি মাসে ১০ GiB

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

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

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

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

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

ডেটাবেস

সীমা বিবরণ
প্রোজেক্ট পিছু সর্বাধিক ডেটাবেসের সংখ্যা

১০০

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

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

0

ডিফল্ট হিসেবে কোটা হল ০ কারণ এই ফিচারটি একটি অনুমোদিত তালিকার পিছনে রয়েছে। আপনি CMEK অ্যাক্সেসের অনুরোধ ফর্ম পূরণ করে কোটা বাড়ানোর অনুরোধ করতে পারেন।

কালেকশন, ডকুমেন্ট ও ফিল্ড

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

20

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


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

রাইট ও ট্রানজ্যাকশন

এইসব সীমাবদ্ধতা ছাড়াও, আপনাকে স্কেলের জন্য ডিজাইন করার পেশাদার পদ্ধতি দেখতে হবে।

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

ইন্ডেক্স

সিঙ্গল-ফিল্ড ইন্ডেক্স ও কম্পোজিট ইন্ডেক্স-এর ক্ষেত্রে নিম্নলিখিত সীমা প্রযোজ্য:

সীমা বিবরণ
একটি ডেটাবেসের জন্য কম্পোজিট ইনডেক্সের সর্বাধিক সংখ্যা
একটি ডেটাবেসের জন্য সর্বাধিক সংখ্যক সিঙ্গল-ফিল্ড কনফিগারেশন

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

প্রতিটি ডকুমেন্টের জন্য সর্বাধিক সংখ্যক ইন্ডেক্স এন্ট্রি

৪০,০০০

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

  • সিঙ্গেল-ফিল্ড ইনডেক্স এন্ট্রির সংখ্যা
  • কম্পোজিট ইন্ডেক্স এন্ট্রির সংখ্যা

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

কম্পোজিট ইন্ডেক্সে ফিল্ডের সর্বাধিক সংখ্যা ১০০
ইনডেক্স এন্ট্রির সর্বাধিক সাইজ

৭.৫ কিবিবাইট

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

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

৮ MiB

মোট সাইজ হল কোনও ডকুমেন্টের জন্য নিম্নলিখিতগুলির যোগফল:

  • ডকুমেন্টের সিঙ্গল-ফিল্ড ইন্ডেক্স এন্ট্রির সাইজের যোগফল
  • ডকুমেন্টের কম্পোজিট ইন্ডেক্স এন্ট্রির সাইজের যোগফল
  • ইনডেক্স করা ফিল্ডের ভ্যালুর সর্বাধিক সাইজ

    ১৫০০ বাইট

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

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

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

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

    এক্সপোর্ট/ইমপোর্ট

    ম্যানেজ করা ইমপোর্ট ও এক্সপোর্ট অপারেশন-এর ক্ষেত্রে নিম্নলিখিত সীমা প্রযোজ্য:

    সীমা বিবরণ
    একটি প্রোজেক্টের জন্য প্রতি মিনিটে এক্সপোর্ট ও ইমপোর্ট সংক্রান্ত অনুরোধের সর্বাধিক মোট সংখ্যা 20
    একসাথে সর্বাধিক কতগুলি এক্সপোর্ট ও ইমপোর্ট করা যাবে 50
    এক্সপোর্ট ও ইমপোর্ট অনুরোধের জন্য কালেকশন আইডি ফিল্টারের সর্বাধিক সংখ্যা ১০০

    নিরাপত্তা সংক্রান্ত নিয়ম

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

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

    কোনও একটি সীমা অতিক্রম করলে, অনুমতি প্রত্যাখ্যান করা হয়েছে বলে একটি সমস্যা দেখা যায়।

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

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

    খরচ ম্যানেজ করা

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

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

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

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

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