मैं इसके बारे में व्यावहारिक होगा, और "अभी तक अनुकूलन न करें" सिद्धांत का पालन करें। समाधान करें जो इस समय समझ में आता है, और आपके पास विकास संसाधनों को ठीक से लागू करने के लिए है। बहुत सारी संभावित समस्याएं हैं । लेकिन जरूरी नहीं कि वे वास्तविक समस्याएं हों। उदाहरण के लिए, यदि आपके 100 उपयोगकर्ता हैं तो यह संभवतः एक समस्या नहीं होगी। यदि आपके पास 100,000 या 10,000,000 उपयोगकर्ता हैं, तो यह एक समस्या हो सकती है। लेकिन बाद के मामले में, सभी मुद्दों से निपटने के लिए अधिक विकास संसाधनों का एक आधार होना चाहिए।
लेकिन डेटाबेस में डेटा संग्रहीत करने से आपको अन्य समस्याओं से निपटने से राहत मिलती है, जैसे कि फ़ाइलों को कहाँ संग्रहीत किया जाना चाहिए, उन्हें कैसे बैकअप किया जाना चाहिए, आदि। चूंकि आप एक वेब एप्लिकेशन लिख रहे हैं, यह सुरक्षा कारणों से बहुत अच्छा विचार होगा। यह सुनिश्चित करने के लिए कि एप्लिकेशन को होस्ट करने वाली प्रक्रिया में फ़ाइल सिस्टम तक लिखने की पहुंच नहीं है, इसलिए आपको सर्वर को कॉन्फ़िगर करने की आवश्यकता है, ताकि उस प्रक्रिया में उस फ़ोल्डर तक पहुंच / लेखन हो, जहां डेटा संग्रहीत है।
मैं व्यक्तिगत रूप से डेटाबेस में डेटा को संग्रहीत करने का चयन करूंगा, लेकिन सुनिश्चित करें कि BLOBS को तब तक नहीं पढ़ा जाता है जब तक कि उन्हें वास्तव में आवश्यक न हो, अर्थात ब्लॉग वाले उन तालिकाओं पर कोई "SELECT * FROM ..." निष्पादित नहीं किया जाता है। और मैं यह सुनिश्चित करूंगा कि डेटा को डेटाबेस से बाहर ले जाना आसान हो जाए, अगर आपको प्रदर्शन समस्याएं आती हैं, तो फाइल सिस्टम में। उदाहरण के लिए फ़ाइल जानकारी को एक अलग फ़ाइल तालिका में संग्रहीत करें , इस प्रकार फ़ाइल जानकारी को अन्य व्यावसायिक संस्थाओं से दूर रखें।
यह मानते हुए कि आपके पास डेटाबेस में पढ़ी गई फ़ाइल का प्रतिनिधित्व करने के लिए एक फ़ाइल वर्ग है, तो बाद में इसे बाहर ले जाने का कोडिंग प्रभाव न्यूनतम होगा।