2010-12-30 14 views
5

मैं कहीं भी एक सीरियलाइज्ड ऑब्जेक्ट को स्टोर करना चाहता हूं और चारों ओर देखने के बाद, महसूस करना कि ऐसा करने के कुछ तरीके हैं।postgresql serialized ऑब्जेक्ट को स्टोर करने के लिए बाइट ब्लॉब या फ़ाइल स्थान का उपयोग करें?

मैं फ़ाइल सिस्टम में फ़ाइल को संग्रहीत करने और तालिका में प्रविष्टियों के रूप में फ़ाइल स्थान संग्रहीत करने के लिए देख रहा हूं।

फ़ाइलों को मानना ​​लगभग 100-500 केबी है, क्या यह ऐसा करने का एक उपयुक्त तरीका है? या बाइटिया या ब्लॉब का उपयोग बेहतर समाधान?

उत्तर

10

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

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

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

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