Transaction Isolation Levels

Database Tutorials - ডিবি২ (DB2) DB2 Transactions এবং Locking Mechanisms |
213
213

Transaction Isolation Levels হল ডেটাবেস ট্রানজেকশনের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা নির্ধারণ করে একাধিক ট্রানজেকশনের মধ্যে ডেটা কতটা বিচ্ছিন্ন বা একে অপরের প্রভাব থেকে সুরক্ষিত থাকবে। যখন একাধিক ট্রানজেকশন একসাথে ডেটাবেসে কাজ করে, তখন বিভিন্ন ধরণের Dirty Reads, Non-repeatable Reads, এবং Phantom Reads ঘটতে পারে, যা Transaction Isolation Levels দ্বারা নিয়ন্ত্রিত হয়।

DB2 সহ অনেক ডেটাবেস সিস্টেমে মোট চারটি প্রধান Transaction Isolation Levels রয়েছে, যা ট্রানজেকশনের আচরণ এবং সিস্টেম পারফরম্যান্সের মধ্যে একটি ট্রেড-অফ তৈরি করে।


Transaction Isolation Levels

  1. Read Uncommitted
  2. Read Committed
  3. Repeatable Read
  4. Serializable

1. Read Uncommitted (RU)

Read Uncommitted হলো সবচেয়ে কম স্ট্রিক্ট আইসলেশন লেভেল, যেখানে এক ট্রানজেকশন অন্য ট্রানজেকশনের কমিট না হওয়া ডেটা পড়তে পারে। এটি Dirty Reads এর অনুমতি দেয়, অর্থাৎ আপনি যে ডেটা পড়ছেন তা অন্য ট্রানজেকশনে পরিবর্তিত হতে পারে এবং সেই পরিবর্তনটি নিশ্চিত না হওয়া পর্যন্ত আপনার কাছে ভুল ডেটা থাকতে পারে।

বৈশিষ্ট্য:

  • Dirty Read অনুমোদিত।
  • কম পারফরম্যান্স ব্যাকগ্রাউন্ডে কম স্ট্রিক্ট আইসলেশন, তবে সম্ভাব্য ভুল ডেটার জন্য ঝুঁকি থাকে।
  • এই লেভেল ট্রানজেকশন সিস্টেমের জন্য দ্রুত কিন্তু ঝুঁকিপূর্ণ হতে পারে।

ব্যবহার:

  • যেখানে ডেটা কিছুটা ভুল হতে পারে এবং আপনি বেশি গুরুত্ব দেন না সেখানে এই লেভেল উপযুক্ত, যেমন প্রাথমিক পরীক্ষার জন্য।

2. Read Committed (RC)

Read Committed আইসলেশন লেভেলটি DB2 এর ডিফল্ট আইসলেশন লেভেল। এটি Dirty Read প্রতিরোধ করে, তবে Non-repeatable Reads (একই ট্রানজেকশনে একাধিক বার একই ডেটা পড়লে, প্রথম পড়ার সময় ডেটা অন্য ট্রানজেকশনের দ্বারা পরিবর্তিত হতে পারে) ঘটতে পারে।

বৈশিষ্ট্য:

  • Dirty Read নিষিদ্ধ, তবে Non-repeatable Read সম্ভব।
  • টাকার ট্রানজেকশনের জন্য উপযুক্ত, যেখানে একাধিক ট্রানজেকশন একে অপরকে প্রভাবিত করতে পারে, কিন্তু ভুল ডেটা পড়া রোধ করতে হবে।

ব্যবহার:

  • ট্রানজেকশনে নির্ভরযোগ্যতা প্রয়োজন, তবে ট্রানজেকশনের সময় পারফরম্যান্সের প্রয়োজনীয়তা রয়েছে, যেমন লেনদেনের পরে দ্রুত ডেটা ব্যবহার করা।

3. Repeatable Read (RR)

Repeatable Read আইসলেশন লেভেলটি Dirty Reads এবং Non-repeatable Reads উভয়কেই নিষিদ্ধ করে। এর মানে হলো, একবার যখন একটি ট্রানজেকশন কোনও ডেটা পড়ে, তখন পরবর্তী কোনও ট্রানজেকশন সেই ডেটা পরিবর্তন করতে পারবে না যতক্ষণ না প্রথম ট্রানজেকশনটি সম্পন্ন হয়। তবে, Phantom Reads এখনও ঘটতে পারে, অর্থাৎ কোনও নতুন রেকর্ড ইনসার্ট হতে পারে যা আপনার পড়া ডেটার সাথে মিলে না।

বৈশিষ্ট্য:

  • Dirty Read এবং Non-repeatable Read নিষিদ্ধ।
  • Phantom Read সম্ভব।
  • উচ্চ আইসলেশন, যেখানে একাধিক ট্রানজেকশনের মধ্যে অবিচ্ছিন্ন ডেটা সংরক্ষণ করা হয়।

ব্যবহার:

  • যেখানে ডেটার একঘেয়েমি এবং নির্ভুলতা প্রয়োজন, যেমন বড় অ্যাপ্লিকেশন বা ট্রানজেকশনে স্বতন্ত্র ফলাফল থাকা উচিত।

4. Serializable (SI)

Serializable হলো সর্বোচ্চ আইসলেশন লেভেল, যেখানে সমস্ত ডেটা সম্পূর্ণভাবে বিচ্ছিন্ন এবং সুরক্ষিত থাকে। এতে সমস্ত ট্রানজেকশন একে অপর থেকে পুরোপুরি বিচ্ছিন্ন থাকে এবং Dirty Reads, Non-repeatable Reads, এবং Phantom Reads সমস্তই প্রতিরোধিত হয়। এই আইসলেশন লেভেল সর্বোচ্চ সুরক্ষা প্রদান করে তবে পারফরম্যান্সে কিছুটা কম হতে পারে, কারণ এটি ট্রানজেকশনের মধ্যে উচ্চ স্তরের ব্লকিং এবং লকিং তৈরি করে।

বৈশিষ্ট্য:

  • Dirty Read, Non-repeatable Read, এবং Phantom Read সমস্তই নিষিদ্ধ।
  • সর্বোচ্চ আইসলেশন, যেখানে একাধিক ট্রানজেকশন একে অপরের ডেটা প্রভাবিত করতে পারে না।

ব্যবহার:

  • যেখানে সর্বোচ্চ নির্ভুলতা এবং সুরক্ষা প্রয়োজন, যেমন ব্যাংকিং সিস্টেমে লেনদেনের জন্য, যা শতভাগ নির্ভরযোগ্য হতে হবে।

DB2 Transaction Isolation Levels এর মধ্যে পার্থক্য

Isolation LevelDirty ReadsNon-repeatable ReadsPhantom ReadsPerformance Impact
Read UncommittedAllowedAllowedAllowedFastest
Read CommittedNot AllowedAllowedAllowedModerate
Repeatable ReadNot AllowedNot AllowedAllowedSlower
SerializableNot AllowedNot AllowedNot AllowedSlowest

সারসংক্ষেপ

DB2-এ Transaction Isolation Levels ডেটাবেসের ট্রানজেকশনের মধ্যে একে অপরের প্রভাবকে কতটা বিচ্ছিন্ন রাখা হবে তা নির্ধারণ করে। এটি পারফরম্যান্স এবং নির্ভরযোগ্যতার মধ্যে একটি ট্রেড-অফ তৈরি করে। আপনি যে পর্যায়ের আইসলেশন ব্যবহার করবেন তা নির্ভর করে আপনার ট্রানজেকশন এবং ডেটাবেস অ্যাপ্লিকেশনের নির্দিষ্ট প্রয়োজনের উপর। Serializable সর্বোচ্চ সুরক্ষা প্রদান করে, তবে পারফরম্যান্সে কিছুটা খরচ হতে পারে, আর Read Uncommitted পারফরম্যান্সের জন্য দ্রুত হলেও এটি কম সুরক্ষা প্রদান করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion