কম্পিউটারের ক্ষেত্রে (উইকিপিডিয়া থেকে অনুলিপি করা থাকলেও) কোনও লেনদেনের কোনও সরল (তবে সম্ভবের চেয়ে সহজ নয়) ব্যাখ্যা প্রদান করতে পারেন?
কম্পিউটারের ক্ষেত্রে (উইকিপিডিয়া থেকে অনুলিপি করা থাকলেও) কোনও লেনদেনের কোনও সরল (তবে সম্ভবের চেয়ে সহজ নয়) ব্যাখ্যা প্রদান করতে পারেন?
উত্তর:
লেনদেন হ'ল কাজের একটি একক যা আপনি "সামগ্রিক" হিসাবে বিবেচনা করতে চান। এটি হয় পুরোপুরি ঘটতে হবে বা মোটেও হবে না।
একটি শাস্ত্রীয় উদাহরণ হ'ল এক ব্যাংক অ্যাকাউন্ট থেকে অন্য অ্যাকাউন্টে অর্থ স্থানান্তর করা। এটি করতে আপনার প্রথমে উত্স অ্যাকাউন্ট থেকে পরিমাণটি উত্তোলন করতে হবে এবং তারপরে এটি গন্তব্য অ্যাকাউন্টে জমা করতে হবে। অপারেশন পুরোপুরি সফল হতে হবে। আপনি যদি অর্ধেক পথ বন্ধ করেন, অর্থটি নষ্ট হয়ে যাবে, এবং এটি খুব খারাপ।
আধুনিক ডাটাবেসে লেনদেনগুলি আরও কিছু কাজ করে - যেমন আপনি নিশ্চিত হন যে কোনও ব্যক্তি অর্ধেকভাবে লিখেছেন এমন ডেটা অ্যাক্সেস করতে পারবেন না। তবে মৌলিক ধারণাটি একই - লেনদেনগুলি নিশ্চিত করার জন্য রয়েছে যে যাই ঘটুক না কেন, আপনার সাথে কাজ করা ডেটা বুদ্ধিমান অবস্থায় থাকবে । তারা গ্যারান্টি দেয় যে কোনও অ্যাকাউন্ট থেকে অর্থ উত্তোলন করা হলেও অন্য অ্যাকাউন্টে জমা দেওয়া হবে না এমন পরিস্থিতি তৈরি হবে না।
একটি লেনদেন হল রাষ্ট্র পরিবর্তনের প্রতিনিধিত্ব করার একটি উপায়। লেনদেনের আদর্শভাবে চারটি বৈশিষ্ট্য রয়েছে যা সাধারণত এসিডি নামে পরিচিত:
আরও তথ্যের জন্য উইকিপিডিয়া এসিডি এন্ট্রি দেখুন।
যদিও এটি সাধারণত ডাটাবেসগুলিতে প্রয়োগ হয়, এটি হওয়ার দরকার নেই। (বিশেষত, সফ্টওয়্যার লেনদেন মেমোরি দেখুন ।)
এখানে একটি সহজ ব্যাখ্যা। আপনার অ্যাকাউন্ট এ থেকে অ্যাকাউন্টে বি 100 তে 100 টাকা স্থানান্তর করতে হবে আপনি হয় তা করতে পারেন:
accountA -= 100;
accountB += 100;
অথবা
accountB += 100;
accountA -= 100;
জোড়ায় প্রথম এবং দ্বিতীয় অপারেশনের মধ্যে যদি কিছু সমস্যা হয় তবে আপনার সমস্যা আছে - হয় ১০০ টাকা অদৃশ্য হয়ে গেছে, বা এগুলি কোথাও উপস্থিত হয়নি।
একটি লেনদেন এমন একটি প্রক্রিয়া যা আপনাকে কোনও গ্রুপের ক্রিয়াকলাপ চিহ্নিত করার এবং এ জাতীয়ভাবে চালিত করার অনুমতি দেয় যাতে হয় তারা সকলেই (কমিট) চালায় বা সিস্টেম স্টেটটি এমন হবে যেন তারা একেবারে (রোলব্যাক) চালানো শুরু করে নি।
beginTransaction;
accountB += 100;
accountA -= 100;
commitTransaction;
হয় হয় 100 টাকা স্থানান্তর বা উভয় অ্যাকাউন্ট প্রাথমিক অবস্থায় রেখে দেবে leave
"ডাটা ম্যানিপুলেশন বিবৃতিগুলির একটি সিরিজ যা সম্পূর্ণরূপে সম্পূর্ণ বা সম্পূর্ণ ব্যর্থ হতে হবে, ডাটাবেসকে একটি সামঞ্জস্যপূর্ণ অবস্থায় রেখে"
একটি লেনদেন এক বা একাধিক এসকিউএল অপারেশনের ক্রম যা ইউনিট হিসাবে বিবেচিত হয়।
বিশেষত, প্রতিটি লেনদেন বিচ্ছিন্নভাবে চলতে দেখা যায়, এবং তদ্ব্যতীত, যদি সিস্টেমটি ব্যর্থ হয় তবে প্রতিটি লেনদেন হয় সম্পূর্ণরূপে কার্যকর করা হয় বা সমস্ত কিছু নয়।
লেনদেনের ধারণা দুটি সম্পূর্ণ স্বাধীন উদ্বেগ দ্বারা অনুপ্রাণিত হয়। একাধিক ক্লায়েন্ট দ্বারা ডাটাবেসে একযোগে অ্যাক্সেস করতে হবে, এবং অন্যটি সিস্টেমের ব্যর্থতার জন্য স্থিতিস্থাপক এমন একটি সিস্টেম নিয়ে কাজ করবে।
লেনদেন এসিডি বৈশিষ্ট্য হিসাবে পরিচিত যা সমর্থন করে:
http://en.wikedia.org/wiki/Database_transaction
http://en.wikedia.org/wiki/ACID
ACID = একটি টমিকিটি, সি অ্যানসিসটেন্সি, আই সোলেশন, ডি আরবিলিটি
আপনি যখন একাধিক লেনদেনের সংস্থান একক লেনদেনের সাথে জড়িত থাকতে চান, তখন আপনাকে দ্বি-পর্বের কমিট সমাধানের মতো কিছু ব্যবহার করতে হবে । এক্সএ যথেষ্ট পরিমাণে সমর্থিত।
আমি পরামর্শ দেব যে 'লেনদেন প্রক্রিয়াজাতকরণ' এর একটি সংজ্ঞা আরও কার্যকর হবে, কারণ এটি কম্পিউটার বিজ্ঞানের ধারণা হিসাবে লেনদেনকে কভার করে।
উইকিপিডিয়া থেকে:
কম্পিউটার বিজ্ঞানে, লেনদেন প্রক্রিয়াজাতকরণ হ'ল তথ্য প্রক্রিয়াকরণ যা পৃথক, অবিভাজ্য ক্রিয়ায় বিভক্ত, যাকে লেনদেন বলা হয়। প্রতিটি লেনদেনকে সফল ইউনিট বা সম্পূর্ণ ইউনিট হিসাবে ব্যর্থ হতে হবে; এটি মধ্যবর্তী অবস্থায় থাকতে পারে না।
http://en.wikipedia.org/wiki/Transaction_processing#Implementations
উপরের প্রতিক্রিয়াগুলি ছাড়াও, এটি লক্ষ করা উচিত যে কমপক্ষে তত্ত্বে কোনও লেনদেনের সাথে কী ধরণের সংস্থান জড়িত সে সম্পর্কে কোনও বিধিনিষেধ নেই।
বেশিরভাগ সময়, এটি কেবল একটি ডাটাবেস, বা একাধিক স্বতন্ত্র ডাটাবেস, তবে এটিও অনুমেয় যে কোনও প্রিন্টার কোনও লেনদেনে অংশ নেয় এবং এই লেনদেনকে ব্যর্থ করে দিতে পারে, কাগজের জ্যামের ক্ষেত্রে বলে।
লেনদেনকে ন্যূনতম প্রক্রিয়াকরণ ইউনিট হিসাবে বিবেচিত টাস্কের সংগ্রহ হিসাবে সংজ্ঞায়িত করা যায়। প্রতিটি ন্যূনতম প্রক্রিয়াকরণ ইউনিটকে আরও ভাগ করা যায় না।
লেনদেনের মূল ক্রিয়াকলাপটি পড়তে এবং লিখতে হয়।
সমস্ত লেনদেনে অবশ্যই চারটি বৈশিষ্ট্য থাকতে হবে যা যথার্থতা, সম্পূর্ণতা এবং ডেটা অখণ্ডতা নিশ্চিত করার উদ্দেশ্যে সাধারণত এসিডি বৈশিষ্ট্য হিসাবে পরিচিত।
আমি মনে করি একটি লেনদেন ডিবিএমএসের ক্ষেত্রে একটি পারমাণবিক ক্রিয়া।
এর অর্থ এটি পৃথক করা যায় না। হ্যাঁ, একটি রূপান্তরগুলিতে, সিস্টেমটি কার্যকর করার জন্য বেশ কয়েকটি নির্দেশনা থাকতে পারে। তবে এগুলি একসাথে আবদ্ধ হয় একটি একক বেসিক কাজ শেষ করতে।
উদাহরণ স্বরূপ. আপনার একটি ব্রিজের মধ্য দিয়ে চলতে হবে (আসুন এটি একটি রূপান্তর হিসাবে বিবেচনা করুন) এবং এটি করার জন্য, বলুন, আপনার 100 টি ধাপ দরকার। সামগ্রিকভাবে, এই পদক্ষেপগুলি পৃথক করা যায় না। আপনি যখন অর্ধেকটি করেছেন তখন আপনার জন্য কেবল দুটি পছন্দ রয়েছে: সেগুলি শেষ করে চালিয়ে যান এবং শুরুতে ফিরে যান। এটি ঠিক একটি লেনদেনের ফলাফলের মতো: সাফল্য (প্রতিশ্রুতিবদ্ধ) এবং ব্যর্থ (রোলব্যাক)
লেনদেন ডেটা প্রক্রিয়াকরণের একটি অবিভাজ্য একক - সমস্ত লেনদেনের এসিডি বৈশিষ্ট্য থাকতে হবে:
অর্থাত্: পারমাণবিকতা, ধারাবাহিকতা, বিচ্ছিন্নতা এবং টেকসই লেনদেন হ'ল মধ্যস্থতা ছাড়া কিছুই বা কিছুই নয় (এর অর্থ আপনি যদি একাউন্ট থেকে অন্য অ্যাকাউন্টে আপনার অর্থ স্থানান্তর করেন তবে একটি অ্যাকাউন্টে সে পরিমাণটি হারাতে হবে এবং অন্য অ্যাকাউন্টে সেই পরিমাণ অর্জন করতে হবে, তবে যদি আপনি একটি অ্যাকাউন্ট থেকে অর্থ স্থানান্তর করেন এবং অন্য অ্যাকাউন্টটি এখনও খালি যা কোনও লেনদেন হবে না)