10 जीबी डेटा की एक बड़ी मात्रा नहीं है, इसलिए आप शायद इसे स्टोर करने के लिए डेटाबेस का उपयोग कर सकते हैं और कोई बड़ी समस्या नहीं है, लेकिन निश्चित रूप से फाइल सिस्टम का उपयोग करना सबसे अच्छा प्रदर्शन है, और सुरक्षा-प्रबंधन के अनुसार डीबी का उपयोग करना बेहतर है (बैकअप और स्थिरता)।
खुशी से, Sql Server 2008 आपको अपना केक रखने और इसे खाने की भी अनुमति देता है, इसके साथ:
FILESTREAM विशेषता
SQL सर्वर 2008 में, आप FILESTREAM विशेषता को एक varbinary कॉलम पर लागू कर सकते हैं, और SQL सर्वर तब उस कॉलम के डेटा को स्थानीय NTFS फ़ाइल सिस्टम पर संग्रहीत करता है। फ़ाइल सिस्टम पर डेटा संग्रहीत करने से दो प्रमुख लाभ मिलते हैं:
- प्रदर्शन फ़ाइल सिस्टम के स्ट्रीमिंग प्रदर्शन से मेल खाता है।
- BLOB आकार केवल फ़ाइल सिस्टम वॉल्यूम आकार द्वारा सीमित है।
हालाँकि, कॉलम को SQL सर्वर में किसी भी अन्य BLOB कॉलम की तरह ही प्रबंधित किया जा सकता है, इसलिए प्रशासक SQL सर्वर की प्रबंधन क्षमता और सुरक्षा क्षमताओं का उपयोग BLOB डेटा प्रबंधन को रिलेशनल डेटाबेस में बाकी डेटा के साथ एकीकृत करने के लिए कर सकते हैं - बिना प्रबंधन की आवश्यकता के फ़ाइल सिस्टम डेटा अलग से।
SQL सर्वर में डेटा को FILESTREAM कॉलम के रूप में परिभाषित करना डेटाबेस में रिलेशनल डेटा और फ़ाइल सिस्टम पर भौतिक रूप से संग्रहीत असंरचित डेटा के बीच डेटा-स्तर की स्थिरता सुनिश्चित करता है। एक FILESTREAM कॉलम बिल्कुल एक BLOB कॉलम के समान व्यवहार करता है, जिसका अर्थ है बैकअप और पुनर्स्थापना जैसे रखरखाव कार्यों का पूर्ण एकीकरण, SQL सर्वर सुरक्षा मॉडल के साथ पूर्ण एकीकरण, और पूर्ण-लेनदेन समर्थन।
एप्लिकेशन डेवलपर्स दो प्रोग्रामिंग मॉडल में से एक के माध्यम से FILESTREAM डेटा के साथ काम कर सकते हैं; वे मानक बीएलओबी कॉलम की तरह डेटा तक पहुंचने और हेरफेर करने के लिए ट्रांजैक्ट-एसक्यूएल का उपयोग कर सकते हैं, या वे स्थिरता सुनिश्चित करने के लिए ट्रांजैक्ट-एसक्यूएल ट्रांजेक्शनल सेमेन्टिक्स के साथ Win32 स्ट्रीमिंग एपीआई का उपयोग कर सकते हैं, जिसका अर्थ है कि वे मानक Win32 का उपयोग कर सकते हैं FILESTREAM को कॉल पढ़ने/लिखने के लिए BLOB के रूप में यदि वे फाइल सिस्टम पर फाइलों के साथ इंटरैक्ट करते हैं।
SQL सर्वर 2008 में, FILESTREAM कॉलम केवल स्थानीय डिस्क वॉल्यूम पर डेटा संग्रहीत कर सकते हैं, और कुछ सुविधाएँ जैसे पारदर्शी एन्क्रिप्शन और तालिका-मूल्यवान पैरामीटर FILESTREAM कॉलम के लिए समर्थित नहीं हैं। इसके अतिरिक्त, आप उन तालिकाओं का उपयोग नहीं कर सकते जिनमें डेटाबेस स्नैपशॉट या डेटाबेस मिररिंग सत्र में FILESTREAM स्तंभ होते हैं, हालांकि लॉग शिपिंग समर्थित है।