2012-01-09 8 views
20

मुझे बड़ी मात्रा में बाइनरी फाइलों को स्टोर करने की आवश्यकता है (10 - 20 टीबी, प्रत्येक फ़ाइल 512 केबी से 100 एमबी तक)।क्या मुझे बड़ी संख्या में बाइनरी फाइलों को स्टोर करने के लिए रेडिस का उपयोग करना चाहिए?

मुझे यह जानने की ज़रूरत है कि रेडिस मेरे सिस्टम के लिए कुशल होगा या नहीं। मैं अपने सिस्टम में गुण निम्नलिखित की जरूरत है:

  • उच्च उपलब्धता
  • फ़ेलओवर
  • Sharding

मैं वस्तु हार्डवेयर का एक समूह का उपयोग करने के जितना संभव हो उतना लागत को कम करना चाहते हैं। कृपया रेडिस का उपयोग करके ऐसी प्रणाली बनाने के पेशेवरों और विपक्ष का सुझाव दें। मैं रेडिस की उच्च रैम आवश्यकताओं के बारे में भी चिंतित हूं।

+2

आपके सिस्टम को * फ़ाइलें * स्टोर करने की आवश्यकता है, आप कहते हैं? यह निश्चित रूप से एक अनूठी आवश्यकता है जिसे किसी ने पहले सामना नहीं किया है! मुझे आश्चर्य है कि ... नहीं, कुछ भी दिमाग में नहीं आता है। मेरी इच्छा है कि आप इस आविष्कार की खोज करें ... "फाइल सिस्टम", जैसा कि मुझे लगता है कि कोई इसे कॉल कर सकता है। –

उत्तर

17

मैं इस तरह के कार्य के लिए रेडिस का उपयोग नहीं करता। अन्य उत्पाद बेहतर फिट आईएमओ होंगे।

रेडिस एक इन-मेमोरी डेटा स्टोर है। यदि आप 10-20 टीबी डेटा स्टोर करना चाहते हैं, तो आपको 10-20 टीबी रैम की आवश्यकता होगी, जो महंगा है। इसके अलावा, मेमोरी आवंटक को छोटी वस्तुओं के लिए अनुकूलित किया गया है, न कि बड़े। आपको शायद अपनी फाइलों को विभिन्न छोटे टुकड़ों में काटना होगा, यह वास्तव में सुविधाजनक नहीं होगा।

रेडिस एचए और विफलता के लिए एक विज्ञापन-समाधान समाधान प्रदान नहीं करता है। एक मास्टर/गुलाम प्रतिकृति प्रदान की जाती है (और काफी अच्छी तरह से काम करती है), लेकिन इस विफलता के स्वचालन के लिए कोई समर्थन नहीं है। ग्राहकों को सही सर्वर पर स्विच करने के लिए पर्याप्त स्मार्ट होना चाहिए। सर्वर-साइड पर कुछ (लेकिन यह निर्दिष्ट नहीं है) को विश्वसनीय तरीके से मास्टर और दास नोड्स के बीच भूमिकाओं को स्विच करना होता है। दूसरे शब्दों में, रेडिस केवल एक ऐसा करने वाला एचए/फेलओवर समाधान प्रदान करता है।

शेर्डिंग को क्लाइंट-साइड (जैसे memcached के साथ) पर लागू किया जाना है। कुछ ग्राहकों के लिए इसका समर्थन है, लेकिन उनमें से सभी नहीं। सबसे तेज़ ग्राहक (किराए पर लेना) नहीं करता है। वैसे भी, रीडलिसिंग जैसी चीजें रेडिस के शीर्ष पर लागू की जानी चाहिए। रेडिस क्लस्टर जो इस तरह की sharding क्षमताओं का समर्थन करने के लिए माना जाता है अभी तक तैयार नहीं है।

मैं कुछ अन्य समाधानों का उपयोग करने का सुझाव दूंगा। GridFS के साथ MongoDB एक संभावना हो सकती है। HDFS के साथ हैडोप एक और है। यदि आप अत्याधुनिक परियोजनाओं को काटना चाहते हैं, तो आप Elliptics Network को आज़मा सकते हैं।

+3

एचडीएफएस लिंक 404'd है, कोशिश करें: http://hadoop.apache.org/docs/stable/hdfs_design.html – Seaux

+1

फिक्स्ड, धन्यवाद! –

+1

लिंक फिर से टूटा हुआ है, यह अच्छा हो सकता है: http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html, लेकिन संस्करण विशिष्ट है। अपाचे में शीर्ष-स्तरीय एचडीएफएस पृष्ठ नहीं लगता है। – ravi

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

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