এটি একটি দুর্দান্ত প্রশ্ন এবং আমি প্রতিক্রিয়াগুলি আকর্ষণীয় পাই। আমি এটি ওরাকল ডিবিএ হিসাবে মন্তব্য করতে চলেছি এবং আমার উত্তরগুলি ওরাকল ডাটাবেসের জন্য বিশেষ। ওরাকলের সাথে কাজ করার সময় অনেক লোক এটি একটি বড় ভুল। এটি অন্যান্য অ্যাপ্লিকেশনগুলিতেও প্রযোজ্য কিনা আমি নিশ্চিত নই। এটি অফ-টপিক বলতে বোঝানো হয়নি, তবে এটি একটি বিশেষ উত্তর হিসাবে বোঝানো হয়েছে।
যখন আপনি ওরাকল দিয়ে পারফরম্যান্সটি টিউন করেন, আপনি সত্যিই বাধাগুলি পরিষ্কার করতে চাইছেন। যদিও আমাদের বেশিরভাগ এটি বলে না, এটি থিওরি অব কন্ট্রাক্টসের ভিত্তিতে: https://en.wikedia.org/wiki/Theory_of_constraints
স্মৃতি আপনার বাধা হতে পারে না। ওরাকল মেমোরি পরিচালনা করার জন্য জটিল ব্যবস্থা রয়েছে এবং অন্যান্য ক্ষেত্রগুলিতে যেখানে বাধা রয়েছে সেখানে কেবল স্মৃতিশক্তি বাড়ানো আসলে জিনিসগুলিকে ধীর করতে পারে। আমি আপনাকে একটি উদাহরণ দিচ্ছি যা খুব সাধারণ।
অনুসন্ধানগুলি ধীর বলে মনে হচ্ছে। Sensক্যমত্য হ'ল যদি আমরা র্যাম বাড়িয়ে তুলি তবে আমাদের প্রশ্নের প্রতিক্রিয়া সময় বাড়াতে হবে যেহেতু ডিস্কের চেয়ে মেমরি দ্রুত। আচ্ছা ... এভাবেই অরাকল ডেটার জন্য মেমরি পরিচালনা পরিচালনা করে। ওরাকল বিভিন্ন ধরণের মেমরি অবস্থান রয়েছে যা নির্দিষ্ট দায়িত্বগুলিতে বরাদ্দ করা হয়। সুতরাং আপনি এই স্মৃতি বাড়াতে পারেন। ডেটার জন্য ব্যবহৃত অঞ্চলটিকে 'বাফার ক্যাশে' বলা হয়। এটি লিঙ্কযুক্ত তালিকার একটি সিরিজ (প্রতিটি সংস্করণের সাথে তাদের সংখ্যা বাড়তে থাকে)। যখনই কোনও জিজ্ঞাসার সময় ডিস্কে কোনও ব্লক পাওয়া যায়, কোন তালিকায় এটি আটকে থাকবে তা নির্ধারণ করার জন্য এটির উপর একটি হ্যাশ অ্যালগরিদম চালানো হয় list তালিকায় এটি কোথায় রাখা উচিত তা টাচ কাউন্ট আলগোরিদমের উপর ভিত্তি করে (ওরাকল সমর্থন সাইটটিতে ব্যাখ্যা করা হয়েছে, সুতরাং এটি পেতে আপনাকে অর্থ প্রদান করতে হবে ... এটি আসলে গুরুত্বপূর্ণ নয়)।
তবুও, যখন আপনি কোনও ক্যোয়ারী চালাবেন, ওরাকল আপনার সময় অনুসন্ধান করা বাফার চেইনে একটি ল্যাচ বের করে। এই ল্যাচ (দ্রষ্টব্য: এটি কোনও লক নয় Google গুগল "ল্যাচ" যদি আপনি পার্থক্যটি জানেন না) আপনার পড়ার সময়কালের জন্য সেই চেইনে অন্যান্য সমস্ত ক্রিয়াকলাপ অবরুদ্ধ করে। সুতরাং এটি পড়তে এবং লিখতে অবরুদ্ধ করে (এটি ওরাকল দাবিদার লকগুলি যে ব্লকগুলিকে পাঠায় না তা সম্পূর্ণ আলাদা)।
এটি প্রয়োজনীয় কারণ আপনি শৃঙ্খলে ব্লকটি পড়ার সাথে সাথে ওরাকল এটি প্রায়শই 'অনুরোধ করা' হওয়ার ভিত্তিতে ঘোরাফেরা করে। আরও প্রায়শই অনুরোধ করা ব্লকগুলি শীর্ষে স্থানান্তরিত হয় এবং কম ঘন ঘন অনুরোধ করা ব্লকগুলি নীচে ছেড়ে যায় এবং বয়স্ক হয়ে যায়। আপনার লিঙ্কযুক্ত তালিকাগুলি পড়া এবং চারপাশে চলমান ব্লকগুলির মধ্যে দুটি সেশন থাকতে পারে না বা আপনি পয়েন্টারগুলিকে আঘাত করবেন যা অস্তিত্বহীন অবস্থানগুলিকে নির্দেশ করে।
আপনি যখন মেমরির আকার বাড়ান, আপনি প্রতিটি সংযুক্ত তালিকার আকার বাড়িয়ে তোলেন। তালিকাটি পড়তে সময় লাগে এটি বাড়িয়ে তোলে। একটি একক দুর্বল জিজ্ঞাসা বা জটিল ক্যোয়ারী কয়েক হাজার বা এমনকি কয়েক লক্ষ লক্ষ লিঙ্কযুক্ত তালিকাগুলি পড়তে পারে। প্রতিটি পঠন দ্রুত, তবে তাদের সংখ্যাটি নেওয়া ল্যাচগুলিতে নিয়ে যায় এবং এগুলি অন্যান্য সেশনগুলিকে ব্লক করে দেবে। ওরাকল এটিকে একটি 'লজিকাল আইও' বলেছেন (বা বাফার গেট বা অন্য কোনও জিনিস This
সুতরাং, যদি তালিকাটি দীর্ঘতর হয় এবং আপনার কাছে সত্যই খারাপ এসকিউএল থাকে, তবে এসকিউএল স্টেটমেন্টগুলি তাদের ল্যাচগুলি আরও ধরে রাখবে। বর্ধমান স্মৃতি মাঝে মাঝে কর্মক্ষমতা কমিয়ে দিতে পারে। বেশিরভাগ সময়, এটি ঘটবে না। লোকেরা প্রচুর অর্থ ব্যয় করবে এবং কোনও লাভ দেখবে না। বলা হচ্ছে, এমন সময় আছে যখন আপনার বাফার ক্যাশে আরও বেশি স্মৃতি দরকার, তবে এটি উপযুক্ত কিনা তা জানার জন্য আপনাকে সঠিকভাবে বাধাটি সনাক্ত করতে হবে। আমি এই পোস্টে এটি বিশ্লেষণ কিভাবে আলোচনা করতে পারি না। ডিবিএ ফোরাম দেখুন। কিছু লোক সেখানে এটি নিয়ে আলোচনা করে। এটা বরং জটিল।
সফ্টওয়্যারটির অন্যান্য টুকরাগুলির সাথে কারও কাছে নির্দিষ্ট উদাহরণ রয়েছে যেখানে এটি ঘটতে পারে? 'দ্য গোল' নামে একটি ভয়ঙ্কর ব্যবসায়িক বই রয়েছে যা একটি কারখানার সীমাবদ্ধতাগুলি দূর করার বিষয়ে আলোচনা করে। এই প্রক্রিয়াটি পারফরম্যান্সের সমস্যাগুলি মূল্যায়নের সময় ওরাকল ডিবিএর মতো কাজের সাথে খুব মিল। এটি প্রায়শই এমবিএ প্রোগ্রামগুলিতে স্ট্যান্ডার্ড পড়া হয়। আইটি পেশাগুলি পড়ার জন্য এটি অত্যন্ত মূল্যবান।
https://en.wikipedia.org/wiki/Eliyahu_M._Goldratt