BASE 용어 설명
BASE 머리글자는 특정 데이터베이스(일반적으로 NoSQL 데이터베이스)의 속성을 설명하는 데 사용됩니다.흔히 ACID의 반대라고 합니다.
염기의 세부 사항을 다루는 기사는 거의 없는 반면, ACID에는 원자성, 일관성, 격리 및 내구성 특성에 대해 자세히 설명하는 기사가 많이 있습니다.위키피디아는 그 용어에 몇 줄만 할애합니다.
따라서 정의에 대한 몇 가지 질문이 남습니다.
기본적으로 사용 가능, 소프트 상태, 궁극적인 일관성
저는 이 기사와 저의 상상력을 이용하여 이 속성들을 다음과 같이 해석했습니다.
기본적으로 사용 가능한 것은 데이터의 인식된 가용성을 의미할 수 있습니다.단일 노드에 장애가 발생하면 데이터의 일부를 사용할 수 없지만 전체 데이터 계층은 계속 작동합니다.
- 이 해석이 맞습니까, 아니면 다른 것을 가리키는 것입니까?
- 업데이트: Mau의 답변에서 추론할 수 있듯이, 데이터 계층 전체가 항상 새로운 데이터를 수용하고 있다는 것을 의미할 수 있습니까? 즉, 데이터를 즉시 삽입하지 못하도록 하는 잠금 시나리오는 존재하지 않습니까?
소프트 상태:제가 발견할 수 있는 것은 주기적인 새로 고침이 필요한 데이터의 개념뿐이었습니다.새로 고침을 하지 않으면 데이터가 만료되거나 삭제됩니다.
- 데이터베이스에 있는 데이터를 자동으로 삭제하는 것은 저에게는 이상하게 느껴집니다.
- 유효기간이 지났거나 오래된 데이터가 더 합리적입니다.그러나 이 개념은 NoSQL뿐만 아니라 모든 유형의 중복 데이터 스토리지에도 적용됩니다.그럼 다른 것도 설명이 되나요?
최종적으로 일관성을 유지한다는 것은 충분한 시간이 주어지면 업데이트가 결국 모든 서버로 파급된다는 것을 의미합니다.
- 이 물건은 제가 알기로는 분명합니다.
누가 이 속성들을 자세히 설명해 줄 수 있습니까?
아니면 화학에서 발견되는 산과 염기의 개념을 지칭하는 억지스럽고 무의미한 머리글자일까요?
BASE 약자는 CAP 정리를 공식화한 것으로도 유명한 에릭 브루어가 정의했습니다. Brewer)에 의해 정의되었습니다.
CAP 정리는 분산 컴퓨터 시스템이 다음 세 가지 속성을 동시에 모두 보장할 수 없다는 것입니다.
- 일관성.
- 유용성
- 파티션 공차
BASE 시스템은 일관성을 포기합니다.
- 기본적으로 사용 가능하다는 것은 CAP 정리 측면에서 시스템이 가용성을 보장한다는 것을 나타냅니다.
- 소프트 상태는 입력이 없어도 시스템의 상태가 시간에 따라 변경될 수 있음을 나타냅니다.이는 결국 일관성 모형 때문입니다.
- 최종적인 일관성은 시스템이 시간이 지남에 따라 일관성을 유지한다는 것을 나타냅니다.
브루어는 이 두문자가 작위적인 것임을 인정합니다.
저는 그 해 초에 제 학생들과 사무실에서 [the BASE] 머리글자를 생각해 냈습니다.저도 그것이 다소 작위적이라는 것에 동의하지만, 사람들이 인식하는 것보다 훨씬 더 많은 "산"도 마찬가지입니다. 그래서 우리는 그것이 충분하다고 생각했습니다.
그것은 베이스와 관련이 있습니다. 베이스 점퍼 종류는 항상 기본적으로 사용 가능하며(새로운 관계에) 부드러운 상태이며(그의 관계가 오래 지속되지 않음) 결국 일관성을 유지합니다(언젠가 그는 결혼할 것입니다).
기본 가용성:데이터베이스는 대부분의 경우 작동하는 것으로 보입니다.
소프트 상태: 스토어는 항상 쓰기 일관성이 있거나 상호 일관성이 있어야 할 필요는 없습니다.
궁극적인 일관성: 변경 횟수에 대한 데이터는 항상 일관성을 유지해야 합니다.
ACID와 BASE는 각각 RDBMS와 NoSQL의 일관성 모델입니다.ACID 트랜잭션은 훨씬 더 비관적입니다. 즉, 데이터 안전에 대해 더 걱정합니다.NoSQL 데이터베이스 세계에서는 확장성 및 복원력과 같은 다른 이점을 얻기 위해 일부 데이터베이스에서 즉각적인 일관성, 데이터 신선도 및 정확성에 대한 요구 사항이 완화되었기 때문에 ACID 트랜잭션이 덜 유행하고 있습니다.
BASE는 다음을 의미합니다.
- 기본 가용성 - 대부분의 경우 데이터베이스가 작동하는 것으로 나타납니다.
- 소프트 상태 - 저장소가 쓰기 일관성을 가질 필요는 없으며, 다른 복제본이 항상 상호 일관성을 가질 필요도 없습니다.
- 궁극적인 일관성 - 저장소는 나중에 어느 시점(예: 읽기 시간에 느릿느릿함)에 일관성을 나타냅니다.
따라서 BASE는 일관성을 완화하여 일관성이 없는 상태에서도 시스템이 요청을 처리할 수 있도록 합니다.
예:그들의 트윗이 짧은 기간 동안 소셜 네트워크 내에서 일관성이 없더라도 아무도 개의치 않을 것입니다.사용자 정보의 일관된 상태보다 즉각적인 응답을 얻는 것이 더 중요합니다.
다른 답변을 덧붙이자면, RDMS와 빅 데이터 사이의 트랜잭션이나 요청이 얼마나 신뢰할 수 있는지를 구분하기 위해 두 용어 사이의 척도를 표시하기 위해 두 용어 사이에 두문자어가 도출되었다고 생각합니다.
이 기사에서 산 vs 염기
화학에서 pH는 수용액의 상대적인 염기성과 산성도를 측정합니다.pH 척도는 0(배터리 산과 같은 고산성 물질)에서 14(거짓말과 같은 고알칼리성 물질)까지 확장됩니다. 77°F(25°C)의 순수한 물은 pH 7이고 중성입니다.
데이터 엔지니어들은 화학자들로부터 산과 염기를 교묘하게 빌려와 의미는 정확하지 않지만 트랜잭션 처리의 신뢰성에 대해 논의할 때 주어진 데이터베이스 시스템 내에서 일어나는 일을 적절히 표현하는 두문자어를 만들었습니다.
한 가지 더 말씀 드리자면, 제가 엘라스틱서치를 이용해서 빅데이터를 작업해 본 경험이 있기 때문에 어떻게 구성되는지 설명해 주시면 도움이 될 것 같습니다.Elasticsearch의 인스턴스는 노드와 노드 그룹이 클러스터를 구성하는 것입니다.
실제적인 관점에서 볼 때, BA(Basic Available)는 이러한 맥락에서 Elasticsearch 클러스터와 그 운영을 처리할 수 있는 여러 마스터 노드의 아이디어를 가지고 있습니다.
마스터 노드가 3개인데 현재 디렉팅 마스터 노드가 다운되면 효율성이 떨어지는 상태이지만 시스템이 업 상태를 유지하고 다른 마스터 노드가 메인 디렉팅 마스터 노드로 대체됩니다.두 개의 마스터 노드가 중단된 경우에도 시스템은 계속 가동 상태를 유지하고 마지막 마스터 노드가 대신합니다.
단지 ACID가 (화학에서) 물질이 보여주는 성질들의 집합이고 BASE가 그것들의 보완 집합이기 때문일 수 있습니다.따라서 두 가지의 대비를 보여주기 위해 머리글자를 만든 다음 '기본적으로 사용 가능한 소프트 상태의 궁극적인 일관성'을 전체 형태로 결정할 수 있습니다.
언급URL : https://stackoverflow.com/questions/3342497/explanation-of-base-terminology
'programing' 카테고리의 다른 글
Google 페이지 속도가 모바일에서 srcset을 무시합니다. (0) | 2023.09.26 |
---|---|
동적 버튼에 동적 버튼 클릭 이벤트를 생성하려면 어떻게 해야 합니까? (0) | 2023.09.26 |
가장 최근 댓글로 워드프레스 게시물 주문하기 (0) | 2023.09.26 |
특정 태그가 하나만 있는 경우 쿼리의 게시물 필터링 (0) | 2023.09.26 |
스위프트에서 '모두 잡기' 예외의 세부사항을 인쇄하는 방법은? (0) | 2023.09.26 |