ট্রানজ্যাকশন হলো ডাটাবেস ম্যানিপুলেশন অপারেশনগুলোর একটি সিকোয়েনশিয়াল গ্রুপ, যা যেন একটি একক ওয়ার্ক ইউনিট হিসেবে পারফর্ম করা হয়। অন্য কথায়, ট্রানজ্যাকশন কখনো কমপ্লিট হবে না যদি না গ্রুপের প্রতিটি ইনডিভিডুয়াল অপারেশন সফল হয়। যদি ট্রানজ্যাকশনের ভেতরে কোনো অপারেশন ফেল করে, তবে পুরো ট্রানজ্যাকশন ফেল করবে। প্র্যাক্টিক্যালি, আমরা অনেক SQL কোয়েরিকে একটি গ্রুপে ক্লাব করে সবগুলো একসাথে ট্রানজ্যাকশনের অংশ হিসেবে এক্সিকিউট করতে পারি।
ট্রানজ্যাকশনের বৈশিষ্ট্য (ACID)
ট্রানজ্যাকশনের চারটি স্ট্যান্ডার্ড প্রপার্টি রয়েছে, যাকে সংক্ষেপে ACID বলা হয়:
- Atomicity (পরমাণবিকতা) - ওয়ার্ক ইউনিটের সব অপারেশন সফলভাবে কমপ্লিট হয় নিশ্চিত করে; অন্যথায় ট্রানজ্যাকশন ফেইল পয়েন্টে অবোর্ট হয় এবং পূর্বের অপারেশনগুলো রোলব্যাক হয়।
- Consistency (সঙ্গতিতা) - সফলভাবে কমিট হওয়া ট্রানজ্যাকশনের পর ডাটাবেস সঠিক স্টেটে পরিবর্তন হয় নিশ্চিত করে।
- Isolation (আইসোলেশন) - ট্রানজ্যাকশনগুলো একে অপরের থেকে স্বাধীনভাবে এবং ট্রান্সপেরেন্টলি অপারেট করতে সক্ষম করে।
- Durability (স্থায়িত্ব) - কমিট হওয়া ট্রানজ্যাকশনের ফলাফল বা ইফেক্ট সিস্টেম ফেইলিউরের ওপরেও কায়ম থাকে নিশ্চিত করে।