क्या संसाधन "महंगा" बनाता है?


10

मैं हाइबरनेट पढ़ रहा हूं और मुझे कई तरह के बयान आए "JDBC कनेक्शन कई अनुरोधों के साथ खुले क्योंकि यह एक महंगा संसाधन नहीं है"।

महंगे संसाधन का क्या मतलब है?

संपादित करें: मैं जोड़ रहा हूं कि अज्ञात उपयोगकर्ता ने नीचे टिप्पणी के रूप में क्या जोड़ा है।

यदि डेटाबेस कनेक्शन स्थापित करना महंगा है, तो इसे बंद करने और हर बार खोलने के बजाय, एक ही चीज़ को बार-बार क्यों नहीं (कैशिंग नहीं) का उपयोग करें?


2
महंगे का मतलब है कि यह आपको चोट पहुंचाएगा यदि आप इसे अक्सर उपयोग करते हैं या निर्दिष्ट तरीके से नहीं।
अलेक्जेंडर गेसलर

जवाबों:


20

एक महंगा संसाधन वह है:

  • बनाने / आरंभ करने के लिए एक लंबा समय लगता है। हैंडशेक को पूरा करने के लिए कोई भी डेटाबेस कनेक्शन 1-2 सेकंड तक ऊपर ले जा सकता है।
  • बहुत याददाश्त का उपयोग करता है। मेमोरी में बाइट एरे में पूरी फाइल अपलोड करने से पहले इसे स्टोर करने से पहले कुछ समय के लिए मेमोरी की काफी मात्रा का उपयोग करना होगा।
  • बहुत सारे CPU चक्र का उपयोग करता है। डेटा के एक बड़े संग्रह पर गणना आपके CPU पर कर लगा सकती है जबकि यह गणना कर रही है।

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


मैं सहमत होना पसंद करता हूं, लेकिन यह बताना होगा कि @ @ ने जो उदाहरण दिया है, उससे वह टकराता है। क्योंकि एक कनेक्शन स्थापित करना महंगा है, आप अपना कनेक्शन खुला रखेंगे।
उपयोगकर्ता अज्ञात

2
इस विशेष मामले में मुझे स्पष्ट करने दें: यदि किसी चीज़ को बनाने / शुरू करने में आपको एक लंबा समय लगता है तो आप उस संसाधन को बनाने / शुरू करने की संख्या को सीमित करना चाहते हैं। डेटाबेस कनेक्शन खुले होने के दौरान बहुत सारे संसाधन नहीं लेते हैं, इसलिए इन संसाधनों को पूल करना बेहतर होता है।
बेरिन लोरिट्श

5

यह विशिष्ट संसाधन पर निर्भर विभिन्न प्रकार की चीजें हो सकती हैं। तो आपके पास निम्नलिखित हो सकते हैं:

  • इसे संचालित करने के लिए कितनी मेमोरी की आवश्यकता होती है।
  • संबंध बनाने में लगने वाला समय।
  • उस संबंध को बनाए रखने में उपरि।

और इसी तरह।

अन्य चीजें जो कुछ महंगी बना सकती हैं, अगर यह हार्ड ड्राइव या नेटवर्क के संचालन के दौरान उपयोग की आवश्यकता हो सकती है आदि।


2

महंगे को "कम्प्यूटेशनल" के साथ उपसर्ग किया जाना चाहिए। कम्प्यूटेशनल व्यय का उपयोग किसी ऑपरेशन, एल्गोरिथ्म या प्रोग्राम को पूरा करने के लिए आवश्यक समय या संसाधनों (सीपीयू, मेमोरी, डिस्क, नेटवर्क बैंडविथ) की मात्रा को संदर्भित करने के लिए किया जाता है।


2

डेटाबेस कनेक्शन का खर्च कई कारकों से आता है।

  • डेटाबेस कनेक्शन सेटअप के लिए धीमा है और क्लाइंट और सर्वर पक्षों पर संसाधनों की आवश्यकता होती है। यही कारण है कि कनेक्शन पूल किए गए हैं।
  • ओपन ट्रांज़ेक्शन में एक ओवरहेड होता है जिसे क्लाइंट और सर्वर दोनों द्वारा प्रबंधन की आवश्यकता होती है।
  • खुला लेनदेन अन्य अपडेट को अवरुद्ध कर सकता है। यह समग्र प्रदर्शन को धीमा कर देगा।

उस ने कहा, आपको यह सुनिश्चित करने के लिए कनेक्शन (या कम से कम लेन-देन) रखना चाहिए कि आपका लेनदेन ACID परीक्षण से गुजरता है । (परमाणु संगत पृथक टिकाऊ)

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