2012-01-29 12 views
5

मैं अपनी परियोजना के लिए नोड.जेएस का उपयोग करता हूं।क्या मुझे मोंगोडीबी में या स्थानीय फाइल सिस्टम (नोड.जेएस द्वारा) में एक छवि स्टोर करनी चाहिए

क्या मुझे स्थानीय फाइल सिस्टम में एक छवि स्टोर करनी चाहिए, या मुझे इसे मोंगोडीबी में स्टोर करना चाहिए?

किस तरह से अधिक स्केलेबल है?

उत्तर

5

सबसे स्केलेबल समाधान एक साझा स्टोरेज सेवा जैसे अमेज़ॅन के एस 3 (या अपना खुद का शिल्प) का उपयोग करना है।

यह आपको क्षैतिज रूप से स्केल करने की अनुमति देता है जब आप अपनी एप्लिकेशन परत में मशीनें जोड़ने का निर्णय लेते हैं, क्योंकि आपको किसी माइग्रेशन दुःस्वप्न के बारे में चिंता करने की आवश्यकता नहीं होगी।

इसके पीछे मूल विचार अनुप्रयोग परत से भंडारण परत को डीकॉप्ल रखना है। तो इस विचार का उपयोग करके आप एक अलग मशीन पर node.js प्रक्रिया बना सकते हैं जो फ़ाइल अपलोड स्वीकार करता है, फिर उन्हें डिस्क पर लिखता है।

+0

ओपी अमेज़न के बारे में विज्ञापन देने के लिए पूछना नहीं है। लंबे समय तक अमेज़ॅन को भुगतान करने की लागत के अंश पर मोंगो डीबी भी स्केलेबल होगा। लेकिन सवाल मोंगोडीबी और फाइल सिस्टम के बारे में है। –

2

मैं शेडिंग का लाभ उठाने के लिए ग्रिडएफएस का उपयोग करता हूं लेकिन सर्वोत्तम प्रदर्शन के लिए मैं फाइल सिस्टम को nginx के साथ उपयोग करता हूं।

3

यदि आप एक प्रदर्शन संवेदनशील प्रणाली डिजाइन कर रहे हैं, तो अपनी छवियों को स्टोर करने के लिए फ़ाइल सिस्टम का उपयोग करें।

आप प्रदर्शन इस ब्लॉग से तुलना पा सकते हैं: http://blog.thisisfeifan.com/2013/12/mongodb-gridfs-performance-test.html

असल में, आप पा सकते हैं सिफारिश की MongoDB GridFS यहां मामलों का उपयोग करें: https://docs.mongodb.com/manual/core/gridfs/#when-to-use-gridfs

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