लेनदेन प्रक्रिया

कंप्यूटर विज्ञान में ट्रांसैक्शन प्रसंस्करण ऐसी सूचना प्रसंस्करण प्रक्रिया है जिसे अलग-अलग अविभाज्य परिचालनों में विभाजित किया जा सकता है। प्रत्येक ट्रांसैक्शन पूर्ण इकाई के रूप में सफल या विफल होना चाहिए, यह कभी भी आंशिक रूप से पूर्ण नहीं हो सकता हैं।

उदाहरण के लिए जब आप किसी ऑनलाइन बुकस्टोर से कोई पुस्तक खरीदते हैं, तो आप पुस्तक के लिए श्रेय के रूप में पैसे का आदान-प्रदान करते हैं। यदि आपका क्रेडिट अच्छा है, तो संबंधित कार्यों की श्रृंखला यह सुनिश्चित करती है कि आपको किताब मिल जाए और बुकस्टोर को आपका पैसा मिल जाए। चूंकि, यदि यह लेन-देन के समय इस श्रेणी में भी यह प्रक्रिया विफल हो जाती है, तो संपूर्ण लेन-देन विफल हो जाता है। आपको किताब नहीं मिलती और किताबों की दुकान को आपका पैसा नहीं मिल पाता हैं। इस प्रकार के लेन-देन को संतुलित और पूर्वानुमेय बनाने के लिए इस प्रकार की उत्तरदायी तकनीक को ट्रांजैक्शन प्रक्रिया कहा जाता है। ट्रांसैक्शन सुनिश्चित करता हैं कि डेटा-उन्मुख संसाधन तब तक स्थायी रूप से अपडेट नहीं होता है जब तक कि ट्रांसैक्शन इकाई के भीतर सभी संचालन सफलतापूर्वक पूर्ण नहीं हो जाते हैं। संबंधित संचालन के समुच्चयों को इकाईयो में जोड़कर या तो पूर्ण रूप से सफल होता है या पूर्ण रूप से विफल रहता है, इस प्रकार की त्रुटियों में सुधार करने के लिए इसको और भी सरल बनाया जा सकता है और अपने आवेदन को और अधिक विश्वसनीय बनाया जा सकता है।

ट्रांसैक्शन प्रसंस्करण प्रणाली में कंप्यूटर हार्डवेयर और सॉफ़्टवेयर सम्मिलित होते हैं जो ट्रांसैक्शन उन्मुख अनुप्रयोग का उपयोग करते हैं जो व्यवसाय करने के लिए आवश्यक नियमित लेनदेन करता है। उदाहरणों में ऐसी प्रणालियाँ सम्मिलित हैं जो बिक्री आदेश प्रविष्टि तथा एयरलाइन आरक्षण, पेरोल, कर्मचारी रिकॉर्ड, निर्माण और शिपिंग का प्रबंधन करती हैं।

चूंकि अधिकांश रूप से आवश्यक नहीं हैं कि सभी ट्रांसैक्शन प्रसंस्करण आज इंटरैक्टिव है, इस शब्द को अधिकांशतः ऑनलाइन लेनदेन प्रसंस्करण के पर्याय के रूप में माना जाता है।

विवरण
ट्रांसैक्शन प्रसंस्करण को सिस्टम की अखंडता को सामान्यतः डेटाबेस या कुछ आधुनिक फाइल सिस्टम को ज्ञात करने के लिए तथा सुसंगत स्थितियों में बनाए रखने के लिए डिज़ाइन किया गया है, यह सुनिश्चित करना आवश्यक होता हैं कि सिस्टम पर अन्योन्याश्रित संचालन या तो सभी सफलतापूर्वक पूर्ण हो गए हैं या सभी सफलतापूर्वक निरस्त कर दिए गए हैं।

उदाहरण के लिए विशिष्ट बैंकिंग लेनदेन पर विचार किया जाता हैं जिसमें ग्राहक के बचत खाते से ग्राहक के चेकिंग खाते में $700 स्थानांतरित करना सम्मिलित है। इस ट्रांसैक्शन में कंप्यूटर के संदर्भ में कम से कम दो अलग-अलग ऑपरेशन सम्मिलित हैं: इस प्रकार के बचत खाते को $700 से डेबिट करना और चेकिंग खाते को $700 से जमा करना आवश्यक हैं। यदि ऑपरेशन सफल हो जाता है अपितु दूसरा सफल नहीं होता है, तो दिन के अंत में बैंक की पुस्तकें शेष नहीं रहेंगी। इसलिए यह सुनिश्चित करने का तरीका होना आवश्यक होता हैं कि या तो दोनों प्रक्रियाएँ सफल हों या दोनों विफल हों जाए जिससे कि बैंक के समग्र डेटाबेस में कभी कोई असंगति न रहता हैं।

ट्रांसैक्शन प्रसंस्करण एकल अविभाज्य लेनदेन में कई अलग-अलग संचालन को जोड़ता है, और यह सुनिश्चित करता है कि या तो लेनदेन में सभी संचालन त्रुटि के बिना पूर्ण हो जाते हैं, या उनमें से कोई भी नहीं है। यदि कुछ ऑपरेशन पूरे हो जाते हैं अपितु अन्य का प्रयास करने पर त्रुटियां होती हैं, तो लेनदेन-प्रसंस्करण प्रणाली लेनदेन के सभी संचालन इनमें से सफल लोगों के सहित वापस ले लेती है, जिससे ट्रांसैक्शन के सभी निशान मिटा दिए जाते हैं और सिस्टम को ट्रांसैक्शन में पुनर्स्थापित कर दिया जाता है। सुसंगत, ज्ञात स्थिति कि यह ट्रांसैक्शन की प्रक्रिया प्रारंभ होने से पहले थी। यदि ट्रांसैक्शन के सभी ऑपरेशन सफलतापूर्वक पूरे हो जाते हैं, तो सिस्टम द्वारा लेनदेन को कमिट (डेटा प्रबंधन) कर दिया जाता है, और डेटाबेस में सभी परिवर्तन स्थायी कर दिए जाते हैं, इसके पश्चात ट्रांसैक्शन को वापस नहीं लाया जा सकता है।

ट्रांसैक्शन प्रसंस्करण हार्डवेयर और सॉफ़्टवेयर त्रुटियों के विरुद्ध गार्ड जो आंशिक रूप से पूर्ण किए गए लेनदेन को छोड़ सकते हैं। यदि ट्रांसैक्शन के बीच में कंप्यूटर सिस्टम क्रैश हो जाता है, तो ट्रांसैक्शन प्रसंस्करण प्रणाली गारंटी देती है कि किसी भी अप्रतिबंधित लेनदेन में सभी संचालन निरस्त कर दिए जाते हैं।

सामान्यतः ट्रांसैक्शन समवर्ती रूप से प्रस्तुत कर दिए जाते हैं। यदि वे ओवरलैप करते हैं अर्ताथ डेटाबेस के ही भागों को छूने की आवश्यकता होती है, तो यह विरोध उत्पन्न कर सकता है। उदाहरण के लिए, यदि ऊपर दिए गए उदाहरण में उल्लिखित ग्राहक के बचत खाते में $150 हैं और वह $100 को अलग व्यक्ति को स्थानांतरित करने का प्रयास करता है, जबकि उसी समय चेकिंग खाते में $100 ले जाता है, तो उनमें से केवल ही सफल हो सकता है। चूंकि यह ट्रांसैक्शन को क्रमिक रूप से संसाधित करने के लिए मजबूर करना अक्षम है। इसलिए ट्रांसैक्शन प्रसंस्करण के समवर्ती कार्यान्वयन को यह गारंटी देने के लिए प्रोग्राम किया गया है कि अंतिम परिणाम संघर्ष-मुक्त परिणाम को दर्शाता है, जैसा कि किसी भी क्रम में लेनदेन को क्रमिक रूप से निष्पादित करने पर पहुँचा जा सकता है। हमारे उदाहरण में इसका अर्थ यह है कि कोई भी ट्रांसैक्शन पहले प्रस्तुत नहीं किया गया था, या तो अलग व्यक्ति को स्थानांतरण या चेकिंग खाते में स्थानांतरण सफल होता है, जबकि दूसरा विफल रहता है।

कार्यप्रणाली
सभी ट्रांसैक्शन-प्रसंस्करण प्रणालियों के मूल सिद्धांत समान हैं। चूंकि यह शब्दावली ट्रांसैक्शन प्रसंस्करण प्रणाली से दूसरे में भिन्न हो सकती है, और नीचे उपयोग की जाने वाली शर्तें आवश्यक रूप से सार्वभौमिक नहीं हैं।

रोलबैक
ट्रांसैक्शन प्रसंस्करण प्रणालियाँ डेटाबेस की मध्यवर्ती अवस्थाओं को रिकॉर्ड करके डेटाबेस की अखंडता सुनिश्चित करती हैं, जैसा कि संशोधित किया गया है, फिर इन रिकॉर्डों का उपयोग करके डेटाबेस को ज्ञात स्थिति में पुनर्स्थापित करने के लिए यदि कोई लेनदेन नहीं किया जा सकता है। उदाहरण के लिए इस प्रकार के ट्रांसैक्शन द्वारा इसके संशोधन से पहले डेटाबेस पर जानकारी की प्रतियां सिस्टम द्वारा अलग रखी जाती हैं, इससे पहले कि ट्रांसैक्शन कोई भी संशोधन कर सके इसे कभी-कभी इस प्रकार के प्रतिबिंब से पहले रखा जाता है। यदि ट्रांसैक्शन का कोई भाग कमिट होने से पहले विफल हो जाता है, तो इन प्रतियों का उपयोग डेटाबेस को उस स्थिति में पुनर्स्थापित करने के लिए किया जाता है, जिसमें इस प्रकार के ट्रांसैक्शन को प्रारंभ होने से पहले रखा जाता था।

रोलफॉरवर्ड
डेटाबेस प्रबंधन प्रणाली में सभी संशोधनों का अलग साधारण कम्प्यूटिंग रखना भी संभव है। कभी-कभी इन इमेजस के पश्चात इन्हें उपयोग किया जाता है। इस प्रकार के असफल ट्रांसैक्शन के रोलबैक के लिए इसकी आवश्यकता नहीं होती है, अपितु यह डेटाबेस विफलता की स्थिति में डेटाबेस प्रबंधन प्रणाली को अद्यतन करने के लिए उपयोगी है, इसलिए कुछ लेनदेन-प्रसंस्करण सिस्टम इसे प्रदान करते हैं। यदि डेटाबेस प्रबंधन प्रणाली पूर्ण रूप से विफल हो जाती है, तो इसे नवीनतम बैक-अप से पुनर्स्थापित किया जाना चाहिए। इस प्रकार से बैक-अप किए जाने के पश्चात किए गए ट्रांसैक्शन को बैक-अप प्रतिबिंबित नहीं करेगा। चूंकि, बार डेटाबेस प्रबंधन प्रणाली बहाल हो जाने के बाद, डेटाबेस प्रबंधन प्रणाली को अद्यतित करने के लिए पश्चात इन छवियों के साधारण रोलफ़ॉरवर्ड डेटाबेस पर लागू किया जा सकता है। विफलता के समय कोई भी ट्रांसैक्शन प्रगति पर वापस लाया जा सकता है। परिणाम सुसंगत, ज्ञात स्थिति में डेटाबेस है जिसमें विफलता के क्षण तक किए गए सभी ट्रांसैक्शन के परिणाम सम्मिलित हैं।

गतिरोध
कुछ स्थितियों में दो ट्रांसैक्शन, उनके प्रसंस्करण के समय में डेटाबेस के ही भाग तक पहुंचने का प्रयास कर सकते हैं, जो उन्हें आगे बढ़ने से रोकता है। उदाहरण के लिए ट्रांसैक्शन A डेटाबेस के भाग X तक पहुँच सकता है, और लेनदेन B डेटाबेस के भाग Y तक पहुँच सकता है। यदि उस बिंदु पर, ट्रांसैक्शन A तब डेटाबेस के भाग Y तक पहुँचने का प्रयास करता है, जबकि ट्रांसैक्शन B भाग X तक पहुँचने का प्रयास करता है, गतिरोध उत्पन्न होता है, और कोई भी ट्रांसैक्शन आगे नहीं बढ़ सकता है। ट्रांसैक्शन-प्रसंस्करण प्रणालियों को इन गतिरोधों का पता लगाने के लिए डिज़ाइन किया गया है जब वे होते हैं। सामान्यतः दोनों ट्रांसैक्शन निरस्त कर दिए जाएंगे और वापस ले लिए जाएंगे, और फिर उन्हें अलग क्रम में, स्वचालित रूप से फिर से प्रारंभ किया जाएगा, जिससे कि गतिरोध पुनः से नहीं होता हैं। इसके कारण कभी-कभी इस प्रकार के गतिरोध वाले ट्रांसैक्शन में से केवल को निरस्त कर दिया जाएगा, वापस ले लिया जाएगा, और थोड़ी देरी के बाद स्वचालित रूप से फिर से प्रारंभ हो जाएगा।

गतिरोध तीन या अधिक ट्रांसैक्शन के बीच भी हो सकता है। जितने अधिक ट्रांसैक्शन सम्मिलित होते हैं, उनका पता लगाना उतना ही कठिन होता है, इस सीमा तक ट्रांसैक्शन प्रसंस्करण प्रणाली को पता चलता है कि गतिरोध की व्यावहारिक सीमा है जिसका वे पता लगा सकते हैं।

प्रतिकारी लेनदेन
उन प्रणालियों में जहां कमिट और रोलबैक तंत्र उपलब्ध या अवांछनीय नहीं हैं, क्षतिपूर्ति लेनदेन का उपयोग अधिकांशतः विफल लेनदेन को पूर्ववत करने और सिस्टम को पिछली स्थिति में पुनर्स्थापित करने के लिए किया जाता है।

एसीआईडी ​​​​मानदंड
जिम ग्रे (कंप्यूटर वैज्ञानिक) ने 1970 के दशक के अंत में परिवर्णी शब्द ACID-परमाण्विकता, संगति, अलगाव और स्थायित्व के तहत विश्वसनीय लेनदेन प्रणाली के गुणों को परिभाषित किया जाता हैं।

परमाणुता
इस स्थिति में ट्रांसैक्शन के परिवर्तन परमाणु हैं: इसके कारण या तो सब कुछ होता है या कुछ भी नहीं होता है। इन परिवर्तनों में ट्रांसड्यूसर पर डेटाबेस परिवर्तन, संदेश और क्रियाएं सम्मिलित हैं।

अविरोध
अविरोध डेटाबेस सिस्टम : ट्रांसैक्शन स्थिति का सही परिवर्तन है। समूह के रूप में की गई कार्रवाइयां स्थिति से जुड़ी किसी भी अखंडता की बाधाओं का उल्लंघन नहीं करती हैं।

पृथकत्व
भले ही ट्रांसैक्शन समवर्ती रूप से निष्पादित होते हैं, यह प्रत्येक लेनदेन T को प्रतीत होता है, कि अन्य T से पहले या T के बाद निष्पादित होते हैं, अपितु दोनों नहीं होते हैं।

स्थायित्व
इस प्रकार जब कोई ट्रांसैक्शन सफलतापूर्वक पूरा हो जाता है या कमिट हो जाता है, डेटाबेस में इसके परिवर्तन विफल हो जाते हैं और इसके परिवर्तन निरंतर रहते हैं।

लाभ
ट्रांसैक्शन प्रसंस्करण के ये लाभ हैं:
 * यह कई उपयोगकर्ताओं के बीच कंप्यूटर संसाधनों को साझा करने की अनुमति देता है।
 * जब कंप्यूटिंग संसाधन कम व्यस्त होते हैं तो यह जॉब प्रोसेसिंग के समय को परिवर्तित कर देता है।
 * यह मिनट-दर-मिनट मानव संपर्क और पर्यवेक्षण के बिना कंप्यूटिंग संसाधनों को निष्क्रिय करने से बचता है।
 * उन महंगे संसाधनों के उपयोग की उच्च दर को बनाए रखते हुए लागत को परिशोधित करने में मदद करने के लिए कंप्यूटर के महंगे वर्गों पर इसका उपयोग किया जाता है

हानि

 * उनकी अपेक्षाकृत महंगी सेटअप लागत है
 * मानक स्वरूपों की कमी है
 * हार्डवेयर और सॉफ्टवेयर असंगति

कार्यान्वयन
मानक ट्रांसैक्शन-प्रसंस्करण सॉफ़्टवेयर, जैसे कि आईबीएम की सूचना प्रबंधन प्रणाली, पहली बार 1960 के दशक में विकसित की गई थी, और अधिकांशतः विशेष डेटाबेस प्रबंधन प्रणालियों के साथ निकटता से जुड़ी हुई थी। क्लाइंट-सर्वर मॉडल या क्लाइंट सर्वर कंप्यूटिंग ने 1980 के दशक में मिश्रित सफलता के साथ समान सिद्धांतों को लागू किया हैं। चूंकि हाल के वर्षों में वितरित क्लाइंट सर्वर प्रारूप को बनाए रखना अत्यधिक कठिन हो गया है। जैसे-जैसे विभिन्न ऑनलाइन सेवाओं विशेषकर WWW के उत्तर में लेनदेन की संख्या बढ़ी हैं, इस प्रकार के एकल वितरित डेटाबेस व्यावहारिक समाधान नहीं था। इसके अतिरिक्त अधिकांश ऑनलाइन सिस्टम में साथ कार्य करने वाले कार्यक्रमों का पूरा सूट होता है, जो मिख्यतः क्लाइंट सर्वर मॉडल के विपरीत होता है, जहां एकल सर्वर लेनदेन प्रसंस्करण को संभाल सकता है। आज कई ट्रांसैक्शन प्रसंस्करण प्रणालियां उपलब्ध हैं जो इंटर-प्रोग्राम स्तर पर कार्य करती हैं और जो मेनफ़्रेम कंप्यूटर सहित बड़ी प्रणालियों के पैमाने पर कार्य करती हैं।

इस प्रकार X/Open XA|X/Open Distributed Transaction Processing (DTP) (जाना ट्रांसैक्शन API (JTA) को भी देखा जा सकता हैं। चूंकि, IBM के CICS जैसे अधिकृत लेनदेन प्रसंस्करण वातावरण अभी भी बहुत लोकप्रिय हैं, चूंकि सीआईसीएस खुले उद्योग मानकों को भी सम्मिलित करने के लिए विकसित हुआ है।

इस प्रकार के एक्सट्रीम ट्रांजेक्शन प्रोसेसिंग (XTP) शब्द का उपयोग असामान्य रूप से चुनौतीपूर्ण आवश्यकताओं, विशेष रूप से थ्रूपुट आवश्यकताओं (प्रति सेकंड लेनदेन) के साथ लेनदेन प्रसंस्करण प्रणालियों का वर्णन करने के लिए किया गया था। ऐसी प्रणालियाँ वितरित या क्लस्टर शैली के संरचना के माध्यम से लागू की जा सकती हैं। यह कम से कम 2011 तक उपयोग किया गया था।

अग्रिम पठन

 * Gerhard Weikum, Gottfried Vossen, Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery, Morgan Kaufmann, 2002, ISBN 1-55860-508-8
 * Jim Gray, Andreas Reuter, Transaction Processing—Concepts and Techniques, 1993, Morgan Kaufmann, ISBN 1-55860-190-2
 * Philip A. Bernstein, Eric Newcomer, Principles of Transaction Processing, 1997, Morgan Kaufmann, ISBN 1-55860-415-4
 * Ahmed K. Elmagarmid (Editor), Transaction Models for Advanced Database Applications, Morgan-Kaufmann, 1992, ISBN 1-55860-214-3

बाहरी संबंध

 * Nuts and Bolts of Transaction Processing (1999)
 * Managing Transaction Processing for SQL Database Integrity
 * Transaction Processing