जहाँ तक PostgreSQL संबंधित है, टाइप करें text
सवाल से बाहर है। यह धीमा है, अधिक स्थान का उपयोग करता है और bytea
. की तुलना में अधिक त्रुटि-प्रवण है इस उद्देश्य के लिए।
मूल रूप से 3 दृष्टिकोण हैं:
-
bytea
type प्रकार का उपयोग करें (मूल रूप से एसक्यूएल ब्लॉब प्रकार के पीजी समकक्ष)। -
"बड़ी वस्तुओं . का उपयोग करें ".
-
ब्लॉब्स को फाइल के रूप में फाइल सिस्टम . में स्टोर करें और केवल फ़ाइल नाम को डेटाबेस में संग्रहीत करें।
प्रत्येक के अपने फायदे और नुकसान हैं।
1. संभालना आसान है लेकिन सबसे अधिक डिस्क स्थान की आवश्यकता है। कुछ डिकोडिंग और एन्कोडिंग की आवश्यकता होती है, जो इसे धीमा-ईश भी बनाती है। बैकअप आकार में तेजी से बढ़ते हैं!
2. संभालने में थोड़ा अजीब है, लेकिन ब्लब्स में हेरफेर करने के लिए आपके पास अपना खुद का बुनियादी ढांचा है - अगर आपको इसकी आवश्यकता होनी चाहिए। और आप अधिक आसानी से अलग बैकअप बना सकते हैं।
3. अब तक का सबसे तेज़ तरीका है और कम से कम डिस्क स्थान का उपयोग करता है। लेकिन यह उस संदर्भात्मक अखंडता को प्रदान नहीं करता है जो आपको डेटाबेस के अंदर संग्रहीत करने पर मिलती है।
छवि फ़ाइलों के लिए मेरे पास इस तरह के कई कार्यान्वयन हैं:एक छोटा थंबनेल store संग्रहित करें संदर्भात्मक अखंडता और त्वरित संदर्भ के लिए एक बाइटा-फ़ील्ड में। फ़ाइल-सिस्टम में मूल छवि को फ़ाइल के रूप में संग्रहीत करें। बेशक, आपको कुछ विचार करने की ज़रूरत है कि पुरानी फ़ाइलों को कब और कैसे हटाया जाए, बाहरी फ़ाइलों का बैकअप कैसे लिया जाए।