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