2011-02-08 13 views
5

हमारे पास एक जावा डेस्कटॉप एप्लिकेशन है जो स्थानीय रूप से नेटवर्क साझा ड्राइव पर स्थित एक डर्बी डेटाबेस तक पहुंचता है।नेटवर्क पर डर्बी के एम्बेडेड कनेक्शन के नुकसान क्या हैं?

जबकि एप्लिकेशन के कई उदाहरण डेटाबेस साझा करते हैं, केवल एक उदाहरण में लाइव कनेक्शन होता है।

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

हम डर्बी दस्तावेज़ों का एहसास करते हैं कि एम्बेडेड डेटाबेस का उपयोग केवल स्थानीय दृढ़ता के लिए किया जाना चाहिए, लेकिन क्या कोई इस विशिष्ट कॉन्फ़िगरेशन के माध्यम से सामना करने के लिए कुछ विशिष्ट नुकसान का सुझाव दे सकता है?

अग्रिम धन्यवाद!

जिम

+4

लगता है जैसे आप पहले से ही एक बड़ा pitfall - डेटाबेस भ्रष्टाचार का सामना कर चुके हैं। –

उत्तर

2

विशेष रूप से डेटाबेस भ्रष्टाचार के संबंध में, मेरा मानना ​​है कि नेटवर्क-साझा स्टोरेज पर डेटाबेस रखने के साथ कम से कम दो मौलिक समस्याएं हैं: (1) जब डर्बी फ़ाइल को बढ़ाकर स्थान आवंटित करने का प्रयास कर रहा है, तो फाइल सिस्टम रिपोर्ट कर सकता है आवंटन सफल होने के बावजूद डिस्क वास्तव में भरा हुआ है; (2) जब डर्बी यह सुनिश्चित करने का प्रयास कर रहा है कि डिस्क लेखन वास्तव में डिस्क पर पूरी तरह से लिखा गया है, तो फाइल सिस्टम डिस्क पर लिखे गए डेटा की रिपोर्ट कर सकता है, भले ही यह अभी भी स्मृति में ही लिखा गया हो।

उपर्युक्त समस्याओं में से कोई भी, यदि वे सही समय पर होते हैं, तो डेटाबेस भ्रष्टाचार का कारण बन सकता है।

+0

(2) <- यह। अधिकांश नेटवर्क फाइल सिस्टम नकली fsync कॉल। और डेटा फ़ाइल अखंडता सुनिश्चित करने के लिए अधिकांश फ़ाइल आधारित डेटाबेसों को fsync की आवश्यकता होती है। – jtahlborn

1

हम डर्बी डॉक्स राज्य कि एम्बेडेड डेटाबेस केवल स्थानीय हठ के लिए इस्तेमाल किया जाना चाहिए एहसास, लेकिन किसी को कुछ विशिष्ट नुकसान हम इस विन्यास के माध्यम से सामना करने के लिए उम्मीद कर सकता है सुझाव है कि कर सकते हैं?

मैं कहूंगा कि आपको दस्तावेज़ों के बारे में क्या ध्यान देना चाहिए। डर्बी विकसित करने वाले लोगों को सलाह देने की संभावना नहीं है जो बिना किसी कारण के डर्बी की प्रयोज्यता को सीमित करता है।

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

इसके अलावा, क्यों होता है डर्बी का संस्करण?

+0

@ मार्कोस वंडेल - अच्छी तरह से ऐसा लगता है कि व्यावसायिक आवश्यकताओं में बदलाव आया है ... अगर लोग अब एम्बेडेड डेटाबेस साझा करने की कोशिश कर रहे हैं। आपको या तो उन्हें "ऐसा करने से रोकने" के लिए बताने की ज़रूरत है, या आपको अपने उत्पाद को डर्बी के क्लाइंट/सर्वर संस्करण का उपयोग करने के लिए स्विच करने की आवश्यकता है। –

+0

डर्बी के क्लाइंट/सर्वर संस्करण का उपयोग करने से हमें "तकनीकी रूप से" रोकना कुछ भी नहीं है। हमारी वर्तमान कॉन्फ़िगरेशन उद्योग के लिए व्यावसायिक आवश्यकताओं को पूरा करने के लिए किया गया था, जो हमारे सॉफ़्टवेयर लक्ष्य और पर्यावरण में संचालित होता है। –

+0

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

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