डेटा एक्सेस लेयर को बोगार्ट करना


9

स्थिति: dba एक ऑफसाइट कॉन्ट्रैक्टर है जो TFS में पूरे DAL कोड की जाँच करता रहता है। यह अच्छा होगा कि फ्रंट एंड डेवलपर कॉलम को जोड़ने में सक्षम हो, और प्रोक्स और व्हाट्सन को जोड़ने में सक्षम हो, बिना इस काम के लिए अपने ईमेल का जवाब देने के लिए इस दोस्त की प्रतीक्षा करने पर भरोसा करने के लिए।

प्रश्न: एक अनुशंसित समाधान / प्रक्रिया क्या होगी जो डेटा की अखंडता के साथ-साथ टीम के बीच शांति प्रेम और खुशी को बनाए रखते हुए अधिक तेजी से / फुर्तीले विकास के लिए अनुमति देगा?


मैं यहां इस बात से चिंतित हूं कि आपको एक कॉलम जोड़ने की आवश्यकता क्यों थी और इस कॉलम के साथ क्या व्यावसायिक नियम जुड़े हैं। आपको इसके आस-पास के रास्ते मिल सकते हैं और अंततः कॉलम जोड़ सकते हैं लेकिन क्या होगा यदि आपने गलत डेटा प्रकार, अशक्त सेटिंग्स, इंडेक्स डेफिनिशन का उपयोग किया है, तो क्या होगा यदि स्तंभ तालिका से संबंधित नहीं होना चाहिए या यदि आप एक चौराहे की तालिका को पूरी तरह से याद कर रहे हैं? मुझे लगता है कि नए डेटा को परिभाषित करने के व्यावसायिक प्रभाव के लिए किसी को जिम्मेदार होना चाहिए और किसी को कोड पर डेटाबेस परिवर्तन (डीबीए के अलावा) के प्रभाव के लिए भी जिम्मेदार होना चाहिए। 2 भूमिकाएं एक ही व्यक्ति द्वारा निभाई जा सकती हैं।
NoChance

DBA को अपनी शाखा में काम करने की आवश्यकता है। उन्हें मुख्य विकास शाखा को चेकआउट अधिकार न दें। वैकल्पिक रूप से अपनी स्वयं की देव शाखा बनाएं और आवश्यकतानुसार अपने परिवर्तनों को मर्ज करें।
सोय्लेंटग्रे 18

जवाबों:


11

मार्टिन फाउलर और प्रमोद सदलगे ने इस विषय पर एक उत्कृष्ट लेख लिखा है ।

हर डेवलपर का अपना डेटाबेस होता है जिसमें बदलाव किए जा सकते हैं। इन परिवर्तनों को फिर डीबीए में वापस (एक बदलावकर्ता के रूप में) संप्रेषित किया जाता है जो उन्हें मास्टर डेटाबेस में लागू करता है, इसलिए वह अभी भी इस प्रक्रिया में शामिल है, वह संभवतः डेटाबेस की संरचनाओं और जरूरतों के बारे में सबसे अच्छा जानता है। मुझे लगता है कि यह सबसे अच्छा तरीका है क्योंकि यह प्रक्रिया में शामिल सभी लोगों के लिए संतोषजनक है और यह बहुत चुस्त भी है।

आप डीएएल को एक समान तरीके से बदल सकते हैं। बस अपने परिवर्तन करें और DBA के लिए एक बदलाव प्रदान करें जब आपको लगता है कि आप कर रहे हैं, इसलिए वह इसकी समीक्षा कर सकता है और इसे अपने मास्टर में विलय कर सकता है।


1
ऊओह मुझे पसंद है ... यह मेरा पहला क्यू है इसलिए मैंने अभी तक इसे उतारा नहीं, लेकिन आपको यकीन के लिए एक कॉमिन मिल गया ... शायद / शायद जवाब भी, लेकिन मुझे यह देखने के लिए थोड़ा इंतजार करना पसंद है कि अन्य लोग क्या कहते हैं
स्पेगेटीकोवेबॉय

इसके साथ समस्या यह है कि डेवलपर अपना सारा काम इस धारणा पर करता है कि डीबीए अनुमोदन करेगा।
एचएलजीईएम

@HLEGM: मेरे अनुभव में यह शायद ही कभी मामला है, ज्यादातर बार डीबीए इसे मंजूरी देगा या केवल थोड़ा बदल देगा। यह अभी भी चारों ओर बैठे बेकार देवों से बेहतर है। इसके अलावा, यह शायद सबसे अच्छा समाधान का नेतृत्व करेगा अगर डीबीए और देव दोनों उचित लोग हैं।
फाल्कन

केवल एक लिंक पोस्ट करने के बजाय यह एक उत्कृष्ट लेख क्यों है, यह समझाने के लिए +1।
जेफओ

@HLGEM - मुझे लगता है कि दोनों पक्षों को यह बताने की आवश्यकता है कि वे क्या कर रहे हैं। डीबीए को डीबी मामलों में संदेह का लाभ मिलना चाहिए, लेकिन दोनों को किसी और को जवाब देना होगा जो अंतिम निर्णय होगा।
जेफओ

3

खैर, जब मैं डीबीए की बात कर रहा हूं, तो मुझे सब कुछ लॉक करने के लिए जाना जाता है, ताकि लानत गंदे प्रोग्रामर्स को इसके बारे में जानकारी न मिल सके। हर कोई सोचता है कि वे जानते हैं कि इसे कैसे बेहतर करना है, और वे चीजों को "ट्विक" करते हैं ताकि उन्हें खुद के लिए आसान बनाया जा सके, और यह एक अपवित्र गंदगी का कारण बनता है।

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

यदि वह एकमात्र द्वारपाल होने जा रहा है, तो उसे या तो एक निश्चित युक्ति की आवश्यकता है, या बाकी देवताओं के लिए अपनी दृष्टि को "बेचने" में सक्षम हो।


हम बहुत गंदे हैं ... और कभी-कभी हम बहुत ही अधीर होते हैं और खुद को पूरा करने की जरूरत होती है
स्पेगेटीकोबॉय

@spaghetti: हाँ ... मैं शायद सबसे खराब हूं क्योंकि मैंने बहुत से डीबीए काम किए हैं, इसलिए मैंने दो बार "मुझे पता है कि यह कैसे बेहतर करना है!" अधिकांश प्रोग्रामर की तुलना में। मैं यह कहूंगा: डेटाबेस के साथ, इसे जल्दी से जल्दी प्राप्त करना बहुत महत्वपूर्ण है ... यदि आप परियोजना में देर तक जोड़ते रहते हैं, तो यह निश्चित रूप से मुद्दों का कारण बनने वाला है।
शैतानिकपुपी

3

एक बड़ी समस्या यह है कि किसी भी अन्य समस्या का निवारण करती है:

  1. ठेकेदार हमेशा कोड की जाँच क्यों करता है?

उसे ऐसा करने की अनुमति क्यों है? जब तक वे सक्रिय रूप से संपादन नहीं कर रहे हैं, तब तक किसी के पास कोई फ़ाइल नहीं होनी चाहिए। चेकआउट के बारे में एक टीम नीति होनी चाहिए।

ठेकेदार (वे इसे पसंद करते हैं या नहीं) एक टीम के हिस्से के रूप में काम करता है, और कभी-कभी टीम के अन्य सदस्यों को बदलाव करने की आवश्यकता हो सकती है। यह एक संचार मुद्दा है। दुर्भाग्य से, इस संचार समस्या को ठीक करने का कोई स्वचालित तरीका नहीं है।


1

क्षैतिज परतों के बजाय, मैं साइलो के पार परतों में काम करना पसंद करता हूं।

इस तरह से कोई भी 1 व्यक्ति / टीम इस तरह से ब्लॉक नहीं कर सकता है।

इसका मतलब यह भी है कि आप डेवलपर बहु-कुशल हैं और सुविधाओं को अधिक आसानी से स्थानांतरित करने में सक्षम हैं।

बेशक, ऐसे खंड (यूआई डिज़ाइन, और डीबी डिज़ाइन) हैं, जिन्हें अधिक विशेष कार्य की आवश्यकता हो सकती है, लेकिन आपको यह विचार मिलता है।


1

सरल, यदि आप पहले से ही नहीं हैं, तो आपके पास 3 वातावरण होना चाहिए:

  • विकास पर्यावरण
  • क्यूए पर्यावरण
  • उत्पादन वातावरण

आपके डेवलपर्स द्वारा develoment वातावरण का प्रशासन किया जाना चाहिए।

आप आरसी वातावरण भी जोड़ना चाह सकते हैं।

एक अन्य उत्तर, यदि एकाधिक वातावरण संभव नहीं है, तो आप एक नकली रिपॉजिटरी के खिलाफ विकसित हो सकते हैं ... इस तरह से आप अपने मॉडल बनाते हैं और फिर आपके मॉडल डीबी से मेल खाने के लिए आपका ठेकेदार जिम्मेदार होता है। एक तरह से यह बेहतर है क्योंकि यह डेटाबेस के बारे में चिंता करने से आपके डेवलपर्स को मुक्त करता है।


1
ओपी उस कोड के बारे में बात कर रहा है जिसे चेक किया गया है। अलग-अलग वातावरण का असर नहीं होता।
NotMe

1

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


+1: यह समस्या का कारण भी हो सकता है। कई कंपनियों के पास बहुत कम डीबीए हैं।
फाल्कन

1

यह एक तकनीकी समस्या जितना प्रबंधन का मुद्दा है।

किसी भी प्रकार के डेटाबेस में बदलाव करने से डेवलपर्स को दूर रखने के लिए निश्चित रूप से डीबीए (चाहे ऑनसाइट या बंद, ठेकेदार या कर्मचारी) के लिए वैध कारण हैं।

हालाँकि आपके द्वारा परिभाषित मुख्य मुद्दा उपलब्धता में से एक है। क्या आपके प्रबंधक को पता है कि इस व्यक्ति की प्रतीक्षा में समय / पैसा बर्बाद होता है? यदि नहीं, तो आप इसे ऊपर लाना चाहते हैं कि हर कोई कैसे बैठा है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.