मजबूती और दोष-सहिष्णुता में क्या अंतर है?


12

सिस्टम / प्रोग्राम / वितरित एल्गोरिदम / ... अक्सर विधेय मजबूत या गलती-सहिष्णु के साथ वर्णित हैं ।

अंतर क्या है?


विवरण:

जब मैं + मजबूत + "दोष-सहिष्णु" के लिए Google करता हूं, तो मुझे केवल दो हिट मिलते हैं, दोनों ही अनहेल्दी।

जब मैं शर्तों के लिए googlescholar होता हूं, तो मुझे बहुत सारे पेपर मिलते हैं जिनके शीर्षक में दोनों शब्द होते हैं। दुर्भाग्य से, वे शर्तों को ठीक से परिभाषित नहीं करते हैं :( लेकिन जब से वे दोनों शब्दों का उपयोग करते हैं, ऐसा लगता है कि न तो दूसरे का अर्थ है।



हां, यह उन चीजों में से एक था जो मैंने उनका अर्थ जानने के लिए पढ़ी थी। दुर्भाग्य से, दोनों एक ही चीज़ का एक सार स्तर पर वर्णन करते हैं, जबकि दूसरे का संदर्भ नहीं देते हैं। इसलिए मैं यहां पूछ रहा हूं।
डेवफ़र

जवाबों:


33

दोनों एक अनुप्रयोग के व्यवहार की स्थिरता का वर्णन करते हैं, लेकिन "मजबूती" एक आवेदन की उसके इनपुट के प्रति प्रतिक्रिया का वर्णन करता है , जबकि "दोष-सहिष्णुता" अपने वातावरण के लिए एक आवेदन की प्रतिक्रिया का वर्णन करता है

जब यह असंगत डेटा के साथ लगातार काम कर सकता है तो एक ऐप मजबूत होता है। उदाहरण के लिए: मैप्स एप्लिकेशन तब मजबूत होता है जब वह विभिन्न स्वरूपों में विभिन्न मिसपेलिंग वाले पतों को पार्स कर सकता है और एक उपयोगी स्थान लौटा सकता है। एक म्यूजिक प्लेयर तब मजबूत होता है जब वह किसी विकृत फ्रेम का सामना करने के बाद एमपी को डिकोड करना जारी रख सकता है। एक छवि संपादक तब मजबूत होता है जब वह एक छवि को संशोधित EXIF ​​मेटाडेटा के साथ संशोधित कर सकता है जो इसे पहचान नहीं सकता है - खासकर अगर यह EXIF ​​डेटा को बर्बाद किए बिना छवि में परिवर्तन कर सकता है।

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

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

एक जरूरी दूसरे के लिए नेतृत्व नहीं करता है। एक मोबाइल वॉयस-रिकग्निशन ऐप बहुत मजबूत हो सकता है, जो भारी मात्रा में पृष्ठभूमि शोर के साथ विभिन्न प्रकार के क्षेत्रीय लहजे में लगातार भाषण को पहचानने की एक अलौकिक क्षमता प्रदान करता है। लेकिन अगर यह तेजी से सेलुलर डेटा कनेक्शन के बिना बेकार है, तो यह बहुत गलत-सहिष्णु नहीं है। इसी तरह, एक वेब पब्लिशिंग एप्लिकेशन हर स्तर पर कई अतिरेक के साथ, बहुत सारे दोषों को सहन करने में सक्षम हो सकता है, बिना असफलता के पूरे डेटा केंद्रों को खोने में सक्षम है, लेकिन अगर यह किसी उपयोगकर्ता तालिका को गिरा देता है और पहली बार किसी व्यक्ति को उनके अंतिम नाम में एपोस्ट्रोफी के साथ क्रैश करता है , यह बिल्कुल मजबूत नहीं है।

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

Google फ़ाइल सिस्टम श्वेतपत्र गलती-सहिष्णुता समस्याओं के लिए उनके दृष्टिकोण का वर्णन करता है, जिसमें आम तौर पर यह धारणा शामिल होती है कि घटक विफलताएं नियमित हैं और इसलिए आवेदन को उनके अनुकूल होना चाहिए:

रटगर्स में एक वर्ग के लिए यह परियोजना "गलती-सहिष्णुता" की एक "घटक-विफलता" उन्मुख परिभाषा का समर्थन करती है।

  • http ://www.ece। घटक विफल होते हैं या उपयोगकर्ताओं को मुखौटा विफलता ... ")

आपके द्वारा जांच की गई फ़ील्ड के आधार पर "मजबूत मॉडलिंग XYZ" पर कागजात का भार है। अधिकांश सार में "मजबूत" के लिए उनके मानदंड का वर्णन करेंगे, और आप पाएंगे कि सभी को इनपुट के साथ मॉडल कैसे करना है।

नासा के जलवायु वैज्ञानिक का यह संक्षिप्त विवरण जलवायु मॉडल के मूल्यांकन के लिए एक मापदंड के रूप में मजबूती का वर्णन करता है:

  • http://www.giss.nasa.gov/research/briefs/schmidt_04/ ("... इस बात में मजबूत कि यह मानकीकरण और स्थानिक प्रतिनिधित्व की बारीकियों पर काफी निर्भर नहीं करता है।"

MIT के शोधकर्ता का यह पेपर वायरलैस प्रोटोकॉल अनुप्रयोगों, एक डोमेन जिसमें फॉल्ट-टॉलरेंस और मजबूती को ओवरलैप करता है, की जांच करता है, लेकिन लेखक एप्लिकेशन, प्रोटोकॉल और एल्गोरिदम का वर्णन करने के लिए "मजबूत" का उपयोग करते हैं, जबकि वे टोपोलॉजी के संदर्भ में "फॉल्ट-टॉलरेंस" का उपयोग करते हैं। और घटक:

  • http://people.csail.mit.edu/grishac/papers/allerton.pdf ("संक्षेप में, इन उपयोगों में मजबूत अनुप्रयोगों की आवश्यकता होती है जो हमेशा अप्रत्याशित परिस्थितियों में भी सही ढंग से संचालित होते हैं।"

0

मैं वास्तव में @ जॉनीब के उत्तर को पसंद करता हूं और अपनी कुरकुरा परिभाषाओं के लिए इसका समर्थन करता हूं । लेकिन कुछ दशकों तक क्षेत्र में काम करने के बाद, मैं एक और (बहुत कम औपचारिक और सटीक) तरीके से पहचानता हूं कि ये शब्द अक्सर उपयोग किए जाते हैं:

अनौपचारिक के साथ अनौपचारिक बिंदु के रूप में "अविश्वसनीय" से "पूरी तरह से विश्वसनीय।"

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

"मजबूत," "कठोर," और "अत्यधिक उपलब्ध" जैसे शब्दों को निरंतर संचालन के उस लक्ष्य की ओर नरम मील के पत्थर के रूप में उपयोग किया जाता है। वे प्रयास, निवेश और आत्मविश्वास के बढ़ते स्तर को दर्शाते हैं।

क्योंकि इन शब्दों का अनौपचारिक रूप से उपयोग किया जाता है, इसलिए पूरी तरह से विहित आदेश नहीं है। "अत्यधिक उपलब्ध" आमतौर पर एक मजबूत दावा है, "दोषरहित" या "दोष सहिष्णु" के तहत। लेकिन क्या "मजबूत" "मजबूत" से बेहतर है? या ठीक इसके विपरीत? ये संदर्भ पर निर्भर करता है। इनका उपयोग अक्सर उत्पाद विपणन दावों के रूप में भी किया जाता है, जिसमें सभी घमंड और जानबूझकर बढ़ती खराबी होती है।

आमतौर पर इन लक्ष्यों की ओर काम करने वाले संगठनों की अपनी आंतरिक रूप से सहमत-प्रगति होती है, आमतौर पर कम से कम मोटे तौर पर प्रोजेक्ट लक्ष्य / डिलिवरेबल्स और बाहरी मैट्रिक्स जैसे "तीन नाइन" या "छह निन।"

@ जोहनीब एक महत्वपूर्ण अंतर को भी छूता है: एक तरफ प्लेटफॉर्म अप / डाउन स्टेटस (उपलब्धता), और दूसरी तरफ एल्गोरिथ्म, एप्लिकेशन या सेवा विशेषताओं के बीच का अंतर।

मैं कहता हूं कि "विशेषताएँ" क्योंकि कई हैं: प्रदर्शन, शुद्धता और अपरिपक्वता केवल कुछ प्रमुख हैं। क्या यह सिस्टम सार्थक रूप से उपलब्ध है और सही है यदि यह रेटेड प्रदर्शन के सिर्फ 10% पर काम कर रहा है? व्यवसाय के मालिकों के अनुसार नहीं अगर यह व्यस्त मौसम है! इस प्रणाली में कोई बड़ा गुण नहीं है जो वास्तव में कभी भी नीचे नहीं जाता है, फिर भी यह समय का गलत जवाब देता है। अंत में, क्या एक डेटा एनालिटिक्स सिस्टम "सही" चल रहा है अगर इनपुट में 0.2% की भिन्नता 3,400% भिन्न उत्तर देती है? शायद ... लेकिन यह एक नहीं बल्कि कई लोगों के लिए आकर्षक और असंतोषजनक मॉडल लग रहा है। मैं विशेषताओं की विस्तारित सूची के माध्यम से नहीं जाऊंगा, लेकिन डेटा अखंडता, डेटा सुरक्षा, डेटा गोपनीयता और शुद्धता और सुरक्षा के अन्य मुद्दे आम चिंताएं हैं। (यदि आप बहुत बड़े संगठन या सरकारी एजेंसी हैं, आप तेजी से उन विशेषताओं को संरक्षित करने के बारे में चिंता करते हैं जो न केवल कुछ वर्षों या उत्पाद चक्रों पर, बल्कि दशकों या संभवत: सदियों से अधिक हैं। इसे पूरा करने के लिए अभी तक कोई सिद्ध वास्तु, प्रक्रिया या दृष्टिकोण नहीं हैं।)

"ऊपर और चल रहा है" और "हम जो चाहते हैं" - और कैसे निर्दिष्ट करें, मापें, और इस तरह के भिन्नताओं को रोकने के बीच के संभावित संस्करण - लंबे समय से एक चुनौती है, यहां तक ​​कि एक बार अतिरेक, कठोर और गलती की ओर अन्य कदम- सहनशीलता बरती गई। और अनौपचारिक उपयोग में, "चल रहा है" और "मैं चाहता हूं कि यह चल रहा है" के विभिन्न रूपों को जब्त कर लिया जाता है, सभी स्पष्ट भेदों के बिना कोई भी चाहेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.