Locking Mechanisms: Binary Lock, Shared Lock, Exclusive Lock

Computer Science - ডাটাবেইজ ম্যানেজমেন্ট সিস্টেম বাংলা (DBMS) - কনকারেন্সি কন্ট্রোল (Concurrency Control)
471

লকিং মেকানিজমস ডেটাবেস ম্যানেজমেন্ট সিস্টেমে (DBMS) ডেটার সঙ্গতি এবং সঠিকতা নিশ্চিত করতে অপরিহার্য। প্রধান লকিং মেকানিজমগুলোর মধ্যে রয়েছে: বাইনারি লক, শেয়ার্ড লক, এবং এক্সক্লুসিভ লক। আসুন প্রতিটি সম্পর্কে আলোচনা করা যাক:

1. বাইনারি লক (Binary Lock)

  • সংজ্ঞা: একটি বাইনারি লক ডেটা আইটেমকে দুটি অবস্থায় লক করতে দেয়: লক করা (1) বা আনলক করা (0)।
  • কাজের প্রক্রিয়া: যখন একটি ট্রানজেকশন একটি ডেটা আইটেম লক করে, তখন তার অবস্থান "লক করা" এ পরিবর্তিত হয় এবং এটি মুক্ত না হওয়া পর্যন্ত অন্য ট্রানজেকশনগুলি সেই আইটেমে প্রবেশ করতে পারে না।
  • ব্যবহার ক্ষেত্র: বাইনারি লকগুলি সরল এবং পারস্পরিক বহিষ্কারের জন্য একটি সহজ পদ্ধতি প্রদান করে, কিন্তু এগুলি খুব বেশি নমনীয় নয়, কারণ তারা পড়া এবং লেখার কার্যক্রমগুলির মধ্যে পার্থক্য করে না। এর ফলে কনকারেন্সি হ্রাস পেতে পারে, কারণ লক করা আইটেমটি আনলক না হওয়া পর্যন্ত অন্য কোনও ট্রানজেকশন এটি অ্যাক্সেস করতে পারে না।

2. শেয়ার্ড লক (Shared Lock)

  • সংজ্ঞা: একটি শেয়ার্ড লক একাধিক ট্রানজেকশনকে একটি ডেটা আইটেম পড়তে দেয় একই সময়ে, তবে লেখার জন্য কোনো ট্রানজেকশনকে সেই আইটেমে প্রবেশ করতে দেয় না যতক্ষণ না সমস্ত শেয়ার্ড লক মুক্ত হয়।
  • কাজের প্রক্রিয়া: যখন একটি ট্রানজেকশন একটি ডেটা আইটেমে শেয়ার্ড লক অর্জন করে, তখন অন্যান্য ট্রানজেকশনগুলি একই আইটেমে শেয়ার্ড লক অর্জন করতে পারে, যা একাধিক পড়ার সুযোগ তৈরি করে। তবে, যদি একটি ট্রানজেকশন ওই আইটেমে লিখতে চায়, তাহলে তাকে অপেক্ষা করতে হবে যতক্ষণ না সমস্ত শেয়ার্ড লক মুক্ত হয়।
  • ব্যবহার ক্ষেত্র: শেয়ার্ড লকগুলি সেই পরিস্থিতিতে উপকারী যেখানে পড়ার কার্যক্রম লেখার কার্যক্রমের চেয়ে বেশি। এগুলি কনকারেন্সি বাড়ায় কারণ তারা একাধিক ট্রানজেকশনকে একই সময়ে একই ডেটা আইটেম পড়তে দেয়।

3. এক্সক্লুসিভ লক (Exclusive Lock)

  • সংজ্ঞা: একটি এক্সক্লুসিভ লক একটি ট্রানজেকশনকে একটি ডেটা আইটেমে একচেটিয়া প্রবেশাধিকার দেয়। এর মানে হল, অন্য কোন ট্রানজেকশন সেই আইটেমে পড়া বা লেখা করতে পারবে না যতক্ষণ না এক্সক্লুসিভ লক মুক্ত হয়।
  • কাজের প্রক্রিয়া: যখন একটি ট্রানজেকশন এক্সক্লুসিভ লক অর্জন করে, এটি একই আইটেমে শেয়ার্ড বা এক্সক্লুসিভ লক অর্জন করতে অন্য কোনো ট্রানজেকশনকে নিষিদ্ধ করে। এটি নিশ্চিত করে যে লক করা আইটেমটি পরিবর্তন করতে অন্য কোন ট্রানজেকশন হস্তক্ষেপ করতে পারবে না।
  • ব্যবহার ক্ষেত্র: এক্সক্লুসিভ লকগুলি লেখার কার্যক্রমের জন্য অপরিহার্য যেখানে ডেটার সঠিকতা নিশ্চিত করতে হবে। এগুলি তখন ব্যবহৃত হয় যখন একটি ট্রানজেকশন একটি ডেটা আইটেম পরিবর্তন করতে চায়।

লকিং মেকানিজমের সারসংক্ষেপ

  • বাইনারি লক: সহজ, একবারে একটি ট্রানজেকশনকে ডেটা আইটেমে প্রবেশের অনুমতি দেয়। এটি পড়া এবং লেখার কার্যক্রমগুলির মধ্যে পার্থক্য করে না।
  • শেয়ার্ড লক: একাধিক ট্রানজেকশনকে একই ডেটা আইটেম পড়তে দেয় কিন্তু লেখার কার্যক্রম নিষিদ্ধ করে যতক্ষণ না সমস্ত শেয়ার্ড লক মুক্ত হয়।
  • এক্সক্লুসিভ লক: লেখার কার্যক্রমের জন্য একচেটিয়া প্রবেশাধিকার দেয়, অন্য সকল ট্রানজেকশনকে লক করা আইটেমে পড়া বা লেখা থেকে বাধা দেয়।

এই লকিং মেকানিজমগুলি কনকারেন্সি কন্ট্রোলের ক্ষেত্রে অত্যন্ত গুরুত্বপূর্ণ, যা ডেটাবেসের সঠিকতা এবং সঙ্গতি বজায় রাখতে সাহায্য করে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...