2010-12-29 9 views
7

में बड़ी फ़ाइलों को संग्रहीत करना एसक्यूएल सर्वर में बड़ी तस्वीरें/टेक्स्ट फ़ाइलों को संग्रहीत करने के लिए सबसे अच्छा अभ्यास क्या है। स्केलेबिलिटी की आवश्यकता को बरकरार रखते हुए और हम सिर्फ 1 सर्वर के साथ काम कर रहे हैं।एसक्यूएल सर्वर

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

उत्तर

9

यह फ़ाइलों के आकार पर निर्भर करता है।

विषय पर एक अच्छा माइक्रोसॉफ्ट श्वेत पत्र है, here

256K से छोटे ऑब्जेक्ट्स डेटाबेस में सबसे अच्छे संग्रहित होते हैं जबकि 1 एम से बड़े ऑब्जेक्ट्स फाइल सिस्टम में सबसे अच्छे संग्रहित होते हैं। 256K और 1M के बीच, पढ़ने: लिखने अनुपात और वस्तु की दर के ऊपर लिख या बदलने महत्वपूर्ण कारकों

बेशक

कर रहे हैं, अपने निष्कर्ष एसक्यूएल सर्वर (2005 और 2008 R2) के लिए विशिष्ट हैं।

+0

अद्भुत कागज करने के लिए, अच्छा लगता है सबसे अच्छा अभ्यास पढ़ें! – gh9

+0

अच्छा पेपर हालांकि, भले ही यह एमएस-एसक्यूएल सर्वर के लिए विशिष्ट है! यह छवियों की संख्या और आवेदन के विनिर्देशों पर भी निर्भर करता है। यह संभवतः बीएलओबी के लिए सुरक्षित है, क्योंकि यह कम त्रुटि-प्रवण है। –

1

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

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

1

यह एक बुरा विचार है। जब तक आपके पास डेटा में फ़ाइलों को स्टोर करने के लिए कुछ विशिष्ट कारण नहीं हैं। पहले से ही यहाँ पर चर्चा की: Storing Images in DB - Yea or Nay?

आप अभी भी जोर देते हैं, तो :) यहाँ Best Practices for uploading files to database

+0

एक हफ्ते तक नहीं जाता है कि हम जो कुछ भी कर रहे थे उसे शाप नहीं देते थे, जिसने हमारी छवियों को डीबी में डालने का फैसला किया था। मुझे लगता है कि उस समय यह एक अच्छा विचार था और हमारे पास कभी भी बहुत सारी छवियां नहीं थीं, लेकिन यह सिर्फ एक अच्छा विचार नहीं है। – dwidel

+0

:) खासकर जब आपका प्रश्न शीर्षक कहता है, "एसक्यूएल सर्वर में बड़ी फाइलें संग्रहीत करना" बड़े से मेरा मतलब था, एक मेगाबाइट से बड़ा। लेकिन, अगर यह छोटा है, तो मैं डीबी में स्टोर नहीं करता। सिर्फ इसलिए, जैसा कि @ डेविड ने सही ढंग से कहा था, यह नौकरी के लिए सही उपकरण नहीं है। फ़ाइलें - मैं फिर से आकार, ज़िप, विभाजन या शायद अमेज़ॅन एस 3 के माध्यम से सेवा करना चाहता हूँ। अगर वे डीबी में हैं तो मैं इन्हें जल्दी से नहीं कर सकता। – Nishant

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