2013-05-09 4 views
15

मुझे प्रत्येक छवि के लिए लगभग 1 से 10 एमबी के औसत आकार के साथ छवियों की एक बड़ी संख्या (प्रति दिन लगभग 10,000 छवियों) स्टोर करने की आवश्यकता है।छवियों को संग्रहीत करना: मोंगोडीबी बनाम फाइल सिस्टम

मैं इन छवियों को ग्रिडएफएस लाइब्रेरी का उपयोग करके या स्ट्रिंग के रूप में बेस 64 रूपांतरण को संग्रहीत करके मोंगोडीबी में स्टोर कर सकता हूं।

मेरा सवाल यह है कि, मोंगोडीबी ऐसे पेलोड के लिए उपयुक्त है या फाइल सिस्टम का उपयोग करना बेहतर है?

कई धन्यवाद,

+0

[इस सवाल] का एक डुप्लिकेट लगता है (http://stackoverflow.com/questions/6212990/mongodb-gridfs-vs- प्रत्यक्ष रूप से-डिस्क- कब)। –

+0

एक विकल्प mongoDB में छवियों के मेटाडेटा होना होगा और छवियों को स्वयं S3 (+ वैकल्पिक रूप से क्लाउडफ़्रंट) जैसे कुछ पर रखना होगा। –

उत्तर

6

MongoDB GridFS एक सामान्य फाइल सिस्टम का लाभ होता की एक बहुत कुछ है और यह निश्चित रूप से डेटा की मात्रा के रूप में आप एक sharded मोंगो क्लस्टर के साथ बाहर पैमाने पर कर सकते हैं का वर्णन कर रहे हैं के साथ सामना करने में सक्षम है। मैंने अपने आप में इतना बाइनरी डेटा नहीं बचाया है, लेकिन मुझे नहीं लगता कि बाइनरी डेटा और टेक्स्ट के बीच एक वास्तविक अंतर है। तो: हाँ, यह पेलोड के लिए उपयुक्त है।

2

फ़ाइल ऑब्जेक्ट्स पर सहेजे गए प्रश्नों और संचालन को ग्रिडएफएस के साथ आसान बनाना आसान है। इसके अलावा, ग्रिडएफएस बैकअप/प्रतिकृति/स्केलिंग के लिए पूरा करता है। हालांकि, फ़ाइलों की सेवा करना ग्रिडएफएस + एनजिनक्स की तुलना में फाइल सिस्टम + Nginx का उपयोग कर तेजी से है (यहां देखें: https://www.coffeepowered.net/2010/02/17/serving-files-out-of-gridfs/)। ग्रिडएफएस की धीमी गति से सेवा की गति को लीवरेज किया जा सकता है जब शेर्डिंग का उपयोग किया जाता है

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