छवियों की एक पुस्तकालय प्रबंधित करें: ब्लॉब्स या लिंक का उपयोग करें

हमने एक .NET/WPF एप्लिकेशन विकसित किया है जो उपयोगकर्ता को DLL के माध्यम से प्रदान की गई छवियों से " चित्र " बनाने की अनुमति देता है: यह इन चित्रों को मूल प्रारूप में सहेज सकता है, या एक छवि के रूप में निर्यात (पीएनजी, जेपीईजी, बीएमपी, ...)।

इस एप्लिकेशन के अपडेट के हिस्से के रूप में, हम उपयोगकर्ता को इन सुविधाओं को आंतरिक डेटाबेस में नई सुविधाओं की पेशकश करने की अनुमति देना चाहते हैं:

  • " अभ्यास " की धारणा की उपस्थिति: एक अभ्यास = एक चित्र + शीर्षक + विवरण + गुण
  • अभ्यास के लिए उपयोग करने की संभावना, वर्तमान संस्करण से बनाई गई एक ड्राइंग, या एक छवि आयात करें (उदाहरण के लिए वेब से)
  • कई अभ्यासों से सत्रों का निर्माण

चूंकि एप्लिकेशन एकल उपयोगकर्ता है, हम एक प्रकाश और मुक्त डेटाबेस का उपयोग करना चाहते हैं, इसलिए हम अपने विकास पर्यावरण के साथ एकीकरण के लिए SQL सर्वर कॉम्पैक्ट पर सेट अप करते हैं।

हालांकि, हम छवियों के प्रबंधन से संबंधित प्रश्न पूछते हैं:

  • क्या उन्हें सीधे डेटाबेस में स्टोर करना बेहतर है ( BLOLBs ) के रूप में?
  • क्या यह कंप्यूटर पर भौतिक रूप से उन्हें सहेजना बेहतर है, और डेटाबेस में केवल एक लिंक स्टोर करता है?

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

  • लेकिन प्रदर्शन, रखरखाव और डेटा के साझाकरण के मामले में, सबसे अच्छा समाधान क्या है?
  • क्या आपको लगता है कि एक और डेटाबेस (SQLite) अधिक उपयुक्त हो सकता है?

आपकी प्रतिक्रिया के लिए अग्रिम धन्यवाद,

1

1 उत्तर

बीएलओबी को स्टोर करने के बजाय बाहरी डेटा को संदर्भित करने के मार्ग पर जाने के बाद आपका डेटा हमेशा भ्रष्ट होने का अधिक जोखिम होता है।

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

यदि आप जोखिम स्वीकार नहीं कर सकते हैं, तो बीएलओबी का उपयोग करें।

0
जोड़ा
डेटा की "सुरक्षा" के संदर्भ में, बीएलओबी में छवियों को स्टोर करना बेहतर होगा। लेकिन "प्रदर्शन" के मामले में, क्या डेटाबेस स्थानीय है तो महत्वपूर्ण प्रदर्शन अंतर होगा?
जोड़ा लेखक Gold.strike, स्रोत
निर्भर करता है कि आप "महत्वपूर्ण" को कैसे परिभाषित करते हैं।
जोड़ा लेखक Michael O'Neill, स्रोत