ডাটাবেস লেনদেন কি?


114

কম্পিউটারের ক্ষেত্রে (উইকিপিডিয়া থেকে অনুলিপি করা থাকলেও) কোনও লেনদেনের কোনও সরল (তবে সম্ভবের চেয়ে সহজ নয়) ব্যাখ্যা প্রদান করতে পারেন?

উত্তর:


239

লেনদেন হ'ল কাজের একটি একক যা আপনি "সামগ্রিক" হিসাবে বিবেচনা করতে চান। এটি হয় পুরোপুরি ঘটতে হবে বা মোটেও হবে না।

একটি শাস্ত্রীয় উদাহরণ হ'ল এক ব্যাংক অ্যাকাউন্ট থেকে অন্য অ্যাকাউন্টে অর্থ স্থানান্তর করা। এটি করতে আপনার প্রথমে উত্স অ্যাকাউন্ট থেকে পরিমাণটি উত্তোলন করতে হবে এবং তারপরে এটি গন্তব্য অ্যাকাউন্টে জমা করতে হবে। অপারেশন পুরোপুরি সফল হতে হবে। আপনি যদি অর্ধেক পথ বন্ধ করেন, অর্থটি নষ্ট হয়ে যাবে, এবং এটি খুব খারাপ।

আধুনিক ডাটাবেসে লেনদেনগুলি আরও কিছু কাজ করে - যেমন আপনি নিশ্চিত হন যে কোনও ব্যক্তি অর্ধেকভাবে লিখেছেন এমন ডেটা অ্যাক্সেস করতে পারবেন না। তবে মৌলিক ধারণাটি একই - লেনদেনগুলি নিশ্চিত করার জন্য রয়েছে যে যাই ঘটুক না কেন, আপনার সাথে কাজ করা ডেটা বুদ্ধিমান অবস্থায় থাকবে । তারা গ্যারান্টি দেয় যে কোনও অ্যাকাউন্ট থেকে অর্থ উত্তোলন করা হলেও অন্য অ্যাকাউন্টে জমা দেওয়া হবে না এমন পরিস্থিতি তৈরি হবে না।


খুব সহজ উদাহরণের জন্য ধন্যবাদ
Nomadme

সুন্দর ব্যাখ্যা!
ইয়ান মায়ো অং

81

একটি লেনদেন হল রাষ্ট্র পরিবর্তনের প্রতিনিধিত্ব করার একটি উপায়। লেনদেনের আদর্শভাবে চারটি বৈশিষ্ট্য রয়েছে যা সাধারণত এসিডি নামে পরিচিত:

  • পারমাণবিক (যদি পরিবর্তনটি প্রতিশ্রুতিবদ্ধ হয় তবে এটি এক ঝরনার মধ্যে পড়ে; আপনি কখনই "অর্ধ পরিবর্তন" দেখতে পারবেন না)
  • সামঞ্জস্যপূর্ণ (পরিবর্তন কেবল তখনই ঘটতে পারে যখন সিস্টেমের নতুন রাষ্ট্র বৈধ হবে; অবৈধ পরিবর্তন করার যে কোনও প্রচেষ্টা ব্যর্থ হবে, সিস্টেমটিকে তার আগের বৈধ অবস্থায় রেখে যাবে)
  • বিচ্ছিন্ন (প্রতিশ্রুতি না হওয়া পর্যন্ত অন্য কেউ লেনদেনের কোনও অংশ দেখে না)
  • টেকসই (একবার পরিবর্তন হয়েছে - যদি সিস্টেম বলে যে লেনদেন প্রতিশ্রুতিবদ্ধ হয়েছে, ক্লায়েন্টকে পরিবর্তনটিকে "স্টিক" করার জন্য সিস্টেমটিকে "ফ্লাশিং" সম্পর্কে চিন্তা করার দরকার নেই)

আরও তথ্যের জন্য উইকিপিডিয়া এসিডি এন্ট্রি দেখুন।

যদিও এটি সাধারণত ডাটাবেসগুলিতে প্রয়োগ হয়, এটি হওয়ার দরকার নেই। (বিশেষত, সফ্টওয়্যার লেনদেন মেমোরি দেখুন ।)


46

এখানে একটি সহজ ব্যাখ্যা। আপনার অ্যাকাউন্ট এ থেকে অ্যাকাউন্টে বি 100 তে 100 টাকা স্থানান্তর করতে হবে আপনি হয় তা করতে পারেন:

accountA -= 100;
accountB += 100;

অথবা

accountB += 100;
accountA -= 100;

জোড়ায় প্রথম এবং দ্বিতীয় অপারেশনের মধ্যে যদি কিছু সমস্যা হয় তবে আপনার সমস্যা আছে - হয় ১০০ টাকা অদৃশ্য হয়ে গেছে, বা এগুলি কোথাও উপস্থিত হয়নি।

একটি লেনদেন এমন একটি প্রক্রিয়া যা আপনাকে কোনও গ্রুপের ক্রিয়াকলাপ চিহ্নিত করার এবং এ জাতীয়ভাবে চালিত করার অনুমতি দেয় যাতে হয় তারা সকলেই (কমিট) চালায় বা সিস্টেম স্টেটটি এমন হবে যেন তারা একেবারে (রোলব্যাক) চালানো শুরু করে নি।

beginTransaction;
accountB += 100;
accountA -= 100;
commitTransaction;

হয় হয় 100 টাকা স্থানান্তর বা উভয় অ্যাকাউন্ট প্রাথমিক অবস্থায় রেখে দেবে leave


31

"ডাটা ম্যানিপুলেশন বিবৃতিগুলির একটি সিরিজ যা সম্পূর্ণরূপে সম্পূর্ণ বা সম্পূর্ণ ব্যর্থ হতে হবে, ডাটাবেসকে একটি সামঞ্জস্যপূর্ণ অবস্থায় রেখে"


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

10

একটি লেনদেন এক বা একাধিক এসকিউএল অপারেশনের ক্রম যা ইউনিট হিসাবে বিবেচিত হয়।

বিশেষত, প্রতিটি লেনদেন বিচ্ছিন্নভাবে চলতে দেখা যায়, এবং তদ্ব্যতীত, যদি সিস্টেমটি ব্যর্থ হয় তবে প্রতিটি লেনদেন হয় সম্পূর্ণরূপে কার্যকর করা হয় বা সমস্ত কিছু নয়।

লেনদেনের ধারণা দুটি সম্পূর্ণ স্বাধীন উদ্বেগ দ্বারা অনুপ্রাণিত হয়। একাধিক ক্লায়েন্ট দ্বারা ডাটাবেসে একযোগে অ্যাক্সেস করতে হবে, এবং অন্যটি সিস্টেমের ব্যর্থতার জন্য স্থিতিস্থাপক এমন একটি সিস্টেম নিয়ে কাজ করবে।

লেনদেন এসিডি বৈশিষ্ট্য হিসাবে পরিচিত যা সমর্থন করে:

  • উঃ পারমাণবিকতা;
  • সি: ধারাবাহিকতা;
  • আমি: বিচ্ছিন্নতা;
  • ডি: স্থায়িত্ব।

4

http://en.wikedia.org/wiki/Database_transaction
http://en.wikedia.org/wiki/ACID
ACID = একটি টমিকিটি, সি অ্যানসিসটেন্সি, আই সোলেশন, ডি আরবিলিটি

আপনি যখন একাধিক লেনদেনের সংস্থান একক লেনদেনের সাথে জড়িত থাকতে চান, তখন আপনাকে দ্বি-পর্বের কমিট সমাধানের মতো কিছু ব্যবহার করতে হবে । এক্সএ যথেষ্ট পরিমাণে সমর্থিত।


1

আমি পরামর্শ দেব যে 'লেনদেন প্রক্রিয়াজাতকরণ' এর একটি সংজ্ঞা আরও কার্যকর হবে, কারণ এটি কম্পিউটার বিজ্ঞানের ধারণা হিসাবে লেনদেনকে কভার করে।

উইকিপিডিয়া থেকে:

কম্পিউটার বিজ্ঞানে, লেনদেন প্রক্রিয়াজাতকরণ হ'ল তথ্য প্রক্রিয়াকরণ যা পৃথক, অবিভাজ্য ক্রিয়ায় বিভক্ত, যাকে লেনদেন বলা হয়। প্রতিটি লেনদেনকে সফল ইউনিট বা সম্পূর্ণ ইউনিট হিসাবে ব্যর্থ হতে হবে; এটি মধ্যবর্তী অবস্থায় থাকতে পারে না।

http://en.wikipedia.org/wiki/Transaction_processing#Implementations


1

উপরের প্রতিক্রিয়াগুলি ছাড়াও, এটি লক্ষ করা উচিত যে কমপক্ষে তত্ত্বে কোনও লেনদেনের সাথে কী ধরণের সংস্থান জড়িত সে সম্পর্কে কোনও বিধিনিষেধ নেই।

বেশিরভাগ সময়, এটি কেবল একটি ডাটাবেস, বা একাধিক স্বতন্ত্র ডাটাবেস, তবে এটিও অনুমেয় যে কোনও প্রিন্টার কোনও লেনদেনে অংশ নেয় এবং এই লেনদেনকে ব্যর্থ করে দিতে পারে, কাগজের জ্যামের ক্ষেত্রে বলে।


1

লেনদেনকে ন্যূনতম প্রক্রিয়াকরণ ইউনিট হিসাবে বিবেচিত টাস্কের সংগ্রহ হিসাবে সংজ্ঞায়িত করা যায়। প্রতিটি ন্যূনতম প্রক্রিয়াকরণ ইউনিটকে আরও ভাগ করা যায় না।

লেনদেনের মূল ক্রিয়াকলাপটি পড়তে এবং লিখতে হয়।

সমস্ত লেনদেনে অবশ্যই চারটি বৈশিষ্ট্য থাকতে হবে যা যথার্থতা, সম্পূর্ণতা এবং ডেটা অখণ্ডতা নিশ্চিত করার উদ্দেশ্যে সাধারণত এসিডি বৈশিষ্ট্য হিসাবে পরিচিত।


0

আমি মনে করি একটি লেনদেন ডিবিএমএসের ক্ষেত্রে একটি পারমাণবিক ক্রিয়া।

এর অর্থ এটি পৃথক করা যায় না। হ্যাঁ, একটি রূপান্তরগুলিতে, সিস্টেমটি কার্যকর করার জন্য বেশ কয়েকটি নির্দেশনা থাকতে পারে। তবে এগুলি একসাথে আবদ্ধ হয় একটি একক বেসিক কাজ শেষ করতে।

উদাহরণ স্বরূপ. আপনার একটি ব্রিজের মধ্য দিয়ে চলতে হবে (আসুন এটি একটি রূপান্তর হিসাবে বিবেচনা করুন) এবং এটি করার জন্য, বলুন, আপনার 100 টি ধাপ দরকার। সামগ্রিকভাবে, এই পদক্ষেপগুলি পৃথক করা যায় না। আপনি যখন অর্ধেকটি করেছেন তখন আপনার জন্য কেবল দুটি পছন্দ রয়েছে: সেগুলি শেষ করে চালিয়ে যান এবং শুরুতে ফিরে যান। এটি ঠিক একটি লেনদেনের ফলাফলের মতো: সাফল্য (প্রতিশ্রুতিবদ্ধ) এবং ব্যর্থ (রোলব্যাক)


0

লেনদেন ডেটা প্রক্রিয়াকরণের একটি অবিভাজ্য একক - সমস্ত লেনদেনের এসিডি বৈশিষ্ট্য থাকতে হবে:

অর্থাত্: পারমাণবিকতা, ধারাবাহিকতা, বিচ্ছিন্নতা এবং টেকসই লেনদেন হ'ল মধ্যস্থতা ছাড়া কিছুই বা কিছুই নয় (এর অর্থ আপনি যদি একাউন্ট থেকে অন্য অ্যাকাউন্টে আপনার অর্থ স্থানান্তর করেন তবে একটি অ্যাকাউন্টে সে পরিমাণটি হারাতে হবে এবং অন্য অ্যাকাউন্টে সেই পরিমাণ অর্জন করতে হবে, তবে যদি আপনি একটি অ্যাকাউন্ট থেকে অর্থ স্থানান্তর করেন এবং অন্য অ্যাকাউন্টটি এখনও খালি যা কোনও লেনদেন হবে না)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.