Transaction হলো একটি ডাটাবেস অপারেশনের সেট যা সম্পূর্ণ বা একত্রে সফল হওয়া উচিত। এক বা একাধিক ডেটাবেস কমান্ড একত্রে পরিচালিত হয়, এবং এর সবকটি সফল হলে ট্রানজেকশন সফল বলে বিবেচিত হয়। যদি কোনো একটিও কমান্ড ব্যর্থ হয়, তাহলে পুরো ট্রানজেকশনটি ব্যর্থ হিসাবে গণ্য হয় এবং ডেটাবেস পূর্বাবস্থায় ফিরে যায় (Rollback হয়)।
ArangoDB-তে Transaction ব্যবহার করে একাধিক Collection-এ একই সঙ্গে Atomicity, Consistency, Isolation, এবং Durability (ACID) বৈশিষ্ট্য নিশ্চিত করা যায়।
Transaction-এর সব অপারেশন একটি একক ইউনিট হিসেবে কাজ করে। যদি একটিও ব্যর্থ হয়, তাহলে পুরো Transaction ব্যর্থ বলে গণ্য হয় এবং Rollback করা হয়।
Transaction-এর মাধ্যমে ডেটাবেস সবসময় একটি সঠিক অবস্থায় থাকে। একটি সফল Transaction ডেটাবেসের সামঞ্জস্য বজায় রাখে।
Transaction চলাকালীন অন্য কোনো Transaction তার কাজকে প্রভাবিত করতে পারে না। এটি ডেটার সঠিকতা এবং নির্ভুলতা নিশ্চিত করে।
Transaction সফলভাবে সম্পন্ন হলে এর ডেটা স্থায়ীভাবে ডাটাবেসে সংরক্ষিত হয়, এমনকি সার্ভার ব্যর্থ হলেও।
একাধিক Collection-এর উপর একত্রে অপারেশন পরিচালনার জন্য Transaction অপরিহার্য। এটি নিশ্চিত করে যে সব Collection-এ পরিবর্তন একই সঙ্গে সম্পন্ন বা বাতিল হবে।
ArangoDB-তে Transaction পরিচালনার জন্য JavaScript API, AQL এবং HTTP API ব্যবহার করা হয়।
db._executeTransaction({
collections: {
write: ["my_collection"]
},
action: function () {
var db = require('@arangodb').db;
db.my_collection.save({ name: "John Doe", age: 30 });
db.my_collection.update({ name: "John Doe" }, { age: 31 });
}
});
ব্যাখ্যা:
my_collection
-এ Transaction পরিচালিত হচ্ছে।db._executeTransaction({
collections: {
write: ["collection1", "collection2"]
},
action: function () {
var db = require('@arangodb').db;
db.collection1.save({ name: "Alice" });
db.collection2.save({ product: "Laptop", price: 1000 });
}
});
ব্যাখ্যা:
collection1
এবং collection2
-এ ডেটা একত্রে Transaction-এর মাধ্যমে পরিচালিত হয়েছে।db._executeTransaction({
collections: {
write: ["my_collection"]
},
action: function () {
var db = require('@arangodb').db;
try {
db.my_collection.save({ name: "Invalid Data" });
throw "Manual Error";
} catch (err) {
// Rollback হবে
}
}
});
ব্যাখ্যা:
Transaction ডাটাবেস অপারেশন পরিচালনার একটি গুরুত্বপূর্ণ পদ্ধতি, যা ডেটার সঠিকতা, নির্ভুলতা এবং নিরাপত্তা নিশ্চিত করে। ArangoDB-তে Transaction ব্যবহার করে Multi-Collection Operations, ACID বৈশিষ্ট্য, এবং Rollback-এর মতো সুবিধা পাওয়া যায়। এটি ডেভেলপারদের জন্য একটি অপরিহার্য টুল।
common.read_more