डीबीए अधिक 'प्रोग्रामर फ्रेंडली' कैसे हो सकता है?


46

जवाब और पर टिप्पणी dba.se संस्करण और programmers.se संस्करण प्रश्न के "क्या के खिलाफ या डेटाबेस परत में आवेदन तर्क डालने के लिए तर्क हैं?" कुछ कार्यस्थलों में डीबीए और प्रोग्रामर के बीच विभाजन के बारे में बहुत खुलासा होता है।

इस तरह के मुद्दों पर प्रोग्रामर के साथ बेहतर काम करने के लिए डीबीए अलग से क्या कर सकता है?

क्या हमें:

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

जवाबों:


27

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

और कृपया मुझे ऐसा न करने के लिए न कहें और इस तरह से चलें। मेरे साथ काम करो कि तुम मुझे क्या दिखाना चाहते हो, और तुम्हारा रास्ता बेहतर क्यों है। अगर मैं समझता हूं कि मैं हर बार इसका पालन करूंगा। जब मुझे यह नहीं मिलता है तो इसका पालन करना कठिन होता है। मैं डीबीए नहीं बनना चाहता। मुझे प्रोग्रामिंग पसंद है मुझे आपकी नौकरी नहीं चाहिए और अगर आप एक अच्छे डीबीए हैं तो मैं आपका सबसे बड़ा प्रशंसक बनूंगा।


63

मैं पिछले 6.5 वर्षों से MySQL DBA रहा हूं। मैंने एक डेवलपर के रूप में कुछ 16 साल भी बिताए हैं और कई डीबीए के साथ बातचीत की है। उनमें से कई व्यावहारिक हैं। उनमें से कुछ अप्रिय हैं। कुछ को पता नहीं है कि इसका डीबीए होने का क्या मतलब है।

मैं इस नतीजे पर पहुंचा हूं:

तकनीकी रूप से, डीबीए जिनके पास निम्नलिखित में से एक या अधिक गुण हैं, उनके साथ काम करने के लिए सबसे अच्छे हैं:

  1. खुद को डेवलपर्स के रूप में बिताया
  2. डेटाबेस सिद्धांत की समझ है
  3. RDBMS आंतरिक रूप से कैसे काम करता है, इसकी अच्छी समझ रखें
  4. ऑपरेटिंग सिस्टम का बेहतर ज्ञान होना चाहिए

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

जहाँ तक व्यक्तित्व जाते हैं, वहाँ हमेशा टकराव, मनमुटाव, और शायद ईर्ष्या भी होगी। एक बात निश्चित है: किसी विशेष आदेश में, डीबीए और डेवलपर्स पति और पत्नियों की तरह हैं (मैंने 16 साल तक ऑन-गोइंग प्रोजेक्ट्स [4 बच्चे] के साथ खुशी-खुशी शादी की है)।

भले ही पति के रूप में किसे देखा जाए और पत्नी के रूप में किसे देखा जाए, ये सिद्धांत लागू होते हैं:

  1. एक दूसरे से परामर्श करना चाहिए
  2. दूसरे के दृष्टिकोण को महत्व देना चाहिए
  3. दोनों पक्षों की भलाई के लिए निर्णय लेना चाहिए
  4. निर्णय का समर्थन करना चाहिए, न कि सबटोगे का समर्थन करना चाहिए
  5. यदि निर्णयों के बुरे परिणाम होते हैं, तो दूसरे को अस्वीकार नहीं करना चाहिए
  6. निर्णयों की सफलता के लिए दोनों पक्षों के योगदान पर खुशी मनाई जानी चाहिए
  7. यदि कोई निर्णय पारस्परिक रूप से सहमत नहीं हो सकता है, तो एक उच्च प्राधिकारी (एचए) से परामर्श करना चाहिए

ये सात (7) सिद्धांत कार्यस्थल में ही लागू होते हैं, विशेष रूप से आईटी क्षेत्र में।

हर कदम पर संवाद करके, सभी को चाहिए:

  1. उनकी उम्मीदों का लेआउट
  2. पिछले प्रदर्शन के आधार पर दूसरे पक्ष की क्षमता के लिए सम्मान प्रदान करना
  3. भरोसा और भरोसा रखें कि दूसरी पार्टी अपना काम पूरा कर सकती है
  4. हमारी अपनी उम्मीदों पर खरा उतरें
  5. हा के मार्गदर्शन में परिचित (सिद्धांत # 7 देखें)

इसमें माइक्रोएनमेंट के लिए कोई जगह नहीं है। DBAs को TELL Developers नहीं बताएं कि DBA की तरह कैसे सोचें। डेवलपर्स नहीं होना चाहिए DBAs कैसे डेवलपर्स होना चाहिएडेटाबेस प्रदर्शन और उपयोग पर अंतिम निर्णय डीबीए के साथ आराम करना चाहिएआवेदन की जरूरतों पर अंतिम निर्णय डेवलपर्स के साथ आराम करना चाहिए । इस सहजीवन को हमेशा बनाए रखना चाहिए।

अंतिम विचार

सिद्धांत # 7 को HIGHER AUTHORITY (HA) द्वारा सक्रिय भागीदारी और निरीक्षण की आवश्यकता है, अर्थात, परियोजना प्रबंधक, टीम लीडर, लीड डेवलपर। आपका एचए बेहतर जानता है कि दोनों पार्टियां व्यक्तिगत रूप से कैसे काम करती हैं और दोनों पक्षों को एक साथ कैसे काम करना चाहिए। यदि हा दोनों पक्षों के लिए जमीनी नियम स्थापित नहीं करता है, या यदि हा व्यक्तिगत रूप से और एक साथ पार्टियों का मार्गदर्शन करने में विफल रहता है, तो परियोजनाएं हमेशा किसी बिंदु पर रुकेंगी और डेवलपर, डीबीए, के बहुत अस्तित्व (रोजगार) को खतरे में डाल देंगी, या यहां तक ​​कि हा।


28

टीमों के अलग-अलग वर्गों / मंजिलों में बैठने से किसी तरह "हमें बनाम उन्हें" मानसिकता को प्रोत्साहित करने के लिए लगता है।

विकास टीम के बीच में एक डीबीए बैठना प्रोग्रामर / डीबीए दीवार को फाड़ने का एक शानदार तरीका है। डीबीए और प्रोग्रामर दोनों को इससे लाभ होगा, अगर वे खुले दिमाग के रहें और अपने ईगो को एक तरफ रख दें।

आमने-सामने संचार, विशेष रूप से विचारों को साझा करते समय, ईमेल की तुलना में अधिक प्रभावी है और गलतफहमी के कारण कठोर भावनाओं को पैदा करने की कम संभावना है।


20

इस तरह की बात एक जगह से दूसरी जगह बदलती रहती है। मेरी वर्तमान साइट पर, डेवलपर्स और डीबीए के बीच की रेखा वास्तव में बहुत धुंधली है - हम (डीबीए) पीएल / एसक्यूएल भी लिखते हैं, और वे (डेवलपर्स) क्वेरी योजनाओं को विच्छेदित करते हैं। हम सभी अपने आप को सहकर्मी के रूप में देखते हैं, केवल विभिन्न कौशल और जिम्मेदारियों के साथ। यह बहुत ही मनोरंजक है: हाल ही में कंपनी ने DevOps बैंडवागन को ऑन-बोर्ड किया है । डेटाबेस समुदाय इसे बिल्कुल नहीं समझता है; हमने हमेशा उसी तरह काम किया है। कहने की जरूरत नहीं है कि हम इस तरह से काम कर रहे हैं: डेटाबेस टियर दूर हैकंपनी के प्रौद्योगिकी स्टैक का सबसे विश्वसनीय हिस्सा, इसे संचालित करना आसान है (क्योंकि हमारे पास डीबीए टीम में कौशल को एक गहरे स्तर पर आवेदन समझने के लिए है, और डेवलपर्स के पास 24/7/365 संचालन और कैसे समझने के लिए डीबीए एक्सपोज़र है इसके लिए उनके ऐप्स को तैयार करना)।

लेकिन मुझे पता है कि जब आप डेवलपर के "गलत" प्रकार के बारे में बात करते हैं तो आपका क्या मतलब है। वह स्व-सिखाया जाता है, जो अपने आप में एक नेक काम है, लेकिन जिस तरह से वह किसी भी तरह के औपचारिक निर्देशों का अविश्वास उठाता है। वह नहीं जानता कि वह क्या नहीं जानता है , और वह किसी को भी उसे समझाने की कोशिश करता है, वह इसे अपने आत्म-सीखने के कौशल के अपमान के रूप में देखता है। उन्होंने प्रोग्रामिंग की अनिवार्य शैली सीख ली है, क्योंकि आप इसे बिना किसी सिद्धांत सिद्धांत के सीख सकते हैं कि सीएस प्रकार हमेशा के बारे में बड़बड़ा रहा है (अच्छी तरह से, बुरी तरह से, हर किसी को बड़े-ओ को जानने की जरूरत है ;और सिद्धांत के समान बिट्स)। उन्होंने OO का एक सा भी सीखा है, सिर्फ इसलिए कि उन्हें जावा का उपयोग करना है। लेकिन एक अच्छा डेटाबेस पेशेवर - डेवलपर या डीबीए - को एक घोषणात्मक शैली में आरामदायक सोच, सेट सिद्धांत, सामान्य रूपों, यहां तक ​​कि संबंधपरक बीजगणित और कैलकुलस को समझने में सक्षम होने के बारे में सोचना पड़ता है। इन लोगों के साथ संवाद करना बहुत, बहुत मुश्किल है, क्योंकि वे सक्रिय रूप से किसी भी चीज़ के प्रति शत्रुतापूर्ण हैं जो उन्हें उनके आराम क्षेत्र से बाहर कर सकता है, जो कि एक वेब पेज पर कुछ प्रारूपित करने के तरीके से बड़ा और सीमित है। यदि वे सभी डेटाबेस के बारे में सोचते हैं, तो वे सोचते हैं कि एक तालिका एक कक्षा की तरह है और एक पंक्ति एक वस्तु की तरह है। ये लोग शाब्दिक रूप से बस करेंगे SELECT * FROM TABLEऔर अपने कोड में परिणामों को फ़िल्टर और सॉर्ट करेंगे। वे वास्तव में, वास्तव में समझ में नहीं आता है कि एक डेटाबेस एक फ्लैट फ़ाइल से बेहतर क्यों है (और वे नहीं-तो-गुप्त रूप से सोचते हैं कि जो कोई संबंधपरक डेटाबेस का उपयोग करता है वह एक बेवकूफ है)।

मैं आपको एक वास्तविक उदाहरण देता हूं: हाल ही में मैं इनमें से एक प्रकार के मुद्दों पर बात कर रहा था, जो हमारे सॉफ्टवेयर के रिलीज को वापस लाने में शामिल थे, जब यह उत्पादन में चला गया था, तो एक मुद्दा पिछले क्यूए से फिसल गया था। मैंने समझाया कि जब हम उसके एप्लिकेशन (डेटाबेस तक पहुंचने वाले कई में से एक) को रोल कर सकते हैं, तो उसे अभी भी तैनात डेटाबेस के साथ काम करने में सक्षम होने की आवश्यकता होगी। उन्होंने पूछा कि क्यों, और मैंने कहा, ठीक है, उन नए तालिकाओं और स्तंभों में, वास्तविक ग्राहक डेटा होगा। उसने फिर कहा, इसलिए इसे एक अस्थायी तालिका में कॉपी करें, क्या समस्या है। मैंने उसे अविश्वास में घूरते हुए कहा: जब एक ग्राहक कहता है और कहता है, मेरे खाते से मेरे पैसे गायब हो गए हैं, तो हम उसे क्या बताते हैं, कि यह ठीक है, यह एक अस्थायी तालिका में है? उसे बस यह नहीं मिला कि जब आप दूसरे लोगों के पैसे का लेन-देन कर रहे हैं, तो आपको एक जिम्मेदार वयस्क की तरह काम करना होगा। सभी के लिए मुझे पता है कि वह अभी भी नहीं करता है; वह अब हमारे साथ नहीं है।

MySQL शिविर एक लंबे समय के लिए इस तरह थे; वे कहेंगे कि आपको लेन-देन, विदेशी चाबियों आदि की आवश्यकता नहीं थी, अगर आपको लगता है कि आपने ऐसा किया था, क्योंकि आपको पता नहीं था कि आप क्या कर रहे थे, आदि, आदि (फिर जब वे बड़े हो गए, तो उन्होंने चुपचाप उन्हें जोड़ा)। ये ऐसे प्रकार के लोग हैं जिनके लिए ActiveRecord या Hibernate जैसे ORMs विकसित किए गए थे, इसलिए वे SQL को छूने की आवश्यकता के बिना डेटाबेस एप्लिकेशन लिख सकते थे। इन तकनीकों का उपयोग मैं लाल झंडा मानता हूं - यह एक कंपनी नहीं है जो डीबीए कौशल को महत्व देती है। वे वास्तव में क्या चाहते हैं एक दाई ...


18

डेटाबेस को समझने वाले प्रोग्रामर के रूप में मुझे बेहतर प्रोग्रामर बनाया गया। जब मैं एक डेटाबेस प्रशासक बन गया तो यह और भी महत्वपूर्ण हो गया, इसलिए मेरा मानना ​​है कि शिक्षा ही महत्वपूर्ण है।

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


12

कोई फर्क नहीं पड़ता कि हम किस बुनियादी ढांचे का समर्थन करते हैं, हमें इसके उपयोगकर्ताओं का समर्थन करना होगा। बहुत सारे उपयोगकर्ता डेवलपर्स हैं, इसलिए हम डेवलपर्स को उस बुनियादी ढांचे का सर्वोत्तम संभव उपयोग करने में सक्षम करने के लिए समर्थन करते हैं। ऐसा करने में सक्षम होने के लिए हमें एक-दूसरे को समझने की जरूरत है, विभिन्न विचारों और विचारों को ध्यान में रखते हुए। दोनों पक्षों के विचारों के बारे में जानकारी होने से व्यवसाय के लिए चीजों को बेहतर बनाने में मदद मिलती है और यही हमारा संयुक्त लक्ष्य है। जितना हो सके उतनी ही प्रभावशाली तरीके से व्यवसाय को समर्थन दें।

कई संगठनों में हम कुछ डीबीए प्रकारों को देव विधा में देखते हैं। अधिकांश बार ये ऐसे नहीं होते हैं जो योग्यता को मापा जाए तो बहुत अच्छा स्कोर करते हैं ..... अक्सर वे सिर्फ शब्दों की एक दीवार के पीछे अपने - ज्ञान की कमी को छिपाते हैं।

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


9

मुझे लगता है कि समस्या का हिस्सा परिप्रेक्ष्य है। Dbas और डेटा विश्लेषकों और डेटाबेस डेवलपर्स को समय के साथ डेटा से निपटना पड़ता है। एप्लिकेशन डेवलपर चीजों से संबंधित होते हैं कि जब वे इसे उत्पादन के लिए भेजते हैं तो वे कैसे काम करते हैं। वे इस बारे में इतनी चिंता नहीं करते कि छह महीने में डेटा कैसा दिखेगा जब तक कि इसमें कोई त्रुटि न हो जब तक यह तैनात न हो।

लेकिन डेटा लोगों को उन अदूरदर्शी फैसलों के परिणामों के साथ रहना पड़ता है जो डेटा को अखंडता खो देते हैं या डुप्लिकेट रिकॉर्ड डालने का कारण बनते हैं और फिर यह समझाने की कोशिश करते हैं कि डेटा खराब क्यों है। डीबीए वे हैं जिन्हें उस प्रक्रिया से प्रदर्शन की समस्या से निपटना पड़ता है जो ठीक काम करते थे जब केवल एक हजार रिकॉर्ड होते थे, लेकिन अब 100,000,000 रिकॉर्ड के साथ घंटे लगते हैं।

डेटाबेस रिफ्लैक्टर के लिए कठिन हैं, इसलिए डीबीए पहली बार सही होने से चिंतित हैं। डेवलपर्स को सड़क को फिर से चालू करने में कोई समस्या नहीं दिखती है।

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

एप्लिकेशन डेवलपर्स अक्सर रिकॉर्ड के एक छोटे से सबसेट के साथ सौदा करते हैं, लेकिन बड़े डेटा आयात / निर्यात या रिपोर्टिंग के साथ नहीं। चीजें जो एक रिकॉर्ड में प्रवेश करने के लिए ठीक काम करती हैं, जब आप एक लाख आयात करने की बात कर रहे हैं तो काम न करें। एप्लिकेशन में व्यावसायिक तर्क (जो अक्सर रिपोर्टिंग एप्लिकेशन तक पहुंच योग्य नहीं होता है) रिपोर्ट लेखक को एक लाख रिकॉर्ड के समान परिणाम प्राप्त करने में मदद नहीं करता है जो कि एक समय में स्क्रीन एक रिकॉर्ड पर दिखाया जाता है।

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


8

जब से मैंने SQL सर्वर (1998) के साथ शुरुआत की है, मैंने कई डेवलपर्स को बताया है कि मुझे अपना काम कैसे करना है। यह दिलचस्प है कि वे है सब पता है कि मुझसे ज्यादा के रूप में अच्छी तरह से किया जा रहा है शानदार .net डेवलपर्स। वास्तव में, वे आर्किटेक्ट भी हैं और उन्हें कोड मंकी से अधिक चीजें करनी चाहिए।

शायद यह मुझसे गलत रवैया है: लेकिन यह कई दुकानों में काफी सामान्य डेवलपर रवैया है। वे इसे एक दूसरे के लिए भी करते हैं, याद रखें: जब आप सहकर्मी समीक्षा का सुझाव देते हैं तो झगड़े शुरू करें।

मैं अन्य उत्तरों के लिए सुधारों को छोड़ दूंगा (मैं अब तक 2 के साथ 100% सहमत हूं), लेकिन यह जोड़ना कि प्रबंधन और दुकान संस्कृति को सहयोग करना चाहिए और सहयोग का पोषण भी करना चाहिए


8

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

... सामान्य विषय, सही ... संचार ... संचार ... संचार।

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

डेवलपर्स और डीबीए, जैसा कि @ रोलैंडो ने कहा, एक-दूसरे को समझना होगा। जब यह सब नीचे आता है, तो हम दोनों "ओनेस एंड ज़ीरोस" बोलते हैं - आपको लगता है कि यह एक अच्छा मैच होगा। हमारे पास जिम्मेदारी के 2 क्षेत्र हैं: डीबीए में डेटा है, डेवलपर्स को बाकी कंप्यूटर मिलते हैं। लेकिन डेटा के बिना, प्रोग्रामर वास्तव में बहुत कुछ नहीं करेंगे।

हमारे पास डीबीए नहीं है और यह कई बार दर्दनाक होता है। एक दशक पहले डीबीए बनना चाहता था, जब मुझे लगता है कि हम कुछ काम करते हैं। अगर हम कल एक डीबीए को काम पर रखा, मुझे लगता है कि मैं बहुत वह जमीन चुंबन होगा / वह पर चला गया।


7

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

यहाँ दोष किसका है? सुश्री संचार।

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

हां, टीमों को एक-दूसरे से बात करने (और सुनने) की ज़रूरत है, लेकिन प्रोजेक्ट / उत्पाद प्रबंधक को ऐसा माहौल बनाने की ज़रूरत है जो इसमें हो सकता है।

मैं भाग्यशाली रहा हूं, मैंने जितनी भी जगहों पर काम किया है, उनमें आपसी सम्मान और संचार संस्कृति का हिस्सा रहा है।


6

एक अच्छी बात डीबीए को समझनी होगी कि वह आंकड़ों की राजनीति है। मैंने अनुभवी प्रोग्रामरों को डेटाबेस प्रोग्रामिंग और डिज़ाइन सिखाया और कुछ वर्षों के लिए कुछ डीबीए का मसौदा तैयार किया। एक सवाल जो नियमित रूप से सामने आएगा वह यह था: मेरी दुकान पर वापस आने वाले सभी डेटाबेस कितने राजनीतिक हैं?

यहाँ मेरा मानक उत्तर था: यदि डेटाबेस उपयोगी है, तो आप डेटा साझा कर रहे हैं। यदि आप डेटा साझा कर रहे हैं, तो आप पावर साझा कर रहे हैं। जब सत्ता साझा होती है, तो राजनीति होती है।

इससे कोई फर्क नहीं पड़ता कि आप राजनीति से प्यार करते हैं या नफरत की राजनीति करते हैं। यदि आप अच्छा डेटाबेस काम करने जा रहे हैं, तो इसकी आदत डालें।

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


3

थोड़ी विनम्रता आप में से कुछ के लिए मदद कर सकती है। ;)

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

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