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