2012-02-23 18 views
42

मैंने प्रोग्रामिंग भाषाओं की तुलना में कई लेख पढ़े।इसका माप स्केलेबिलिटी क्या है?

एक ऐसा शब्द होता है जो अक्सर आता है: स्केलेबिलिटी। मैंने वास्तव में एक सरल और स्पष्ट स्पष्टीकरण की तलाश करने की कोशिश की, लेकिन इसे नहीं मिला।

क्या आप समझ सकते हैं कि मापनीयता का क्या अर्थ है?

धन्यवाद।

+2

स्केलेबिलिटी टैग के लिए होवर पर एक नज़र डालें ... यह एक अच्छी शुरुआत है! Google भी, साथ ही। वहाँ एक बिलियन संसाधन हैं जो इसे पूरी तरह से और आसानी से समझाते हैं ... जैसे http: // shiflett।संगठन/ब्लॉग/2003/oct/what-is-scalability – king14nyr

+1

@ king14nyr के लिंक में आंकड़ों में, ओ (सी^एन), ओ (एन), और ओ (लॉग (एन)), सभी बिग-ओ नोटेशन हैं । जैसा कि आप डेटा के बड़े सेट (एन रिकॉर्ड) के साथ देख सकते हैं, ओ (लॉग (एन)) पैटर्न वाले प्रोग्राम बहुत अच्छी तरह से चलेंगे, जबकि ओ (सी^एन) बहुत खराब प्रदर्शन करेगा। वे दो चरम सीमाएं हैं। – Furbeenator

उत्तर

40

स्केलेबिलिटी स्केल करने के लिए एक प्रोग्राम की क्षमता है। उदाहरण के लिए, यदि आप किसी छोटे डेटाबेस (1000 से कम रिकॉर्ड्स कहें) पर कुछ कर सकते हैं, तो एक प्रोग्राम जो अत्यधिक स्केलेबल है, एक छोटे से सेट पर अच्छी तरह से काम करेगा और साथ ही साथ बड़े सेट पर काम करेगा (लाखों या रिकॉर्ड के अरबों)।

अंतराल की तरह, यह संसाधन आवश्यकताओं की एक रैखिक वृद्धि होगी। इस बारे में अधिक जानकारी के लिए बिग-ओ नोटेशन देखें कि प्रोग्राम को अधिक मात्रा में डेटा इनपुट प्राप्त करने के लिए अधिक गणना की आवश्यकता हो सकती है। बिग-ओ (एक्स^2) जैसे कुछ परावर्तक बिग-ओ (एक्स) जैसे कुछ रैखिक की तुलना में बड़े एक्स इनपुट के साथ बहुत कम कुशल हैं।

+1

यह वास्तव में गलत है। एक रैखिक स्केलेबिलिटी के लिए रैखिक वृद्धि होगी। आप अभी भी गैर रैखिक तरीकों (स्वाभाविक रूप से एक सीमा तक) में स्केलेबल हो सकते हैं। दूसरा, स्केलेबिलिटी हार्डवेयर को बदलकर प्राप्त/दिखाया जाता है। अगर मेरे पास एक बड़ा सेटअप है और मैं इसे पहले 1 टीपीएस के साथ चलाता हूं, जबकि यह वास्तव में 100 टीपीएस को संभाल सकता है - इसे 100TPS पर चलाना इसे स्केल नहीं कर रहा है। यदि लोड एचडब्लू को बदलकर 10 केटीपीएस तक बढ़ा सकता है तो यह स्केलेबल –

+3

ओपी प्रश्न के संदर्भ में, मैं सॉफ्टवेयर एल्गोरिदम की स्केलेबिलिटी का वर्णन कर रहा था। यह संदर्भ कॉलेज coursework में विशिष्ट है। दो संभावित एल्गोरिदम की स्केलेबिलिटी की तुलना करते समय, रैखिक संसाधन आवश्यकताओं वाले एक की तुलना में रैखिक संसाधन आवश्यकताओं वाले एक को अत्यधिक स्केलेबल होने जा रहा है। – Furbeenator

+0

मुझे लगता है कि सॉफ़्टवेयर एल्गोरिदम में कौन सा स्केलेबिलिटी विशेष है। लेकिन प्रोग्रामिंग भाषा में स्केलेबिलिटी क्या है? –

6

मेरे समझ इसका मतलब है कि उत्पादन में एक रैखिक वृद्धि का अनुरोध किया केवल संसाधनों में एक रैखिक वृद्धि की मांग है।

19

स्केलेबिलिटी वह विशेषता है जहां एक सॉफ्टवेयर समाधान काम के बढ़ते भार को संभाल सकता है। का उपयोग करके विकसित करने के लिए क्षमता - यह बड़े डेटा सेट, उच्च अनुरोध दरों, आकार और वेग आदि के संयोजन

जब सिस्टम scalability बारे में बात कर, हम आम तौर

  • के बीच अंतर "ऊपर स्केल" हो सकता है मजबूत हार्डवेयर
  • "बाहर स्केल" - अधिक हार्डवेयर

एक समाधान है कि बाहर पैमाने पर आम तौर पर एक अधिक लागत प्रभावी तरीके से बीर लोड करने के लिए विकसित कर सकते हैं कर सकते हैं जोड़ने के द्वारा विकसित करने के लिए क्षमता। यहां जानने के लिए एक महत्वपूर्ण बात Amdahl's law है जो बताती है कि स्केल करने की क्षमता सॉफ़्टवेयर के अनुक्रमिक भाग

8

पहले से ही बहुत अच्छे उत्तर यहां है, बस यहां कुछ चीज़ें जोड़ना चाहते हैं। इस तरह, आप और अधिक कठिन बर्तन अधिक रैम, प्रोसेसर या अधिक नोड्स की तरह जोड़ने -

अनुमापकता 2 तरीके

कार्यक्षेत्र के द्वारा प्राप्त किया जा सकता है। आप लोड बैलेंसर भी पेश करते हैं, जो आने वाली कॉल को रूटिंग एल्गोरिदम के आधार पर विभिन्न सर्वरों पर रूट करने में मदद करेगा। एप्लिकेशन अब अधिक लोड को संभालने में सक्षम है क्योंकि सर्वर पर लोड साझा किया जा रहा है।

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

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