पिछले हफ़्ते किसी ने मुझसे ठीक यही सवाल पूछा, और यह एक अच्छा सवाल है क्योंकि अगर आप ध्यान से देखें तो दोनों सेटअप एक जैसे लगते हैं। कई सारी मशीनें, बीच में कुछ साझा स्टोरेज, और नोड्स में बँटा हुआ काम। तो फिर एक को “बिग डेटा” और दूसरे को “माइक्रोसर्विसेज़” क्यों कहा जाता है? क्या ये एक ही क्लस्टर के लिए बस दो अलग शब्द हैं? सच कहूँ तो, नहीं। ये दोनों एक ही चीज़ को लेकर विपरीत मान्यताओं पर बने हैं: डेटा कहाँ रहता है और कौन किसके पास जाता है।
“बस माइक्रोसर्विसेज़ स्केल करो” वाला सवाल हर बार उठता है जब Spark की बात होती है। यह तर्कसंगत लगता है — आपके पास पहले से डिस्ट्रिब्यूटेड सर्विसेज़ हैं, बस समस्या पर और फेंक दो। लेकिन यह तुलना एक बेहद बुनियादी सवाल के सामने टिकती नहीं: आप असल में किस तरह की समस्या हल कर रहे हैं?
यह न डेटाबेस है, न कोई Queue लोग Spark के पास यह उम्मीद लेकर आते हैं कि यह किसी तेज़ डेटाबेस या होशियार Kafka जैसा होगा। दोनों गलत हैं।