견고성과 내결함성의 차이점은 무엇입니까?


12

시스템 / 프로그램 / 분산 알고리즘 / ...은 종종 강력한 또는 내결함성 술어로 설명됩니다 .

차이점은 무엇입니까?


세부:

Google에서 + 견고 + "내결함성"을 검색하면 도움이되지 않는 두 번의 조회 만받습니다.

용어에 대해 구글 검색을 할 때 제목에 두 용어가 모두 포함 된 논문이 많이 있습니다. 불행히도, 그들은 정확하게 용어를 정의하지 않습니다 :( 그러나 두 용어를 모두 사용하기 때문에 다른 용어를 암시하지 않는 것 같습니다.



네, 그 의미를 찾기 위해 내가 처음 읽은 것 중 하나였습니다. 불행히도, 둘 다 추상적 인 수준에서 동일한 것을 묘사하지만 다른 것을 언급하지는 않습니다. 그래서 내가 여기에 묻는 이유입니다.
DaveFar

답변:


33

둘 다 응용 프로그램 동작의 일관성을 설명하지만 "견고성"은 입력 에 대한 응용 프로그램의 응답을 설명하고 "내결함성"은 응용 프로그램의 환경에 대한 응답을 설명 합니다 .

일관되지 않은 데이터로 일관되게 작업 할 수있는 앱은 강력합니다. 예를 들어,지도 응용 프로그램은 다양한 철자가 틀린 다양한 형식의 주소를 구문 분석하고 유용한 위치를 반환 할 수있을 때 강력합니다. 음악 플레이어는 잘못된 프레임이 발생한 후 MP3를 계속 디코딩 할 수있을 때 강력합니다. 이미지 편집기는 인식 할 수없는 EXIF ​​메타 데이터가 포함 된 이미지를 수정할 수있을 때 특히 강력합니다 (특히 EXIF ​​데이터를 손상시키지 않고 이미지를 변경할 수있는 경우).

일관되지 않은 환경에서 일관되게 작동 할 수있는 앱은 내결함성이 있습니다. 데이터베이스 애플리케이션은 기본 애플리케이션을 사용할 수 없을 때 대체 샤드에 액세스 할 수있는 경우 내결함성이 있습니다. 웹 호스트는 API 호스트에 접근 할 수없는 경우에도 캐시 요청을 계속 처리 할 수있는 경우 내결함성이 있습니다. 스토리지 서브 시스템은 디스크 멤버가 오프라인 일 때 패리티에서 계산 된 결과를 리턴 할 수있는 경우 결함 허용입니다.

두 경우 모두, 애플리케이션은 안정적인 상태를 유지하고, 균일하게 동작하며, 데이터 무결성을 유지하고, 오류가 발생하더라도 유용한 결과를 제공 할 것으로 예상됩니다. 그러나 견고성을 평가할 때는 데이터와 관련된 기준을 찾을 수 있지만 내결함성을 평가할 때는 가동 시간과 관련된 기준을 찾을 수 있습니다.

하나는 반드시 다른 것으로 이어질 필요는 없습니다. 모바일 음성 인식 앱은 매우 강력하여 배경 소음이 많은 다양한 지역 악센트에서 일관되게 음성을 인식 할 수 있습니다. 그러나 빠른 셀룰러 데이터 연결 없이는 쓸모가 없다면 내결함성이 없습니다. 마찬가지로, 웹 게시 응용 프로그램은 모든 수준에서 여러 중복성이있어 내결함성이 매우 뛰어나므로 전체 데이터 센터를 실패없이 잃을 수 있지만 사용자 테이블을 삭제하고 누군가가 성을 아포스트로피로 처음 등록하면 충돌이 발생합니다 전혀 강력하지 않습니다.

구별을 설명하기 위해 학술 문헌을 찾고 있다면 일반적으로 소프트웨어가 아닌 소프트웨어를 사용하는 특정 도메인을 살펴볼 수 있습니다. 분산 응용 프로그램 연구는 내결함성 기준에 대한 비옥 한 근거가 될 수 있으며 Google은 관련성이있는 일부 연구를 발표했습니다. 과학자들은 재현성있는 결과를 만들어내는 견고성의 속성에 특히 관심이 있기 때문에 데이터 모델링 연구는 견고성 문제를 해결할 가능성이 높습니다. 기후 모델링, RF 전파 모델링 또는 게놈 시퀀싱과 같이 도움이 될 수있는 통계적 응용 프로그램을 설명하는 논문을 찾을 수 있습니다. 또한 제어 시스템과 같은 것들에서 "견고한 디자인"을 논의하는 엔지니어를 찾을 수 있습니다.

Google 파일 시스템 백서에서는 내결함성 문제에 대한 접근 방식에 대해 설명합니다. 여기에는 일반적으로 구성 요소 장애가 일상적이라는 가정이 포함되므로 응용 프로그램이 다음에 적응해야합니다.

Rutgers 클래스에 대한이 프로젝트는 "결함 허용"에 대한 "컴포넌트 실패"중심 정의를 지원합니다.

조사하는 분야에 따라 "견고한 모델링 XYZ"에 대한 논문이 많이 있습니다. 대부분은 초록에서 "견고한"기준을 설명하고 모델이 입력을 처리하는 방식과 관련이 있음을 알게됩니다.

NASA 기후 과학자의이 요약은 견고성을 기후 모델을 평가하기위한 기준으로 설명합니다.

MIT 연구원의이 백서에서는 내결함성과 견고성이 겹치는 도메인 인 무선 프로토콜 응용 프로그램을 검토하지만 저자는 응용 프로그램, 프로토콜 및 알고리즘을 설명하기 위해 "강력한"기능을 사용하지만 토폴로지와 관련하여 "내결함성"을 사용합니다. 및 구성 요소 :


0

나는 @johnnyb의 답변을 정말 좋아 하고 선명하게 정의하도록 보증합니다. 그러나 수십 년 동안이 분야에서 일한 끝에, 나는이 용어들이 자주 사용되는 또 다른 공식적인 방식을 알고 있습니다.

"신뢰할 수없는"에서 "완벽하게 신뢰할 수있는"까지 연속체를 따라 비공식적 인 지점으로.

항상 그리고 영원히 작동 할 수있는 시스템, 응용 프로그램 또는 서비스는 없습니다 ( "지속적으로 사용 가능"또는 "영구적으로 사용 가능"). "내결함성 (Fault Tolerant)"은 오랫동안 "우리는 현재 기술로 인간이 할 수있는 모든 일을 해왔으며이 일이 계속 제대로 수행되도록했습니다."

"견고한", "강화 된"및 "고 가용성"과 같은 단어는 지속적인 운영 목표를 향한 부드러운 이정표로 사용됩니다. 노력, 투자 및 자신감의 수준이 높아지고 있습니다.

이러한 용어는 비공식적으로 사용되므로 정식 순서는 전적으로 없습니다. "고 가용성"은 일반적으로 "내결함성"또는 "내결함성"이라는 강력한 주장입니다. 그러나 "강화"보다 "강화"가 더 낫습니까? 혹은 그 반대로도? 상황에 따라 다릅니다. 이것들은 제품 마케팅 주장으로 자주 사용되며, 자랑스럽고 의도적 인 부정확성이 수반됩니다.

일반적으로 이러한 목표를 달성하기 위해 노력하는 조직은 내부적으로 합의 된 진행 상황을 가지고 있으며, 일반적으로 프로젝트 목표 / 제공 물 및 "세 아홉"또는 "여섯 아홉" 과 같은 외부 메트릭과 대략적으로 연결되어 있습니다.

@johnnyb는 또한 중요한 차이점을 다룹니다. 한편으로는 플랫폼 업 / 다운 상태 (가용성)와 다른 한편으로는 알고리즘, 애플리케이션 또는 서비스 속성의 차이입니다.

"속성"이라고 말합니다. 성능, 정확성 및 불확실성은 몇 가지 핵심 사항입니다. 정격 성능의 10 %만으로 작동하는 시스템은 의미가 있고 정확합니까? 바쁜 계절이라면 사업주에 따르면 그렇지 않습니다! 진정으로 결코 쓰러지지 않는 시스템에는 큰 미덕이 없지만, 그로 인해 많은 시간이 틀린 답을 얻을 수 있습니다. 마지막으로, 0.2 %의 입력 변동이 3,400 %의 다른 응답을 제공하는 경우 데이터 분석 시스템이 "올바른"실행입니까? 아마도 ...하지만 많은 사람들에게 다소 변덕스럽고 불만족스러운 모델이 될 것입니다. 확장 된 속성 목록을 살펴 보지는 않지만 데이터 무결성, 데이터 안전성, 데이터 개인 정보 보호 및 기타 정확성 및 보안 문제는 일반적인 문제입니다. (대규모 조직이나 정부 기관인 경우, 몇 년 또는 제품주기뿐만 아니라 수십 년 또는 수 세기에 걸쳐 이러한 속성을 보존하는 것에 대해 점점 더 걱정하고 있습니다. 이를 달성하기위한 입증 된 아키텍처, 프로세스 또는 접근 방식은 아직 없습니다.)

"가동 및 실행"과 "우리가 원하는 것을 행하는 것"사이의 이러한 차이와 이러한 차이를 지정, 측정 및 방지하는 방법은 중복성, 강화 및 결함에 대한 다른 단계가 있더라도 오랫동안 도전이되어 왔습니다. 공차가 취해졌습니다. 그리고 비공식적으로 사용하는 경우, "달리기"와 "원하는 것처럼 달리기"의 다양한 형태가 혼재되어 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.