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