2012-07-16 17 views
17

मेरे पास मेरे एप्लिकेशन डेटाबेस कनेक्शन को कॉन्फ़िगर करने के लिए दो विकल्प हैं - कोई जेडीबीसी का उपयोग कर रहा है, दूसरा कोई जेएनडीआई का उपयोग कर रहा है। डेटाबेस के साथ उन कनेक्शन प्रकार कितनी तेजी से काम करते हैं, इस मामले में सबसे अच्छा विकल्प क्या होगा।तेजी से क्या है: जेडीबीसी या जेएनडीआई?

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

+0

जेएनडीआई द्वारा आप सर्वर पर डेटासेट को परिभाषित करने का मतलब रखते हैं? – Tomer

+0

@ ftom2: हाँ, यही मेरा मतलब है - आवेदन सर्वर पर जेएनडीआई डेटासोर्स को कॉन्फ़िगर करना – altern

+0

जेएनडीआई और जेडीबीसी के बीच प्रदर्शन के संदर्भ में कोई संबंध नहीं है, क्योंकि जेएनडीआई कुछ गुण देता है जो जेडीबीसी का उपयोग कर डेटाबेस डेवलपर या एप्लिकेशन सर्वर डेटाबेस कनेक्शन प्राप्त करने में मदद करता है ; डेटाबेस कनेक्टिविटी के लिए निम्न स्तर एपीआई। – Max

उत्तर

21

मुझे यकीन है कि आप अपने आवेदन में मैन्युअल रूप से डेटा स्रोत या JDBC कनेक्शन बनाने से

  1. मतलब चुन रहा है, या
  2. सेटअप कंटेनर में डेटा स्रोत, और आवेदन JNDI
  3. के माध्यम से
डेटा स्रोत देखने

यदि यह मामला है, तो संभव होने पर हमेशा 2 तक चिपके रहें।

पसंद के मुख्य कारण कभी प्रदर्शन अंतर नहीं होते हैं। ज्यादातर मामलों में 2 से चिपकने का कारण यह है कि, आपको कंटेनर से अधिक उन्नत सुविधाएं प्राप्त करने के लिए 2 की आवश्यकता है, उदाहरण के लिए, वितरित लेनदेन।

30

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

+0

+1 - बिल्कुल ;-) –

2

प्रश्न पर पूरी तरह से स्पष्ट नहीं है।

जेएनडीआई डेटाबेस कनेक्शन का एक प्रकार नहीं है। आप डेटासोर्स को देखने के लिए जेएनडीआई का उपयोग कर सकते हैं, जो कनेक्शन के लिए एक कारखाना है। डेटासोर्स हालांकि जेडीबीसी एपीआई का हिस्सा है, इसलिए जेएनडीआई जेडीबीसी के साथ काम करता है क्योंकि यहां विकल्प होने का विरोध किया जाता है।

क्या आप निर्देशिका जानकारी के लिए डेटाबेस के खिलाफ जेडीबीसी का उपयोग करने के बारे में बात कर रहे हैं, बनाम जेएनडीआई का उपयोग एलडीएपी रेपो के खिलाफ कर रहे हैं?

2

वास्तविक गति लाभ डेटाबेस कनेक्शन का पुन: उपयोग करने में सक्षम होने से आता है।

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

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

1

जैसा कि पिछले उत्तरों में बताया गया है, डेटासोर्स का उपयोग तकनीक के संदर्भ में जेडीबीसी का उपयोग करने जैसा ही है।

फिर भी, डेटासॉर्स का उपयोग करना आमतौर पर पसंदीदा तरीका होता है क्योंकि इस तरह आपके सर्वर में आपके डीबी कनेक्शन पूल का प्रबंधन होता है।

1

चाहे कनेक्शन पूलिंग का उपयोग किया जाता है, एप्लिकेशन कोड को प्रभावित नहीं करता है। इसे एप्लिकेशन में किसी भी कोड में बदलाव की आवश्यकता नहीं है क्योंकि एप्लिकेशन पहले पंजीकृत डेटा स्रोत के जेएनडीआई नाम पर एक लुकअप करता है। यदि डेटा स्रोत जेएनडीआई पंजीकरण के दौरान कनेक्शन पूलिंग कार्यान्वयन निर्दिष्ट करता है (जैसा कि धारा Creating a Data Source Using the DataDirect Connection Pool Manager में वर्णित है), क्लाइंट एप्लिकेशन को कनेक्शन पूलिंग के माध्यम से तेज़ कनेक्शन से लाभ होता है।

1

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

3

यही मुझे जेएनडीआई और जेडीबीसी के बारे में मिला है।

जेएनडीआई: यह एक ऐसी तकनीक है जो एक टेलीफोन निर्देशिका की तरह काम करती है जिसका उपयोग सर्वर और डेटासोर्स को दूरस्थ रूप से नाम खोजने के लिए किया जाता है।

जेएनडीआई एक कनेक्शन पूल बनाता है। कनेक्शन पूल सर्वर पर एक वातावरण है जहां जेएनडीआई और डाटाबेस टाइप 4 कनेक्टिविटी के लिए encapsulated।

जेडीबीसी: एक जावा एपीआई जो जावा प्रोग्राम को SQL कथन निष्पादित करने में सक्षम बनाता है। यह जावा प्रोग्राम को किसी SQL-compliant डेटाबेस से इंटरैक्ट करने की अनुमति देता है।

जेडीबीसी ओडीबीसी के समान है, लेकिन विशेष रूप से जावा प्रोग्राम के लिए डिज़ाइन किया गया है, जबकि ओडीबीसी भाषा-स्वतंत्र है।

जेडीबीसी सूर्य माइक्रोसिस्टम्स द्वारा विकसित किया गया था। जेएनडीआई तेज और कुशल है।

+1

फिर से; मैंने आपको अपनी वेबसाइट से लिंक करते समय प्रकट होने की आवश्यकता के बारे में कई बार अधिसूचित किया है, लेकिन आप बार-बार ऐसा करने में विफल रहे हैं। –

+0

ठीक है। मैं इसे सही कर दूंगा। – Ruthreshwar

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