2013-05-22 3 views
10

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

उत्तर

30

वे अलग-अलग जानवर हैं।

रेडिस और memcachedb वितरित स्टोर हैं। रेडिस एक शुद्ध इन-मेमोरी सिस्टम है जिसमें वैकल्पिक स्थिरता है जिसमें विभिन्न डेटा संरचनाएं हैं। Memcachedb बर्कले-डीबी के शीर्ष पर एक memcached एपीआई प्रदान करता है। दोनों मामलों में, ओएलटीपी अनुप्रयोगों, या अंत में, सरल रीयल-टाइम एनालिटिक्स (डेटा के ऑन-द-फ्लाई एग्रीगेशन) के लिए उनका उपयोग अधिक होने की संभावना है।

रेडिस और मेमकैचब दोनों में समानांतर में संग्रहीत डेटा को प्रभावी ढंग से पुन: सक्रिय करने के लिए तंत्र की कमी है। आप संग्रहीत डेटा को आसानी से स्कैन और लागू नहीं कर सकते हैं। वे इसके लिए डिजाइन नहीं हैं। इसके अलावा, क्लाइंट-साइड मैन्युअल शेडिंग का उपयोग करके, उन्हें क्लस्टर में स्केल नहीं किया जा सकता है (हालांकि रेडिस क्लस्टर कार्यान्वयन जारी है)।

स्पार्क इन-मेमोरी वितरित डेटासेट प्रदान करके बड़े पैमाने पर विश्लेषिकी नौकरियों (और विशेष रूप से पुनरावृत्तियों वाले) को तेज करने के लिए एक प्रणाली है। स्पार्क के साथ, आप मशीनों के समूह पर कुशल पुनरावृत्ति मानचित्र/नौकरियों को कम कर सकते हैं।

रेडिस और स्पार्क दोनों मेमोरी डेटा प्रबंधन पर भरोसा करते हैं। लेकिन रेडिस (और memcached) एक ही ballpark में अन्य OLTP NoSQL स्टोर के रूप में खेलते हैं, जबकि स्पार्क एक हडोप मानचित्र/प्रणाली को कम करने के समान है।

रेडिस उप-मिलीसेकंद विलंबता के साथ उच्च थ्रूपुट पर कई तेज़ संग्रहण/पुनर्प्राप्ति संचालन चलाने में अच्छा है। डेटा की एक महत्वपूर्ण मात्रा में मशीन सीखने, ग्राफ विश्लेषण, इंटरैक्टिव डेटा खनन, आदि के लिए बड़े पैमाने पर पुनरावृत्त एल्गोरिदम लागू करने पर स्पार्क चमकता है।

अद्यतन: के बारे में तूफान

सवाल अतिरिक्त प्रश्न (नीचे टिप्पणी देखें) तूफान करने के लिए स्पार्क तुलना करने के लिए है।

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

आप स्पार्क के पूर्ण वास्तुकला के विपरीत तूफान देख सकते हैं। तूफान एक वितरित स्ट्रीमिंग इंजन है। प्रत्येक नोड एक मूल प्रक्रिया लागू करता है, और डेटा आइटम इंटरकनेक्टेड नोड्स (स्पार्क के विपरीत) के नेटवर्क में/बाहर प्रवाह करते हैं। तूफान के साथ, डेटा प्रक्रिया में ले जाएँ।

दोनों ढांचे का उपयोग भारी मात्रा में डेटा की गणना को समानांतर करने के लिए किया जाता है।

हालांकि, तूफान कई उत्पन्न/एकत्रित छोटे डेटा आइटम्स (जैसे कुछ समेकन समारोह या ट्विटर स्ट्रीम पर वास्तविक समय में विश्लेषण की गणना) को गतिशील रूप से संसाधित करने में अच्छा है।

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

+2

तूफान के बारे में क्या? आप स्पार्क (या शार्क) के साथ इसकी तुलना कैसे कर सकते हैं? – void

+0

मेरे अपडेट देखें ... –

+0

अपडेट के लिए धन्यवाद। अगर आपको कोई फर्क नहीं पड़ता तो एक और सवाल है। स्पार्क में रीयल-टाइम विश्लेषण के लिए टूल 'स्पार्क स्ट्रीमिंग' है। क्या यह तूफान (एक और वास्तविक समय विश्लेषण उपकरण) के तुलनीय है? क्या इसके लिए कोई फायदे हैं? – void

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