java - क्या डीबीसीपी(अपाचे कॉमन्स डाटाबेस कनेक्शन पूलिंग) अभी भी प्रासंगिक है?




database jdbc (3)

कनेक्शन के बारे में जेडीबीसी 3.0 स्पेस वार्ता (और तैयार कथन) पूलिंग।

हमारे पास कई स्टैंडअलोन जावा प्रोग्राम्स हैं (यानी हम एक ऐप्लीकेशन सर्वर का उपयोग नहीं कर रहे हैं) जो कनेक्शन पूलिंग प्रदान करने के लिए डीबीसीपी का उपयोग कर रहे हैं। क्या हमें डीबीसीपी का उपयोग करना जारी रखना चाहिए, या क्या हम जेडीबीसी द्वारा प्रदान किए गए पूलिंग का लाभ ले सकते हैं और डीबीसीपी से छुटकारा पा सकते हैं?

हम MySQL (कनेक्टर / जे) का उपयोग कर रहे हैं और अंततः SQL सर्वर समर्थन (जेटीडीएस) जोड़ेंगे; यह संभावना नहीं है कि हम किसी भी अन्य डेटाबेस का समर्थन करेंगे

संपादित करें: कनेक्शन पूलिंग पुस्तकालय को समाप्त करने के अपने प्रयास के बारे में नीचे टिप्पणी देखें ऐसा प्रतीत होता है कि डीबीसीपी अभी भी प्रासंगिक है (ध्यान दें कि कुछ टिप्पणीकारों ने डीबीसीपी पर सी 3 पी 0 की सिफारिश की है)


लोग अभी भी डीबीसीपी का उपयोग करते हैं, मुझे लगता है कि यह हाइबरनेट के साथ एक डिफ़ॉल्ट के रूप में भी आता है।

क्या डीबीसीपी आपकी वर्तमान जरूरतों को पूरा नहीं कर रहा है?

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


डीबीसीपी में गंभीर खामियां हैं मुझे नहीं लगता कि यह उत्पादन अनुप्रयोग के लिए उपयुक्त है, खासकर जब बहुत से ड्राइवर अपने DataSource में पूलिंग का समर्थन करते हैं

उस झुंड ने ऊंट की पीठ को तोड़ दिया, मेरे मामले में, जब मैंने पाया कि पूरे पूल को पूरे समय लॉक किया गया था, तो डाटाबेस के लिए एक नया कनेक्शन का प्रयास किया जाता है। इसलिए, अगर आपके डेटाबेस को कुछ धीमा कनेक्शन या समय समाप्ति के परिणामस्वरूप होता है, तो अन्य थ्रेड्स अवरुद्ध हो जाते हैं जब वे पूल में कनेक्शन वापस करने की कोशिश करते हैं-भले ही वे डेटाबेस का उपयोग कर रहे हों

पूल का प्रदर्शन बेहतर बनाने के लिए होता है, इसे नीचा नहीं। डीबीसीपी सरल, जटिल और पुराना है


मैं डीबीसीपी या सी 3 पी 0 का उपयोग करना पसंद करता हूं क्योंकि वे विक्रेता तटस्थ हैं। मुझे कम से कम mysql या ऑरेकल के साथ पता चला, जब भी मैं जेडीबीसी क्लाइंट के साथ कुछ करने की कोशिश करता हूं जो कि मानक एसक्यूएल नहीं है, तो मुझे विक्रेता वर्गों पर संकलन-समय पर निर्भरता पेश करना है। उदाहरण के लिए देखें, यहां एक बहुत ही कष्टप्रद उदाहरण।

मैं mysql के बारे में निश्चित नहीं हूँ, लेकिन ओएकल कनेक्शन पूलिंग के लिए उनके विशिष्ट, गैर-मानक कक्षाओं का उपयोग करता है।







apache-commons-dbcp