हाँ, आप Oracle में बाइनरी डेटा के लिए BLOB का उपयोग कर सकते हैं। (और कई अन्य डेटाबेस।) हम उनका उपयोग यहां पीडीएफ फाइलों को स्टोर करने के लिए करते हैं।
मैंने इसे या तो/दोनों तरीकों से करते देखा है। छवियों को डेटाबेस में संग्रहीत करें, या छवियों को फ़ाइल सिस्टम में संग्रहीत करें और फिर फ़ाइल नाम को डेटाबेस में सहेजें।
डेटाबेस में संग्रहीत करने के लाभ
डेटाबेस में यह सब ठीक है। आप एक रिकॉर्ड निकालते हैं, संबंधित छवि इसके साथ वहीं है।
आपको फ़ाइल और उससे जुड़े डेटा के बीच डेटा अखंडता मिलती है (बेशक एक अच्छा स्कीमा डिज़ाइन मानता है।)
डेटा और छवि प्राप्त करने के लिए एक तार्किक ऑपरेशन।
मुझे फ़ाइल सिस्टम विकल्प की तुलना में बहुत अधिक बाइनरी डेटा रखने के लिए डेटाबेस को स्केल करना कठिन और अधिक महंगा लगता है।
डेटाबेस में संग्रहीत करने के नुकसान
सभी टूल छवियों को ब्राउज़ करना आसान नहीं बनाते हैं।
वेब से छवियों को आसानी से एक्सेस नहीं किया जा सकता।
फ़ाइल आकार और मात्रा के आधार पर, आप अपनी कुछ तालिकाओं में ढेर सारा कच्चा डेटा प्राप्त कर सकते हैं।
ब्लॉब डेटा लोड करना और संग्रहीत करना हमेशा सीधे आगे नहीं होता है। (मैंने हाल ही में हाइबरनेट के लिए एक कस्टम डेटा प्रकार लिखा है, उदाहरण के लिए, हमारे ब्लॉब्ड पीडीएफ को संभालने के लिए।)
फाइल सिस्टम के लाभ
फ़ाइलों को पढ़ने और लिखने के लिए शायद अधिक कुशल।
यदि आप छवि को वेब पर प्रस्तुत करना चाहते हैं, तो आप फ़ाइल सिस्टम से ही ऐसा कर सकते हैं।
डिबगिंग के दौरान छवियों को ब्राउज़ करना आसान होता है, और ऐसा करने के लिए बहुत सारे निःशुल्क टूल।
मेरा मानना है कि फाइल सिस्टम में ब्लॉब्स डालते समय किसी एप्लिकेशन को स्केल करना आसान होता है।
फाइल सिस्टम के नुकसान
डेटा अखंडता/संगति मुद्दे। फ़ाइल संरचना के बारे में कुछ बदलें, और आपके पास डेटाबेस में करने के लिए एक और कदम है।
बैकअप लेना दूसरी बात है।
छवि और डेटा प्राप्त करने के लिए एकाधिक तार्किक संचालन (डेटाबेस से पढ़ें, फ़ाइल सिस्टम से पढ़ें)।