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