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

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

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

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

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

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

ফ্রি কোটা

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

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

শুধুমাত্র (default) ডাটাবেস বিনামূল্যে কোটার জন্য যোগ্যতা অর্জন করে।

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

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

  • নামযুক্ত (নন-ডিফল্ট) ডাটাবেসের ব্যবহার
  • TTL মুছে দেয়
  • পিআইটিআর ডেটা
  • ব্যাকআপ ডেটা
  • ক্রিয়াকলাপ পুনরুদ্ধার করুন

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

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

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

ডাটাবেস

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

100

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

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

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

20

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


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

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

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

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

সূচক

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

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

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

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

40,000

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

  • একক-ক্ষেত্র সূচক এন্ট্রির সংখ্যা
  • কম্পোজিট ইনডেক্স এন্ট্রির সংখ্যা

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

একটি যৌগিক সূচকে সর্বাধিক সংখ্যক ক্ষেত্র 100
একটি সূচক এন্ট্রির সর্বোচ্চ আকার

7.5 KiB

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

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

8 MiB

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

  • একটি নথির একক-ক্ষেত্রের সূচকের এন্ট্রির আকারের সমষ্টি৷
  • একটি নথির কম্পোজিট ইনডেক্স এন্ট্রির আকারের সমষ্টি৷
  • একটি ইন্ডেক্স করা ক্ষেত্রের মানের সর্বোচ্চ আকার

    1500 বাইট

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

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

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

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

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

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

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

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

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

      উদাহরণস্বরূপ, কল্পনা করুন যে আপনি 3টি লেখার ক্রিয়াকলাপ সহ একটি ব্যাচড লেখার অনুরোধ তৈরি করেছেন এবং আপনার সুরক্ষা নিয়ম প্রতিটি লেখাকে যাচাই করতে 2টি নথি অ্যাক্সেস কল ব্যবহার করে৷ এই ক্ষেত্রে, প্রতিটি লেখা তার 10টি অ্যাক্সেস কলের মধ্যে 2টি ব্যবহার করে এবং ব্যাচড লেখার অনুরোধটি তার 20টি অ্যাক্সেস কলের মধ্যে 6টি ব্যবহার করে।

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

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

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

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

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

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

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

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

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