बैच प्रोसेसिंग को स्केल करना

स्ट्रीमिंग कॉन्सेप्ट्स

Mike Metzger

Data Engineer

स्केलिंग क्या है?

  • परफॉर्मेंस बेहतर करना
    • तेज़ी से प्रोसेस करना
      • उतना ही डेटा कम समय में प्रोसेस
    • ज़्यादा डेटा प्रोसेस करना
      • उतने ही समय में ज़्यादा डेटा प्रोसेस
स्ट्रीमिंग कॉन्सेप्ट्स

वर्टिकल स्केलिंग

  • बेहतर कंप्यूटिंग
    • तेज़ CPU
    • तेज़ IO
    • अधिक मेमोरी
  • आमतौर पर स्केलिंग का सबसे आसान तरीका
    • सबसे कम जटिलता
    • शायद ही कभी अंडरलाईंग प्रोग्राम/एल्गोरिदम बदलने पड़ते हैं

CPU

Memory

1 Images courtesy https://unsplash.com/@jeremy0
स्ट्रीमिंग कॉन्सेप्ट्स

वर्टिकल स्केलिंग: कमियाँ

  • स्वभाव से सीमित
  • महँगा हो सकता है / ROI कम
  • इंडस्ट्री में सुधार सुनिश्चित नहीं
स्ट्रीमिंग कॉन्सेप्ट्स

हॉरिज़ॉन्टल स्केलिंग

  • एक टास्क को कई हिस्सों में विभाजित करना
    • ज़्यादा कंप्यूटर
    • या ज़्यादा CPU भी हो सकते हैं
  • "Embarrassingly parallel" टास्क पर सबसे अच्छा
    • जिन्हें वर्करों में आसानी से बाँटा जा सके
  • बहुत किफायती हो सकता है
  • कुछ प्रक्रियाओं में लगभग-लिनीयर परफॉर्मेंस सुधार मिल सकता है

CPU1

CPU2

CPU3

CPU4

स्ट्रीमिंग कॉन्सेप्ट्स

हॉरिज़ॉन्टल स्केलिंग: कमियाँ

  • जटिलता
    • प्रोसेसिंग फ्रेमवर्क चाहिए (जैसे Apache Spark या Dask)
    • अधिक विस्तृत नेटवर्किंग चाहिए
  • लगातार प्रबंधन
  • आवश्यकताओं पर निर्भर कर महँगा हो सकता है
  • "Non-parallel" टास्क
स्ट्रीमिंग कॉन्सेप्ट्स

अभ्यास करते हैं!

स्ट्रीमिंग कॉन्सेप्ट्स

Preparing Video For Download...