2009-07-07 14 views
5

आप कैसे निर्णय लेते हैं कि आपको लेनदेन में एसक्यूएल लपेटना चाहिए?डेटाबेस लेनदेन का उपयोग करने का निर्णय कैसे लें

कृपया इस पर कुछ प्रकाश डालें।

चीयर्स !!

+0

@Lance रॉबर्ट्स पढ़ें , tsql कहाँ से आया था? यह किसी भी डेटाबेस पर लागू हो सकता है। ओपी ने एसक्यूएल सर्वर कभी नहीं कहा। –

उत्तर

8

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

उदाहरण के लिए, यदि आपके पास एक अद्यतन के बाद एक सम्मिलित है, तो क्या होता है यदि सम्मिलन सफल होता है और अद्यतन विफल रहता है? यदि इसके परिणामस्वरूप अधूरा डेटा (इस मामले में, एक अनाथाश्रम रिकॉर्ड) होगा, तो आपको "सेट" के रूप में पूरा करने के लिए लेनदेन में दो कथन लपेटना चाहिए।

+2

"जब आपको किसी बदलाव के सेट की आवश्यकता होती है तो संसाधित होने की आवश्यकता होती है" मुझे लगता है कि दूसरी 'ज़रूरतें' अनावश्यक है। –

4

यदि आपके पास कार्य पूरा करने के लिए निष्पादित करने के लिए एक से अधिक डेटा संशोधित कथन है, तो सभी लेनदेन के भीतर होना चाहिए।

इस तरह, यदि पहला सफल होता है, लेकिन निम्न में से किसी एक में कोई त्रुटि है, तो आप सब कुछ रोलबैक (पूर्ववत) कर सकते हैं जैसे कि कुछ भी नहीं किया गया था।

3

जब भी आप इसे पसंद नहीं करेंगे तो ऑपरेशन का हिस्सा पूरा हो सकता है और इसका हिस्सा नहीं है।

5

यदि आप दो या दो से अधिक कथन निष्पादित कर रहे हैं जिन्हें आप कार्यात्मक रूप से परमाणु होने की उम्मीद करते हैं, तो आपको उन्हें लेनदेन में लपेटना चाहिए।

1

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

गंभीरता से, उपरोक्त में से कोई भी जवाब व्यापार-बंद और संभावित समस्याओं को स्वीकार करता है जो लेनदेन के भारी उपयोग के साथ आते हैं। सावधान रहें, और हर बार जोखिम/इनाम पर विचार करें।

eBay उनका उपयोग नहीं करता है। मुझे यकीन है कि कई अन्य हैं।

http://www.infoq.com/interviews/dan-pritchett-ebay-architecture

+0

अन्य तकनीकों के साथ लेनदेन को प्रतिस्थापित करने के तरीके पर दृष्टिकोण देखने के लिए यह हमेशा दिलचस्प था। –

0

जब भी कोई आपरेशन एसिड (Atomicity, संगति, अलगाव, टिकाऊपन) मापदंड के अंतर्गत आता है आप लेन-देन

का उपयोग करना चाहिए इस article

संबंधित मुद्दे

 संबंधित मुद्दे