এই বিভাগটি ক্লাউড ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণের জন্য সূচী তৈরির বর্ণনা দেয়। ক্লাউড ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণ ডিফল্টভাবে কোনও সূচী তৈরি করে না। ডাটাবেসের কর্মক্ষমতা উন্নত করতে, আপনার সর্বাধিক ব্যবহৃত প্রশ্নের জন্য সূচী তৈরি করুন।
ডাটাবেসের কর্মক্ষমতার উপর সূচকের বিরাট প্রভাব রয়েছে। যদি কোনও প্রশ্নের জন্য একটি সূচক বিদ্যমান থাকে, তাহলে ডাটাবেস দক্ষতার সাথে ফলাফল প্রদান করতে পারে, স্ক্যান করার জন্য প্রয়োজনীয় ডেটার পরিমাণ হ্রাস করে এবং ফলাফল সাজানোর জন্য প্রয়োজনীয় কাজ হ্রাস করে। তবে, সূচক এন্ট্রিগুলি স্টোরেজ খরচ এবং ইনডেক্স করা ক্ষেত্রগুলিতে লেখার সময় করা কাজের পরিমাণ বৃদ্ধি করে।
সংস্করণগুলির মধ্যে পার্থক্য
নিম্নলিখিত সারণীতে ক্লাউড ফায়ারস্টোর স্ট্যান্ডার্ড সংস্করণ এবং ক্লাউড ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণের মধ্যে প্রধান সূচক পার্থক্যগুলির একটি সারসংক্ষেপ দেওয়া হয়েছে।
| বৈশিষ্ট্য | ক্লাউড ফায়ারস্টোর স্ট্যান্ডার্ড সংস্করণ | ক্লাউড ফায়ারস্টোর এন্টারপ্রাইজ সংস্করণ |
|---|---|---|
| ইনডেক্সিং প্রয়োজনীয়তা | সকল কোয়েরি কার্যকর করার জন্য ইনডেক্সের প্রয়োজন হয়। এই প্রয়োজনীয়তার কারণে কোয়েরিগুলি সাধারণত কার্যকর থাকে। | প্রশ্নের জন্য সূচীর প্রয়োজন নেই। আনইনডেক্সড রিড সম্ভব, প্রোটোটাইপিংয়ের জন্য একটি বাধা দূর করে। |
| স্বয়ংক্রিয় সূচীকরণ | ডিফল্টরূপে, নথির মধ্যে সমস্ত ক্ষেত্রের জন্য একক-ক্ষেত্র সূচকগুলি স্বয়ংক্রিয়ভাবে তৈরি হয়। | কোনও স্বয়ংক্রিয় সূচী নেই। আপনাকে অবশ্যই সমস্ত সূচী ম্যানুয়ালি পরিচালনা করতে হবে। |
| সূচক ঘনত্ব | ডিফল্টরূপে স্পার্স। একটি সংগ্রহ গোষ্ঠীর একটি নথি কেবল তখনই সূচীবদ্ধ হয় যদি নথিতে প্রতিটি সূচীবদ্ধ ক্ষেত্রের জন্য একটি মান থাকে। | ডিফল্টরূপে অ-স্পার্স। সংগ্রহ গোষ্ঠীর সমস্ত নথি সূচীকৃত। মান ছাড়া সূচীকৃত ক্ষেত্রগুলি NULL তে সেট করা আছে। স্পার্স সূচক বিকল্পের সাহায্যে আচরণ পরিবর্তন করা যেতে পারে। |
| সমর্থিত সূচকের ধরণ এবং বিকল্পগুলি |
|
|
সূচকের সংজ্ঞা এবং গঠন
একটি সূচক নিম্নলিখিতগুলি নিয়ে গঠিত:
- একটি সংগ্রহ আইডি
- প্রদত্ত সংগ্রহের ক্ষেত্রের একটি তালিকা
- প্রতিটি ক্ষেত্রের জন্য একটি ক্রম, হয় আরোহী অথবা অবরোহী,
একটি সূচক স্পার্স বা অনন্য বিকল্পগুলিও সক্ষম করতে পারে।
সূচক ক্রম
প্রতিটি ক্ষেত্রের ক্রম এবং সাজানোর দিকনির্দেশনা সূচকটিকে স্বতন্ত্রভাবে সংজ্ঞায়িত করে। উদাহরণস্বরূপ, নিম্নলিখিত সূচকগুলি দুটি স্বতন্ত্র সূচক এবং বিনিময়যোগ্য নয়:
| সংগ্রহ | ক্ষেত্র |
|---|---|
| শহরগুলি | দেশ (ঊর্ধ্বমুখী), জনসংখ্যা (অবরোহী) |
| শহরগুলি | জনসংখ্যা (অবরোহী), দেশ (আরোহী), |
কোনও কোয়েরি সমর্থন করার জন্য একটি সূচী তৈরি করার সময়, আপনার কোয়েরির মতো একই ক্রমে ক্ষেত্রগুলি অন্তর্ভুক্ত করুন।
সূচক ঘনত্ব
ডিফল্টরূপে, ইনডেক্স এন্ট্রিগুলি একটি সংগ্রহের সমস্ত নথি থেকে ডেটা সঞ্চয় করে। এটি একটি নন-স্পার্স ইনডেক্স হিসাবে পরিচিত। ডকুমেন্টে ইনডেক্সে নির্দিষ্ট কোনও ক্ষেত্র রয়েছে কিনা তা নির্বিশেষে একটি ইনডেক্স এন্ট্রি একটি ডকুমেন্টের জন্য যোগ করা হবে। ইনডেক্স এন্ট্রি তৈরি করার সময় অস্তিত্বহীন ক্ষেত্রগুলিকে একটি NULL মান হিসাবে বিবেচনা করা হয়। এই আচরণ পরিবর্তন করতে, আপনি ইনডেক্সটিকে একটি স্পার্স ইনডেক্স হিসাবে সংজ্ঞায়িত করতে পারেন।
বিরল সূচক
একটি স্পার্স ইনডেক্স শুধুমাত্র সংগ্রহের সেইসব নথিকে সূচীবদ্ধ করে যেগুলিতে কমপক্ষে একটি সূচীকৃত ক্ষেত্রের জন্য একটি মান (নাল সহ) থাকে। একটি স্পার্স ইনডেক্স স্টোরেজ খরচ কমায় এবং কর্মক্ষমতা উন্নত করতে পারে।
অনন্য সূচক
সূচীকৃত ক্ষেত্রগুলির জন্য অনন্য মান প্রয়োগ করার জন্য অনন্য সূচী বিকল্পটি সেট করুন। একাধিক ক্ষেত্রের সূচীর জন্য, প্রতিটি মানের সমন্বয় সূচী জুড়ে অনন্য হতে হবে। ডাটাবেস যেকোনো আপডেট এবং সন্নিবেশ ক্রিয়াকলাপ প্রত্যাখ্যান করে যা ডুপ্লিকেট মান সহ সূচী এন্ট্রি তৈরি করার চেষ্টা করে। যদি সূচীকৃত ক্ষেত্রগুলির ডেটাতে ডুপ্লিকেট মান থাকে এবং আপনি একটি অনন্য সূচী তৈরি করার চেষ্টা করেন, তাহলে সূচী বিল্ডটি অপারেশনের বিবরণে একটি ত্রুটি বার্তা সহ ব্যর্থ হয়।
একটি অনন্য সূচকে অনুপস্থিত ক্ষেত্রগুলি
যদি আপনি অনন্য সূচকের জন্য অনুপস্থিত ক্ষেত্র সহ একটি নথি সন্নিবেশ করান, তাহলে সূচকটি অনুপস্থিত ক্ষেত্রগুলির জন্য null মান সেট করে। ফলস্বরূপ সূচক এন্ট্রিটি অনন্য হতে হবে অন্যথায় অপারেশনটি ব্যর্থ হবে।
উদাহরণস্বরূপ, এই সূচকের সাথে:
| সংগ্রহ | সূচীবদ্ধ ক্ষেত্রগুলি | কোয়েরির সুযোগ |
|---|---|---|
| শহরগুলি | নাম (ঊর্ধ্বক্রম) | সংগ্রহ |
যদি আপনি সংগ্রহে {"abbreviation": "LA"} ডকুমেন্টটি যোগ করেন, তাহলে অনন্য সূচকটি null name সেট করে একটি এন্ট্রি তৈরি করে। এরপর যদি আপনি {"abbreviation": "NYC"} ডকুমেন্টটি যোগ করার চেষ্টা করেন, তাহলে অপারেশনটি ব্যর্থ হয় কারণ অনন্য সূচকের জন্য প্রাপ্ত এন্ট্রিটি একই।
একই আচরণ একাধিক ক্ষেত্র সহ অনন্য সূচীর ক্ষেত্রে প্রযোজ্য। একটি নথি তৈরি বা আপডেট করার সময়, অনুপস্থিত সূচীকৃত ক্ষেত্রগুলি null এ সেট করা হয় এবং ফলস্বরূপ সূচী এন্ট্রিটি সূচীতে অনন্য হতে হবে।
সূচক তৈরির ত্রুটির সমাধান করুন
আপনার ইনডেক্স পরিচালনা করার সময় আপনি ইনডেক্স তৈরির ত্রুটির সম্মুখীন হতে পারেন। ডাটাবেস ডেটা নিয়ে কোনও সমস্যার সম্মুখীন হলে একটি ইনডেক্সিং অপারেশন ব্যর্থ হতে পারে। নিম্নলিখিত কারণে ইনডেক্সিং অপারেশন ব্যর্থ হতে পারে:
- আপনি একটি সূচক সীমায় পৌঁছে গেছেন। উদাহরণস্বরূপ, অপারেশনটি প্রতিটি নথিতে সর্বোচ্চ সংখ্যক সূচক এন্ট্রিতে পৌঁছে যেতে পারে। যদি সূচক তৈরি ব্যর্থ হয়, তাহলে আপনি একটি ত্রুটি বার্তা দেখতে পাবেন। যদি আপনি একটি সূচক সীমায় না পৌঁছান, তাহলে সূচক সীমায় পুনরায় চেষ্টা করুন।
- আপনি অনন্য সূচক বিকল্পটি সেট করেন এবং সূচীকৃত ক্ষেত্রগুলির ডেটা ডুপ্লিকেট সূচক এন্ট্রি তৈরি করবে। এগিয়ে যাওয়ার জন্য, ডেটা থেকে মানগুলির ডুপ্লিকেট সমন্বয়গুলি সরান।
এরপর কি?
কীভাবে সূচক তৈরি এবং পরিচালনা করতে হয় তা শিখুন।