यह इस बात पर निर्भर करता है कि आपकी आवश्यकताएं क्या हैं। यदि आपको एक उच्च प्रदर्शन, कम विलंबता समाधान की आवश्यकता होती है जो बहुत सारे छोटे कार्यों पर निर्भर करता है, तो आप उस संरचना के साथ जा सकते हैं जो आपके द्वारा वर्णित है। सबसे आम समाधान, जावा, पीएचपी और सी # में हालांकि यह डिफ़ॉल्ट नहीं है।
अधिकांश वेब एप्लिकेशन डेटाबेस पर बहुत अधिक निर्भर करते हैं - उनमें से अधिकांश इतना अधिक है कि पेज कम से कम एक कॉल के बिना प्रस्तुत नहीं कर सकते। स्पष्ट रूप से आप कई कारणों से अपने डेटाबेस को सार्वजनिक रूप से उजागर नहीं करना चाहते:
- सुरक्षा (के रूप में ओदेद का उल्लेख है) - आप निश्चित रूप से करते नहीं अपने नेटवर्क सार्वजनिक रूप से बेनकाब करने के लिए चाहते हैं! आदर्श रूप से बाहर से आपके सिस्टम का एकमात्र इंटरफ़ेस आपके सर्वर का https होना चाहिए।
- विकास में आसानी - आप वास्तव में, वास्तव में , वास्तव में एसक्यूएल को जावास्क्रिप्ट में लिखना नहीं चाहते हैं, और वेब प्रस्तुति के लिए डिज़ाइन की गई भाषाएं आरडीबी के साथ अच्छी तरह से काम नहीं करती हैं। उदाहरण के लिए, उनके पास राज्य की कोई अवधारणा नहीं है।
इसलिए, जब आपको एक डेटाबेस की आवश्यकता होती है, तो आप उन भाषाओं का उपयोग करते हैं, जो उनके साथ अच्छा खेलती हैं जैसे जावा, सी #, पीएचपी, आदि। पेज बनाने का सबसे आसान तरीका निम्नानुसार है: आप एक अस्थायी भाषा (सबसे प्रसिद्ध PHP, का उपयोग करते हैं) पृष्ठ के निर्माण के लिए JSP और ASP दो अन्य बहुत ही सामान्य भाषाएं हैं)। भाषा अन्य मॉड्यूल को कॉल करने वाले निर्माण प्रदान करती है। PHP में यह आमतौर पर MVC पैटर्न का उपयोग करके पेज या किसी अन्य PHP फ़ाइल में होता है। JSP में आप स्क्रिप्टलेट या JSP एक्सप्रेशन लैंग्वेज का उपयोग करते हैं। ये अन्य मॉड्यूल डीबी से जुड़ने के भारी काम कर सकते हैं, तर्क का प्रदर्शन कर सकते हैं, और आपके दृश्य परत पर मूल्यों को वापस कर सकते हैं। अंतिम परिणाम एक उत्पन्न HTML पृष्ठ है, जो सर्वर पर प्रदान किया जाता है और क्लाइंट को भेजा जाता है।
जब आपका डेटाबेस आपके पेज रेंडरर के समान नेटवर्क पर होता है, तो आपको बेहतर प्रदर्शन भी मिलता है। क्लाइंट को केवल एक अनुरोध करना होगा और एक पेज प्राप्त करना होगा - उपयोगकर्ता की सभी आवश्यक जानकारी होने से पहले आपको 10-15 DB अनुरोध करने की आवश्यकता हो सकती है। यदि आपके ग्राहक को यह सब करना है तो आपके नेटवर्क पर मिलीसेकंड की एक विलंबता सेकंड से मिनट तक होगी।
जब सिस्टम बड़ा होता है, तो चिंताओं और मुख्य दक्षताओं का पृथक्करण महत्वपूर्ण हो जाता है। HTML प्रदर्शन के लिए अच्छा है। जावास्क्रिप्ट गतिशील सामग्री के लिए अच्छा है। SQL डेटाबेस को क्वेरी करने के लिए बहुत अच्छा है, और अन्य भाषाएं व्यावसायिक तर्क में अच्छी हैं। डेवलपर्स के रूप में हमारा काम एक उपलब्ध प्रणाली का निर्माण करने के लिए हमारे पास उपलब्ध सभी साधनों का उपयोग करना है। विकास में आसानी एक अच्छी प्रणाली का एक बड़ा हिस्सा है। मेरे दिमाग में, यह प्रदर्शन और प्रयोज्य के रूप में लगभग महत्वपूर्ण है। महान प्रणालियां समय के साथ विकसित होती हैं। खराब सिस्टम शुरू से ही बुरी तरह से लिखे गए थे और कभी नहीं सुधरे थे।