2009-02-19 13 views
5

मैं नौकरी साइट पर काम कर रहा हूं (एएसपीनेट 3.5 का उपयोग कर) जिसमें कोई उपयोगकर्ता एक या अधिक रिज़्यूमे अपलोड कर सकता है। डाटाबेस एसक्यूएल सर्वर 2005 है। इन दस्तावेजों के भंडारण के संबंध में क्या सिफारिश है? क्या मैं इसे डेटाबेस में ब्लॉब के रूप में संग्रहीत करूं या बस डेटाबेस में पथ संग्रहीत कर सकता हूं और दस्तावेज़ को भौतिक फ़ोल्डर में रख सकता हूं? क्या कोई कृपया प्रत्येक wrt प्रदर्शन और स्केलेबिलिटी के पेशेवरों और विपक्ष का उल्लेख कर सकता है?शब्द दस्तावेज़ों को संग्रहीत करना

धन्यवाद!

(+) आसान घर कीपिंग, डिस्क

(+) के अनुरूप प्रोग्रामिंग और पहुँच मॉडल (प्राधिकरण)

पर कोई अनाथ फ़ाइलें (:

+0

उन्हें टेक्स्ट टेक्स्ट में सादा पाठ और स्टोर में कनवर्ट करें ... प्रो: अब आप उन्हें एफटीएस इंडेक्स का उपयोग कर सकते हैं। अन्य प्रो: आप अपने आप को उस अजीब स्वरूपण से छुटकारा पाएं। – Shog9

उत्तर

1

डेटाबेस में फ़ाइलों को संग्रहीत करने देता है आप -) डेटाबेस अत्यधिक बढ़ता है, जो बैकअप फ़ाइलों को पकड़ने के लिए बैकअप समय और डिस्क स्पेस उपयोग को बढ़ाएगा

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

+0

आपके उत्तर के लिए धन्यवाद ...! –

0

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

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

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

0

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

0

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

0

मेरे पास दो सिस्टम हैं जो फ़ोल्डरों में फ़ाइलों को संग्रहीत करते हैं - दोनों फ़ोल्डर में लगभग 20K फ़ाइलों के लिए खराब होते हैं। Subfolders (उदाहरण के लिए 2008-01, 2008-02) का उपयोग करके हल किया जा सकता है लेकिन जैसा कि दूसरों ने कहा है, आप मुद्दों को सिंक कर रहे हैं।

डाटाबेस आपको पुराने रिज्यूमे को संग्रहित/हटाए जाने और सिंकिंग समस्याओं को हटाने की अनुमति देता है। जब तक आप डेटा को पूरा टेक्स्ट नहीं खोजना चाहते हैं तब तक आप संग्रह/पुनर्प्राप्ति करते समय टेक्स्ट को संपीड़ित/असम्पीडित कर सकते हैं। 10-20K फ़ाइल मानते हुए, आप शायद 1-2K तक संपीड़ित कर सकते हैं। इतना बड़ा नहीं है।

0

मैं कुछ अनुप्रयोगों का प्रभारी हूं जो कई टीबी छवियों का प्रबंधन करते हैं। मुझे लगता है कि यह एप्लिकेशन समान है कि यह सामान्य डेटाबेस पंक्तियों के लिए अपेक्षाकृत बड़ी फ़ाइलों को संग्रहीत कर रहा है। हमने पाया है कि डेटाबेस में फ़ाइल पथ को सर्वोत्तम रूप से संग्रहीत करना है।

  • डेटाबेस भंडारण आमतौर पर किया गया फ़ाइल सिस्टम से ज्यादा महंगा है:

    मुद्दों के एक जोड़े हैं।

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

मैं इसे चीजों को एक साथ रखने के लिए डेटाबेस में संग्रहीत करने की अनुशंसा करता हूं।

एक अतिरिक्त बिंदु है जब डेटाबेस में संग्रहीत करने पर विचार करने के लिए है कि एक SQL डेटाबेस से अधिक फ़ाइलों के शामिल किया जा सकता है। मैं जो सलाह दूंगा वह इस डेटाबेस पर एक दूसरी फ़ाइल (.ndf) बनाना है जिसमें बीएलओबी डेटा वाले टेबल हैं।

यह कुछ प्रमुख लाभ में है कि यह अगर बढ़ी हुई मांग कभी इसे के लिए कहता है (1) एक अलग डिस्क सरणी पर चलाया जा सकता प्रदान करता है। (2) का बैक अप लिया जा सकता है और अलग से बहाल किया जा सकता है। (3) आपकी मुख्य OLTP डेटाबेस फ़ाइल को नहीं मिटाएगा।

0

मैं हर काम के लिए सबसे अच्छा उपकरण का उपयोग कर के साथ जाना चाहते हैं:

  • भंडारण और डेटा क्वेरी करने के लिए सबसे अच्छा डेटाबेस प्रकार एक संबंधपरक डेटाबेस है।
  • फाइलों के प्रबंधन के लिए सबसे अच्छा डेटाबेस फ़ाइल सिस्टम है।

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

चूंकि फाइलों की संख्या बड़ी हो जाती है, फाइल सिस्टम के दृष्टिकोण से समस्या को हल करना आसान है: फ़ाइलों को सापेक्ष पथ निर्देशिका में संग्रहीत करें ताकि आप प्रति निर्देशिका फ़ाइल की संख्या को नियंत्रण में रख सकें (उदाहरण के लिए, एक साप्ताहिक फ़ोल्डर बनाना या फ़ाइल गिनती एक निश्चित सीमा पर होने पर एक नया फ़ोल्डर बनाना)।
फिर आपको केवल डेटाबेस में फ़ाइल के सापेक्ष पथ को रखने की आवश्यकता है।

मैं भी उन्हें बनाए रखने के लिए, 20090219-001.doc की तरह प्रस्तुत करते समय फ़ाइल नाम को सामान्य होगा।

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

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