मैं एक विरासत वेब फॉर्म एप्लिकेशन को एक पूरी तरह से नए एमवीसी अनुप्रयोग में विस्तार/परिवर्तित कर रहा हूं। विस्तार प्रौद्योगिकी और व्यावसायिक उपयोग के मामले में दोनों ही है। विरासत आवेदन एक अच्छी तरह से किया गया डेटाबेस संचालित डिजाइन (डीबीडीडी) है। तो उदाहरण के लिए यदि आपके पास ऑपरेटर, सुपरवाइजर, स्टोर कीपर इत्यादि जैसे विभिन्न प्रकार के कर्मचारी हैं और आपको एक नया प्रकार जोड़ने की ज़रूरत है, तो आप बस कुछ टेबल और वॉयला में कुछ पंक्तियां जोड़ें, आपके यूआई में स्वचालित रूप से नया जोड़ने/अपडेट करने के लिए सबकुछ है कर्मचारी का प्रकार हालांकि परतों का पृथक्करण इतना अच्छा नहीं है।एक एमवीसी वेब अनुप्रयोग के लिए डोमेन संचालित डिजाइन बनाम डाटाबेस संचालित डिजाइन
नई परियोजना दो प्राथमिक लक्ष्य
- तानाना (वर्तमान के लिए और भविष्य पाइपलाइन आवश्यकताओं)
- प्रदर्शन
मैं (DBDD डाटाबेस प्रेरित डिजाइन की जगह नया प्रोजेक्ट बना करने का इरादा है) एक डोमेन संचालित डिजाइन (डीडीडी) के साथ विस्तारशीलता आवश्यकता को ध्यान में रखते हुए। हालांकि डेटाबेस ड्राइव किए गए डिज़ाइन से डोमेन संचालित डिजाइन में स्थानांतरित होने पर प्रदर्शन आवश्यकता पर प्रतिकूल प्रभाव पड़ता है यदि मैं इसे विरासत डीबीडीडी एप्लिकेशन के प्रदर्शन से तुलना करता हूं। विरासत आवेदन में यूआई से डेटा के लिए कोई भी कॉल सीधे डाटाबेस से बातचीत करेगा और किसी भी डेटा को डेटा रीडर के रूप में या कुछ मामलों में डेटासेट के रूप में वापस किया जाएगा।
अब सख्त डीडीडी के साथ डेटा के लिए किसी भी कॉल को बिजनेस लेयर और डेटा एक्सेस लेयर के माध्यम से भेजा जाएगा। इसका मतलब यह होगा कि प्रत्येक कॉल एक बिजनेस ऑब्जेक्ट और डेटा एक्सेस ऑब्जेक्ट शुरू करेगी। एक यूआई पेज को विभिन्न प्रकार के डेटा की आवश्यकता हो सकती है और यह वेब एप्लिकेशन होने के कारण कई उपयोगकर्ताओं द्वारा प्रत्येक पृष्ठ से अनुरोध किया जा सकता है। इसके अलावा एक एमवीसी वेब अनुप्रयोग स्टेटलेस होने के नाते, प्रत्येक अनुरोध को व्यावसायिक वस्तुओं और डेटा एक्सेस ऑब्जेक्ट्स को हर बार प्रारंभ करने की आवश्यकता होगी। तो ऐसा लगता है कि एक एमवीसी स्टेटलेस एप्लिकेशन के लिए डीबीडीडी प्रदर्शन के लिए डीडीडी को प्राथमिकता देता है।
या डीडीडी में दोनों को हासिल करने के लिए एक तरीका है, डीडीडी प्रदान करता है और प्रदर्शन करता है कि डीबीडीडी प्रदान करता है?
एक दिलचस्प सवाल के रूप में तारांकित क्योंकि यह सचमुच विभिन्न डिजाइनों के पीछे यांत्रिकी लेता है। अक्सर, इन चर्चाओं को उपयोगी होने के लिए बहुत सार हैं। यह बहुत प्रत्यक्ष है। मैं यह देखने के लिए उत्सुक हूं कि जवाब क्या हैं (मुझे खुद को कोई जानकारी नहीं है)। –
मुझे सोचने से पहले मेरे कुछ प्रश्न हैं: 1. प्रदर्शन की आवश्यकता वास्तव में क्या है? एप्लिकेशन को कितनी जल्दी जवाब देना चाहिए। क्या सभी प्रश्नों को डेटा लाने और अपडेट के लिए 1 सेकंड के लिए 1 सेकंड या 0.5 सेकेंड में जवाब दिया जाना चाहिए? 2. क्या आपके पास वर्तमान एप्लिकेशन के लिए पहले से ही कुछ मीट्रिक हैं और एक एमवीसी आधारित व्यक्ति कितना धीमा होगा? –
मेरे पास वर्तमान एप्लिकेशन डेटाबेस संचालन के लिए मीट्रिक है। रिपोर्टिंग के अलावा जो जटिल और डेटा भारी संचालन कर सकता है और इसमें कुछ मिनट लग सकते हैं, सीआरयूडी एक सेकंड से भी कम समय लेता है जबकि अधिकतम डेटा लाने का संचालन डेटाबेस स्तर पर 2 - 3 सेकंड के भीतर होता है। एमवीसी आवेदन कितना धीमा होगा, प्रश्न लगभग – devanalyst