अपाचे स्टोर्म और काफ्का के बीच अंतर
अपाचे स्टोर्म : स्टोर्म एक गलती सहिष्णु, वास्तविक समय गणना और प्रसंस्करण डेटा धाराओं के लिए वितरित ढांचे है। यह विभिन्न डेटा स्रोतों जैसे एचबीएस , काफ्का , कैसंद्रा और कई अन्य अनुप्रयोगों से डेटा लेता है और वास्तविक समय में डेटा को संसाधित करता है। यह क्लोजर और जावा में लिखा गया है ।
चित्रा 1, अपाचे स्टोर्म का मूल स्ट्रीम प्रसंस्करण आरेख
चित्रा 1 में, मूल धारा प्रसंस्करण किया जाता है। स्पॉट और बोल्ट अपाचे स्टोर्म के दो मुख्य घटक हैं और दोनों स्टोर्म टोपोलॉजी का हिस्सा हैं जो डेटा स्रोतों से डाटा स्ट्रीम को संसाधित करने के लिए लेते हैं।
टोपोलॉजी: स्टोर्म टोपोलॉजी स्पॉट और बोल्ट का संयोजन है। यह हडूप में मानचित्र और कमी के समान है ।
स्ट्रीम: स्ट्रीम को डेटा पाइपलाइन के रूप में माना जा सकता है, यह वास्तविक डेटा है जिसे हमें डेटा स्रोत से प्राप्त किया गया है।
स्पॉट: स्पॉट को अलग-अलग डेटा स्रोतों जैसे डेटा एपीआई से डेटा प्राप्त होता है। यह लगातार डेटा स्रोतों से डेटा प्राप्त करता है और इसे प्रसंस्करण के लिए बोल्ट भेजता है।
बोल्ट: यह तार्किक प्रसंस्करण इकाइयां स्पॉट से डेटा लेती हैं और डेटा स्रोतों और डेटाबेस के साथ एकत्रीकरण, फ़िल्टरिंग, जुड़ने और बातचीत करने जैसे तार्किक संचालन करती हैं।
अपाचे काफ्का: काफ्का सेकेंड के अंश में बड़ी मात्रा में डेटा को संभालने के लिए उपयोग करता है। यह एक वितरित संदेश ब्रोकर है जो विषयों और विभाजन पर निर्भर करता है।
यह वास्तविक समय डेटा स्ट्रीमिंग प्रदान करता है। यह फेसबुक , ट्विटर और एपीआई जैसी विभिन्न वेबसाइटों से डेटा लेता है और डेटा को हडूप पर्यावरण में किसी भी अलग प्रोसेसिंग एप्लिकेशन (अपाचे स्टॉर्म) में पास करता है।
चित्रा 2, अपाचे काफ्का के वास्तुकला और घटक।
काफ्का विभिन्न डेटा स्रोतों से प्राप्त संदेश / डेटा संग्रहीत करता है जिसे ” निर्माता ” कहते हैं। एक बार यह डेटा प्राप्त करने के बाद यह विभिन्न ” विषय ” के भीतर ” विभाजन ” के माध्यम से संदेशों को विभाजित करता है ।
काफ्का क्लस्टर विषय और विभाजन का संयोजन है। विभाजन इंडेक्स और संदेशों को स्टोर करें। उपभोक्तासंदेश को विभाजन से लेता है और संदेशों से पूछताछ करता है। अपाचे काफ्का अपाचे एचबेस , अपाचे स्पार्क , और अपाचे स्टोर्म के साथ उपयोग किया जा सकता है ।
निम्नलिखित एपीआई हैं जो काफ्का क्लस्टर के भीतर सभी संदेश (प्रकाशन और सदस्यता) डेटा को संभालती हैं।
1) निर्माता एपीआई: यह रिकॉर्ड की धारा प्रकाशित करने के लिए आवेदन की अनुमति प्रदान करता है।
2) उपभोक्ता एपीआई: इस एपीआई का इस्तेमाल विषयों की सदस्यता लेने के लिए किया जा रहा है।
3) स्ट्रीम एपीआई: यह स्ट्रीम आउटपुट स्ट्रीम में इनपुट स्ट्रीम को परिवर्तित करने के बाद परिणाम प्रदान करता है।
4) कनेक्टर एपीआई: यह मौजूदा अनुप्रयोगों के साथ विषयों को जोड़ता है।
अपाचे काफ्का का मुख्य उपयोग वेबसाइट गतिविधि ट्रैकिंग, मेट्रिक्स, लॉग एग्रीगेशन, इवेंट सोर्सिंग और अन्य लाइव डेटा स्ट्रीम कैप्चरिंग के लिए है। यह स्ट्रीमिंग के लिए अच्छा है जो विश्वसनीय रूप से अनुप्रयोगों या प्रणालियों के बीच डेटा प्राप्त करता है
अपाचे स्टोर्म बनाम काफ्का (इन्फोग्राफिक्स) के बीच हेड टू हेड तुलना
अपाचे स्टोर्म बनाम काफ्का के बीच शीर्ष 9 मतभेद नीचे है
अपाचे स्टोर्म बनाम काफ्का के बीच महत्वपूर्ण अंतर
1) अपाचे स्टोर्म पूर्ण डेटा सुरक्षा सुनिश्चित करता है जबकि काफ्का डेटा हानि की गारंटी नहीं है, लेकिन नेटफ्लिक्स की तरह यह बहुत कम है, प्रति दिन 7 मिलियन संदेश लेनदेन के लिए 0.01% डेटा हानि प्राप्त हुई है।
2) काफ्का स्थानीय डेटा सिस्टम पर अपना डेटा स्टोर कर सकता है जबकि अपाचे स्टॉर्म सिर्फ डेटा प्रोसेसिंग फ्रेमवर्क है।
3) स्टोर्म रीयल-टाइम मैसेजिंग सिस्टम पर काम करता है जबकि काफ्का प्रसंस्करण से पहले आने वाले संदेश को स्टोर करता था।
4) अपाचे काफ्का का उपयोग रीयल-टाइम डेटा को प्रोसेस करने के लिए किया जाता है जबकि डेटा को बदलने के लिए स्टोर्म का उपयोग किया जा रहा है।
5) काफ्का डेटा के वास्तविक स्रोत से अपना डेटा प्राप्त करता है जबकि स्टोर्म आगे की प्रक्रियाओं के लिए डेटा को काफ्का से खींचता है।
6) काफ्का रीयल-टाइम एप्लिकेशन डेटा को स्रोत एप्लिकेशन से दूसरे में स्थानांतरित करने का एक अनुप्रयोग है जबकि स्टोर्म एकत्रीकरण और गणना इकाई है।
7) काफ्का एक वास्तविक समय स्ट्रीमिंग इकाई है जबकि स्टोर्म काफ्का से खींची गई धारा पर काम करता है।
8) अपाचे जुकीपर को काफ्का की स्थापना करते समय अनिवार्य है कि स्टोर्म ज़ूकीपर निर्भर नहीं है।
9) काफ्का एक पानी पाइपलाइन के रूप में काम करता है जो डेटा को स्टोर और अग्रेषित करता है जबकि स्टोर्म ऐसी पाइपलाइनों से डेटा लेता है और इसे आगे संसाधित करता है।
10) काफ्का स्टोर्म के लिए डेटा का एक बड़ा स्रोत है, जबकि काफ्का में संग्रहीत डेटा को संसाधित करने के लिए स्टोर्म का उपयोग किया जा सकता है।
11) अपाचे स्टोर्म में अपने डेमन्स को स्वत: पुनरारंभ करने के लिए अंतर्निहित सुविधा है, जबकि जुकीपर के कारण काफ्का गलती सहनशील है।
अपाचे स्टोर्म बनाम काफ्का तुलना तालिका
तुलना अंक
|
आंधी | काफ्का |
आविष्कारक
|
ट्विटर |
लिंक्डइन
|
प्रकार |
वास्तविक समय संदेश प्रसंस्करण |
वितरित संदेश प्रणाली
|
डेटा स्रोत
|
काफ्का और कोई डेटाबेस सिस्टम |
एफबी, ट्विटर आदि …
|
प्राथमिक उपयोग
|
स्ट्रीम प्रोसेसिंग |
संदेश ब्रोकर
|
आधार सामग्री भंडारण |
अपने डेटा को स्टोर नहीं करता है। डेटा इनपुट स्ट्रीम से आउटपुट स्ट्रीम में स्थानांतरित हो जाता है
|
फाइल सिस्टम जैसे एक्सटी 4 या एक्सएफएस
|
स्ट्रीम प्रसंस्करण
|
माइक्रो-बैच प्रोसेसिंग |
छोटे बैच प्रसंस्करण
|
निर्भरता |
किसी भी बाहरी आवेदन पर निर्भर नहीं है
|
जुकीपर आश्रित
|
विलंब |
मिली-द्वितीय विलंबता |
आम तौर पर 1-2 सेकंड से कम डेटा स्रोत पर निर्भर करता है।
|
भाषा समर्थन |
यह सभी भाषाओं का समर्थन करता है |
काफ्का सभी के साथ काम करता है लेकिन केवल जावा भाषा के साथ सबसे अच्छा काम करता है
|
निष्कर्ष
अपाचे स्टोर्म और काफ्का दोनों स्वतंत्र हैं और हडूप क्लस्टर पर्यावरण में एक अलग उद्देश्य है।
अपाचे स्टोर्म और काफ्का दोनों एक-दूसरे से स्वतंत्र हैं, हालांकि काफ्का के साथ स्टोर्म का उपयोग करने की सिफारिश की जाती है क्योंकि पैकेट ड्रॉप के मामले में काफ्का डेटा को स्टोर्म में दोहरा सकता है, यह इसे स्टोर्म भेजने से पहले प्रमाणित करता है।
काफ्का की भूमिका मिडलवेयर के रूप में काम करना है, यह विभिन्न स्रोतों से डेटा लेता है और फिर स्टोर्म संदेशों को जल्दी से संसाधित करता है। ऑनलाइन वोटों की गणना और पृथक्करण अपाचे स्टोर्म के लिए वास्तविक समय का उदाहरण है।
अपाचे स्टोर्म और काफ्का दोनों में रीयल-टाइम एनालिटिक्स करने के लिए डेटा की रीयल-टाइम स्ट्रीमिंग और बहुत सक्षम सिस्टम में बहुत अच्छी क्षमता है ।