2010-12-28 10 views
6

संभव डुप्लिकेट:
Storing Images in DB - Yea or Nay?स्टोर छवियों

यह तेजी से और अधिक विश्वसनीय फाइल सिस्टम में छवियों को स्टोर करने के है या मैं उन्हें एक डेटाबेस में संग्रहीत करना चाहिए ?

मान लें कि छवियां 200 एमबी से बड़ी नहीं होंगी। उद्देश्य तेज़, भरोसेमंद पहुंच है।

सामान्य रूप से, फाइल सिस्टम या डेटाबेस में फ़ाइलों को संग्रहीत करने के दौरान लोग कैसे निर्णय लेते हैं (उदा। छवियों, पीडीएफ)?

+1

मुझे यह पसंद है, मोनिकर "क्रैशलोट" के साथ एक प्रोग्रामर। :-) –

उत्तर

13

व्यक्तिगत राय: मैं हमेशा फाइल सिस्टम पर छवियों को स्टोर करता हूं, और केवल डेटाबेस में फ़ाइलपैथ स्टोर करता हूं। कई परिस्थितियों में, डेटाबेस तेजी से संग्रहीत होते हैं (पढ़ें: महंगा भंडारण, 15k आरपीएम या एसएसडी ड्राइव) भंडारण। छवियों या अन्य फ़ाइलों, आमतौर पर धीमे (पढ़ा: सस्ता, बड़ी ड्राइव, 7.2k आरपीएम ड्राइव) भंडारण पर संग्रहीत किया जा सकता है।

मुझे यह सबसे अच्छा लगता है, क्योंकि यह डेटाबेस को आकार में छोटा रहने की अनुमति देता है। आम तौर पर, डेटाबेस "डेटा" अच्छी तरह से स्टोर करते हैं। वे तेजी से डेटा के छोटे बिट्स को खोज और पुनर्प्राप्त कर सकते हैं। फाइल सिस्टम अच्छी तरह से "फाइलें" स्टोर करते हैं, उन्हें तेजी से डेटा के बड़े बिट्स को खोजने और पुनर्प्राप्त करने के लिए अनुकूलित किया जाता है।

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

एक साइड नोट के रूप में, SQL Server 2008R2 में एक फ़ाइलस्ट्रीम फ़ील्ड प्रकार है, जो दोनों दुनिया के सर्वश्रेष्ठ प्रदान कर सकता है, मैंने अभी तक इसका उपयोग नहीं किया है, इसलिए मैं यह नहीं कह सकता कि यह कितना अच्छा काम करता है।

+0

अच्छी तरह लिखा है - और यह इंगित करता है कि कुछ डेटाबेस में डेटाबेस-प्राथमिक डेटा को एक्सेस करने के प्रावधान हैं। –

1

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

4

स्टोर फ़ाइलें/डेटाबेस में छवियों यदि आप निम्न की आवश्यकता होती है:

  • अभिगम नियंत्रण
  • संशोधन
  • चेकइन/की जाँच करें
  • मेटाडाटा

है कि के आधार पर सर्च कर रहे हैं शेयरपॉइंट जैसे प्रमुख सीएमएस का डिजाइन रहा है।

हालांकि, यदि आपकी सामग्री अधिक स्थिर है और समय के साथ बदलने के लिए नहीं है, तो आप फाइल सिस्टम के साथ जा सकते हैं और वेब सर्वर पर अनुकूलन/कैश सक्षम कर सकते हैं।

सभी की
0

सबसे पहले आपको पता होना चाहिए कि डेटाबेस में, आप बड़ी फ़ाइलों को स्टोर नहीं कर सकते हैं की तुलना में मुझे लगता है कि 8 MB, कि leavinig, इसलिए मुझे लगता है कि डेटाबेस में सिस्टम में फ़ाइलों, और छोटे छवियों को स्टोर करने के लिए बेहतर है

+2

यह डेटाबेस पर निर्भर करता है। एसक्यूएल सर्वर 2 जीबी तक स्टोर कर सकता है (या शायद "बस" 1 जीबी?)। –

+0

मुझे नहीं लगता कि मुझे लगता है कि कम है –

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