এই পৃষ্ঠায় কিছু সাধারণ পরিস্থিতিতে কীভাবে বিলিং ইউনিট গণনা করা হয় তার উদাহরণ দেওয়া আছে। মনে রাখবেন যে কোয়েরি প্ল্যান, ডেটার আকার এবং উপলভ্য ইন্ডেক্সের মতো বিষয়ের উপর ভিত্তি করে প্রসেস করা ডেটার ক্ষেত্রে প্রতিটি কোয়েরি আলাদা হতে পারে।
আপনার নির্দিষ্ট কোয়েরির খরচ ও পারফর্ম্যান্স আরও ভালোভাবে বুঝতে আমরা কোয়েরি ব্যাখ্যা ফিচার ব্যবহার করার সাজেশন দিই।
অপারেশন পড়ুন
বেশিরভাগ রিড অপারেশনে নির্দিষ্ট কোনও ডকুমেন্টের পয়েন্ট রিড পারফর্ম করা হয় অথবা কোনও শনাক্তকারীর উপর ভিত্তি করে ডেটার রেঞ্জ স্ক্যান করা হয়। রিড অপারেশন রিড ইউনিট ব্যবহার করে। নিচের উদাহরণগুলি দেখুন।
সম্পূর্ণ টেক্সট সার্চ
সম্পূর্ণ টেক্সট সার্চ কোয়েরির জন্য চার্জ, টেক্সট ইনডেক্সে সার্চ করার খরচ এবং ডকুমেন্ট ফিরিয়ে আনার খরচের মধ্যে পার্থক্য করা হয়। টেক্সট ইনডেক্সে সার্চ করার খরচ কোয়েরির জটিলতা এবং ফলাফল খুঁজতে ইনডেক্সে স্ক্যান করা ডেটার পরিমাণের উপর নির্ভর করে। এই খরচকে প্রভাবিত করে এমন কারণগুলির মধ্যে রয়েছে সার্চ করা শব্দের সংখ্যা এবং প্রকৃতি (যেমন শব্দ, বাক্যাংশ), প্রাসঙ্গিকতা স্কোরিং প্রয়োগ করা হয়েছে কিনা এবং পরীক্ষা করা প্রয়োজন এমন ইন্ডেক্স এন্ট্রির সংখ্যা। প্রাসঙ্গিক ডকুমেন্ট ফিরিয়ে আনার খরচ, সার্চের ধাপ সম্পূর্ণ হওয়ার পরে ফেচ করা ডকুমেন্টের সংখ্যা ও সাইজের উপর নির্ভর করে।
নিচের সারণীতে একটি প্ল্যান্ট নার্সারির জন্য একটি ই-কমার্স প্রোডাক্ট ক্যাটালগের জন্য সম্পূর্ণ-টেক্সট সার্চ কোয়েরি চালানোর সাথে সম্পর্কিত চার্জগুলি বর্ণনা করা হয়েছে। এই উদাহরণে ধরে নেওয়া হয়েছে যে একটি কালেকশনে ২০০,০০০টি প্রোডাক্টের তালিকা আছে, প্রতিটি প্রোডাক্টের তালিকা সংক্রান্ত ডকুমেন্ট ২KiB এবং সংশ্লিষ্ট টেক্সট সার্চ ইন্ডেক্সের সাইজ প্রায় ১০০MiB।
| ক্যোয়ারী | কোডের উদাহরণ | প্রতিটি কোয়েরিতে আনুমানিক কত রিড ইউনিট ব্যবহার করা হয়েছে | আনুমানিক খরচ (অঞ্চল: মার্কিন ডলারে us-central1) |
|---|---|---|---|
| একটি বিরল "ড্রাই ওয়াটার" স্ট্যাক ফ্ল্যাট ট্রে প্রোডাক্ট সার্চ করুন, যার ফলে ৩টি ডকুমেন্ট পাওয়া যাবে। | |
মোট ১০টি ইউনিট পড়া হয়েছে সম্পূর্ণ টেক্সট সার্চের জন্য ৭টি ইউনিট এবং ফেরত আসা ডকুমেন্টের জন্য ৩টি অতিরিক্ত ইউনিটের উপর ভিত্তি করে। |
প্রতি মিলিয়ন কোয়েরির জন্য $০.৫০ |
| সব ইনডোর লেবু জাতীয় গাছের জন্য সার্চ করুন, যার ফলে ৩৬টি ডকুমেন্ট পাওয়া যাবে। | |
মোট ৪২টি রিড ইউনিট সম্পূর্ণ টেক্সট সার্চের জন্য ৬ ইউনিট এবং ফেরত পাওয়া ডকুমেন্টের জন্য ৩৬ অতিরিক্ত ইউনিটের উপর ভিত্তি করে। |
প্রতি মিলিয়ন কোয়েরির জন্য $২.১০ |
| ব্যালকনি প্ল্যান্টার সার্চ করুন যেখানে অনেক প্রোডাক্ট ম্যাচ করে। প্রাসঙ্গিকতা অনুযায়ী ফলাফল সাজান এবং সেরা ৫০টি সার্চ ফলাফলের মধ্যে সীমাবদ্ধ রাখুন। | |
মোট ৭৫টি রিড ইউনিট সম্পূর্ণ টেক্সট সার্চের জন্য ২৫টি ইউনিট এবং ফেরত পাওয়া ডকুমেন্টের জন্য অতিরিক্ত ৫০টি ইউনিটের উপর ভিত্তি করে। |
প্রতি মিলিয়ন কোয়েরির জন্য $৩.৭৫ |
বিভিন্ন কোয়েরি প্যাটার্ন কীভাবে খরচকে প্রভাবিত করে তা এই উদাহরণগুলি থেকে বোঝা যায়:
- "ড্রাই ওয়াটার" কোয়েরিতে একটি বাক্যাংশ (
"dry water") এবং অতিরিক্ত শব্দ রয়েছে। ফ্রেজ সার্চ আরও জটিল কারণ কোয়েরি ইঞ্জিনকে টোকেন প্রক্সিমিটি ও অর্ডার চেক করতে হয়, যা সার্চ ফেজের জন্য ৭টি রিড ইউনিটে অবদান রাখে। খুব কম ডকুমেন্ট ম্যাচ করে বলে, ডকুমেন্ট রিট্রিভ করার খরচ কম। - "indoor" "citrus" "tree" কোয়েরি তিনটি আলাদা শব্দ সার্চ করে। যদিও এটি প্রতিটি শব্দে ফ্রেজ সার্চের চেয়ে কিছুটা কম জটিল, তবুও এটিতে একাধিক টোকেন খুঁজতে হয়। "ড্রাই ওয়াটার" উদাহরণের তুলনায় এটির সার্চ ইন্ডেক্স স্ক্যান করার খরচ কিছুটা কম, ৬টি রিড ইউনিট, কিন্তু ৩৬টি ডকুমেন্ট ফেরত দেওয়া হয়েছে, যার ফলে মোট খরচ বেড়েছে।
- ব্যালকনি প্ল্যান্টার কোয়েরি-এর সম্পূর্ণ টেক্সট সার্চের খরচ সবচেয়ে বেশি, যা হল ২৫ ইউনিট।
এটি উল্লেখযোগ্য মার্জিন। এটি মূলত এই কারণে হয় যে, এটি প্রাসঙ্গিকতা (
.sort({score: {$meta: "textScore"}})) অনুযায়ী ফলাফল সাজানোর অনুরোধ করে, যা অনেক ডকুমেন্টের সাথে মিলে যায়। সবচেয়ে প্রাসঙ্গিক সেরা ৫০টি ফলাফল নির্ধারণ করতে, কোয়েরি ইঞ্জিনকে "বারান্দা" বা "প্লান্টার"-এর জন্য সব সম্ভাব্য মিল খুঁজে বের করতে হবে, প্রতিটির জন্য প্রাসঙ্গিকতা স্কোর গণনা করতে হবে এবং তারপরে সেগুলি সাজাতে হবে। ইনডেক্সের মধ্যে বিপুল সংখ্যক ক্যান্ডিডেটের মধ্যে এই স্কোরিং ও সর্টিং প্রসেস কম্পিউটেশনালভাবে ইনটেনসিভ, যদিও শেষ পর্যন্ত মাত্র ৫০টি ডকুমেন্ট উদ্ধার করা হয়। শব্দের ব্যাপকতা এবং প্রাসঙ্গিকতা স্কোরিংয়ের ওভারহেড সার্চের ধাপকে আরও ব্যয়বহুল করে তোলে।
জিওস্পেশিয়াল কোয়েরি
জিওস্পেশিয়াল কোয়েরির জন্য চার্জ কোয়েরির জটিলতা এবং নির্দিষ্ট শর্ত ও ব্যবহৃত সর্টিংয়ের পাশাপাশি প্রাসঙ্গিক জিওস্পেশিয়াল ইন্ডেক্সে সব ডেটা স্ক্যান করার জন্য প্রয়োজনীয় রিসোর্সের ভিত্তিতে নির্ধারণ করা হয়।
নিম্নলিখিত সারণীতে ম্যাপ অ্যাপ্লিকেশনের জন্য জিওস্পেশিয়াল কোয়েরি এক্সিকিউট করার সাথে সম্পর্কিত চার্জের বিবরণ দেওয়া হয়েছে। এই উদাহরণে ধরে নেওয়া হয়েছে যে ১,০০০,০০০টি ডকুমেন্টের সংগ্রহে আগ্রহের স্থান দেখানো হয়েছে, যেখানে প্রতিটি আগ্রহের স্থানের ডকুমেন্ট ১KiB এবং সংশ্লিষ্ট জিওস্পেশিয়াল ইন্ডেক্সের সাইজ প্রায় ৬০MiB।
| ক্যোয়ারী | কোডের উদাহরণ | প্রতিটি কোয়েরিতে আনুমানিক কত রিড ইউনিট ব্যবহার করা হয়েছে | আনুমানিক খরচ (অঞ্চল: মার্কিন ডলারে us-central1) |
|---|---|---|---|
| সর্বাধিক ১০ কিমি দূরত্বের মধ্যে সব আকর্ষণীয় স্থান খুঁজুন, ১০টি ম্যাচ দেখান। | |
মোট ১৬টি রিড ইউনিট। জিওস্পেশিয়াল কোয়েরির জন্য ৬টি রিড ইউনিট এবং ফেরত আসা ডকুমেন্টের জন্য ১০টি অতিরিক্ত ইউনিটের উপর ভিত্তি করে। |
প্রতি মিলিয়ন কোয়েরির জন্য $০.৮০ |
| সর্বাধিক ১০০ কিমি দূরত্বের মধ্যে সব দর্শনীয় স্থান খুঁজে বের করো এবং ১,০০০টি ম্যাচের মধ্যে সবচেয়ে কাছাকাছি থাকা সেরা ১০টি দর্শনীয় স্থান দেখাও | |
মোট ১৯টি রিড ইউনিট। জিওস্পেশিয়াল কোয়েরির জন্য ৯টি রিড ইউনিট এবং ফেরত দেওয়া ডকুমেন্টের জন্য ১০টি অতিরিক্ত ইউনিটের উপর ভিত্তি করে। |
প্রতি মিলিয়ন কোয়েরির জন্য $০.৯৫ |
বিভিন্ন কোয়েরি প্যাটার্ন কীভাবে খরচকে প্রভাবিত করে তা এই উদাহরণগুলি থেকে বোঝা যায়:
- ১০ কিমি ব্যাসার্ধের কোয়েরি: এই কোয়েরি আরও ছোট ভৌগোলিক এলাকা স্ক্যান করে। যেহেতু এটি
এই ১০ কিমি ব্যাসার্ধের মধ্যে মাত্র ১০টি মিল খুঁজে পায়, তাই কোয়েরি ইঞ্জিনকে
এই পয়েন্টগুলি শনাক্ত করতে এবং দূরত্ব অনুসারে সাজাতে কম কাজ করতে হয় (যেমন
$nearঅন্তর্নিহিতভাবে করে)। এর ফলে ইন্ডেক্স স্ক্যান করার খরচ কমে ৬টি রিড ইউনিট হয়। - ১০০ কিমি ব্যাসার্ধের কোয়েরি: এই কোয়েরি অনেক বড় এলাকা কভার করে। কোয়েরিটি ১০০ কিমি ব্যাসার্ধের মধ্যে ১,০০০টি সম্ভাব্য ম্যাচ খুঁজে পায়। সবচেয়ে কাছের ১০টি পয়েন্টের অনুরোধ পূরণ করতে, কোয়েরি ইঞ্জিনকে দূরত্ব গণনা করতে হবে এবং ইন্ডেক্সের মধ্যে প্রার্থীদের অনেক বড় সেট (১,০০০ পয়েন্ট পর্যন্ত) সাজাতে হবে। এই অতিরিক্ত কম্পিউটেশনাল কাজ, যা অনেক বেশি পয়েন্টকে বাছাই করে এবং র্যাঙ্ক করে, তার কারণেই জিওস্পেশিয়াল কোয়েরির খরচ ১০ কিমি কোয়েরির তুলনায় ৯টি রিড ইউনিটে বেশি, যদিও এটিও মাত্র ১০টি ডকুমেন্ট রিটার্ন করে।
পয়েন্ট রিডিং
পয়েন্ট রিডের জন্য বিলিংয়ের উদাহরণ:
- ১ KiB-এর একটি ডকুমেন্ট একবার পড়া। খরচ হয়: ১টি রিড ইউনিট
- একটি ৪ KiB ডকুমেন্টের পয়েন্ট রিড। খরচ হয়: ১টি রিড ইউনিট
- একটি ১ MiB ডকুমেন্টের পয়েন্ট রিড। ব্যবহার করে: ২৫৬ রিড ইউনিট
- ১০০টি ডকুমেন্টের পয়েন্ট রিড, প্রতিটি ১ KiB। খরচ হয়: ১০০ রিড ইউনিট
স্ক্যান করা
নিম্নলিখিত উদাহরণে এমন পরিস্থিতি অন্তর্ভুক্ত আছে যা ডকুমেন্ট বা ইন্ডেক্স এন্ট্রি স্ক্যান করে।
ডকুমেন্ট স্ক্যান করা হচ্ছে
- কোয়েরি যা ১০০টি ডকুমেন্ট স্ক্যান করে, প্রতিটি ১ KiB। খরচ হয়: ২৫টি রিড ইউনিট
ইনডেক্স স্ক্যান করা হচ্ছে
স্ক্যান করার খরচ, বাইটের নিরিখে, একই থাকে, তা সে ডকুমেন্ট বা ইনডেক্স যাই স্ক্যান করা হোক না কেন। তবে, ইন্ডেক্স এন্ট্রিগুলি প্রায়শই আকারে ছোট হয়। এর ফলে, তারা প্রায়ই ডেটা স্ক্যান করার আরও সাশ্রয়ী উপায় প্রদান করতে পারে।
- কোয়েরি যা ১০০টি ইন্ডেক্স এন্ট্রি স্ক্যান করে, প্রতিটি ১ KiB। খরচ হয়: ২৫টি রিড ইউনিট।
- কোয়েরি যা ১০০টি ইনডেক্স এন্ট্রি স্ক্যান করে, প্রতিটি ১২৮ বাইট। খরচ হয়: ৪টি রিড ইউনিট।
ডকুমেন্ট বা ইন্ডেক্স এন্ট্রির ন্যূনতম সাইজ
কিছু পরিস্থিতিতে, কোনও কোয়েরির উত্তর দেওয়ার জন্য কোনও ডকুমেন্ট বা ইন্ডেক্স এন্ট্রির কন্টেন্ট পড়ার প্রয়োজন নাও হতে পারে। এর মধ্যে সাধারণ গণনা সংক্রান্ত কোয়েরি অন্তর্ভুক্ত, যেমন কোনও কালেকশনে মোট ডকুমেন্টের সংখ্যা গণনা করা। এইসব পরিস্থিতিতে, স্ক্যান করা প্রতিটি আইটেমের জন্য ন্যূনতম ৩২ বাইট খরচ হয়।
- কালেকশনে থাকা ডকুমেন্টের সংখ্যা গণনা করুন। কোয়েরিটি কালেকশনে থাকা ১০০০টি আইটেম স্ক্যান করে। খরচ হয়: ৮টি রিড ইউনিট।
স্ক্যানিং ও পয়েন্ট রিডের কম্বিনেশন
অনেক কোয়েরি কোনও অপারেশন সম্পূর্ণ করার জন্য স্ক্যানিং এবং পয়েন্ট রিডের কম্বিনেশন ব্যবহার করে।
- কোয়েরি যা ১২৮টি ইন্ডেক্স এন্ট্রি স্ক্যান করে, প্রতিটি ২৫৬ বাইট এবং ১২৮টি ডকুমেন্টের পয়েন্ট রিড পারফর্ম করে, প্রতিটি ৪ KiB। ব্যবহার করে: ১৩৬টি রিড ইউনিট, যার মধ্যে রয়েছে:
- পয়েন্ট রিডের জন্য ১২৮ রিড ইউনিট
- ইনডেক্স স্ক্যানের জন্য ৮টি রিড ইউনিট
কোয়েরি ব্যাখ্যা
কোয়েরি এক্সপ্লেন আপনাকে বুঝতে সাহায্য করে যে ডেটাবেস কীভাবে আপনার কোয়েরি এক্সিকিউট করে। প্রদান করা বিবরণ আপনার কোয়েরি অপ্টিমাইজ করতে সাহায্য করতে পারে।
Query Explain ব্যবহার করার সময় নিম্নলিখিত খরচ প্রযোজ্য হয়:
- কোয়েরি ব্যাখ্যা করুন যা কোয়েরি এক্সিকিউট করে: কোয়েরি খরচ প্রযোজ্য।
- শুধুমাত্র প্ল্যান ব্যবহার করে কোয়েরি ব্যাখ্যা করার বিকল্প। খরচ হয়: ১টি রিড ইউনিট (কোনও কোয়েরির ন্যূনতম খরচ)
অপারেশন লিখুন
অপারেশন চলাকালীন তৈরি, পরিবর্তন বা মুছে ফেলা ডকুমেন্ট এবং ইন্ডেক্সের সাইজের উপর ভিত্তি করে রাইট অপারেশনের (তৈরি, আপডেট এবং মুছে ফেলা) জন্য চার্জ করা হয়। রাইট অপারেশনের জন্য রাইট ইউনিট খরচ হয়। রাইট ইউনিট ১ KiB ট্রাঞ্চে গণনা করা হয়।
ডকুমেন্ট আইডি দিয়ে আপডেট করার মতো সহজ লেখার অপারেশনের জন্য শুধু লেখার খরচই দিতে হয়। যেসব রাইট অপারেশনের জন্য কোয়েরি করার প্রয়োজন হয়, সেগুলির ক্ষেত্রে কোয়েরির সাথে যুক্ত রিড খরচও অতিরিক্ত হিসেবে যোগ করা হবে।
নিচের উদাহরণগুলি দেখুন।
তৈরি করে
- কোনও ইন্ডেক্স ছাড়াই নতুন ১০ KiB ডকুমেন্ট তৈরি করুন। খরচ হয়: ১০টি রাইট ইউনিট
- সংগ্রহে ২৫৬ বাইটের ১টি ইন্ডেক্স এন্ট্রি সহ ১ KiB ডকুমেন্ট তৈরি করুন। খরচ হয়: ২ রাইট ইউনিট
আপডেট
- ডকুমেন্ট আইডি দিয়ে ১০ KiB ডকুমেন্ট খুঁজে নিন এবং কোনও ইন্ডেক্স ছাড়াই কালেকশনে আপডেট করুন। খরচ হয়: ১০টি রাইট ইউনিট
- ডকুমেন্ট আইডি দিয়ে ১ KiB ডকুমেন্ট খুঁজুন এবং ২৫৬ বাইটের ১টি ইন্ডেক্স এন্ট্রি দিয়ে ১টি ফিল্ড আপডেট করুন। খরচ: ৩টি রাইট ইউনিট। মনে রাখবেন: এই পরিস্থিতিতে ইন্ডেক্স এন্ট্রি আপডেট করতে ২টি রাইট ইউনিট খরচ হয় – একটি ইন্ডেক্স এন্ট্রি মুছে ফেলার জন্য এবং আরেকটি সেটি আবার তৈরি করার জন্য।
- ডকুমেন্ট আইডি দিয়ে ১ KiB ডকুমেন্ট খুঁজে নিন এবং কিছু আপডেট করবেন না (কোনও পরিবর্তন নয়)। ব্যবহার করে: ১ রাইট ইউনিট (ন্যূনতম রাইট খরচ)
- একটি সংগ্রহে থাকা ১ KiB-এর সব ডকুমেন্ট কোয়েরি করা, যা ১,০০০টি ডকুমেন্ট স্ক্যান করে এবং সংগ্রহে কোনও ইন্ডেক্স ছাড়াই একটি নতুন ২৫৬ বাইট ফিল্ড যোগ করা: ১০০০টি রিড ইউনিট এবং ১০০০টি রাইট ইউনিট।
মুছে দেয়
- ১ KiB-এর একটি ডকুমেন্ট মুছে দিন, যার কালেকশনে ১টি ইন্ডেক্স আছে। খরচ হয়: ২ রাইট ইউনিট
- ১ KiB-এর একটি ডকুমেন্ট মুছে দিন, যার সংগ্রহে কোনও ইন্ডেক্স নেই। খরচ হয়: ১টি রাইট ইউনিট
ইনডেক্স বিল্ড
বিল্ড অপারেশন চলাকালীন তৈরি বা পরিবর্তন করা ইন্ডেক্স এন্ট্রির জন্য ইন্ডেক্স বিল্ড চার্জ করা হয়। ইনডেক্স সংজ্ঞা যোগ করা বা সরানো হলে এইসব খরচ হয়। ইনডেক্স এন্ট্রির জন্য রাইটের মতোই বিল করা হয়, অর্থাৎ প্রতি ১KiB-এর জন্য ১টি রাইট ইউনিট।
- ৫০০টি ডকুমেন্ট সহ একটি সংগ্রহের জন্য একটি নতুন ইন্ডেক্স তৈরি করুন, তৈরি করা ইন্ডেক্স এন্ট্রি প্রতিটি ১ KiB। ৫০০টি রাইট ইউনিট ব্যবহার করে।
- ৫০০টি ডকুমেন্ট আছে এমন একটি সংগ্রহের জন্য আগে থেকে থাকা ইন্ডেক্স মুছে দিন, মুছে ফেলা ইন্ডেক্স এন্ট্রির প্রতিটির সাইজ ১KiB। ৫০০টি রাইট ইউনিট ব্যবহার করে।