BASE 용어 설명


170

BASE의 약어 특정 데이터베이스, 보통되는 NoSQL 데이터베이스의 특성을 설명하는 데 사용됩니다. 종종 ACID 의 반대라고합니다 .

BASE의 세부 사항을 다루는 기사는 거의 없지만 ACID에는 각 원 자성, 일관성, 격리 및 내구성 특성을 자세히 설명하는 기사가 많이 있습니다. Wikipedia 는이 용어에 몇 줄만 바칩니다 .

이것은 정의 에 대한 몇 가지 질문을 남깁니다 .

B asically vailable, S 자주 상태 E ventual 일관성

이 기사 와 상상력을 사용하여 이러한 속성을 다음과 같이 해석했습니다 .

기본적으로 사용 가능한 것은 데이터의 인식 된 가용성을 의미 할 수 있습니다 . 단일 노드에 장애가 발생하면 데이터의 일부를 사용할 수 없지만 전체 데이터 계층은 계속 작동합니다.

  • 이 해석이 정확합니까, 아니면 다른 것을 의미합니까?
  • 업데이트 : Mau의 대답 에서 추론 하면 전체 데이터 계층이 항상 새로운 데이터를 받아들이고 있음을 의미 할 수 있습니까? 즉, 데이터가 즉시 삽입되는 것을 막는 잠금 시나리오가 있습니까?

소프트 상태 : 내가 찾을 수있는 것은 기간 새로 고침이 필요한 데이터의 개념이었습니다. 새로 고치지 않으면 데이터가 만료되거나 삭제됩니다.

  • 데이터베이스에서 데이터를 자동으로 삭제하는 것은 이상해 보입니다.
  • 만료되었거나 오래된 데이터가 더 적합합니다. 그러나이 개념은 NoSQL뿐만 아니라 모든 유형의 중복 데이터 스토리지에 적용됩니다. 그때 다른 것을 묘사합니까?

최종 일관성 은 업데이트가 충분한 시간이 주어지면 결국 모든 서버로 파급된다는 것을 의미합니다.

  • 이 속성은 나에게 분명하다.

누군가 이러한 속성을 자세히 설명 할 수 있습니까?

아니면 화학에서 발견되는 산과 염기의 개념을 가리키는 것은 널리 퍼지고 의미가없는 약어입니까?

답변:


194

BASE 약어는 에릭 브루어 (Eric Brewer )에 의해 정의되었으며 , 그는 CAP 정리 를 공식화하는 것으로도 알려져 있습니다.

CAP 정리에 따르면 분산 컴퓨터 시스템은 다음 세 가지 속성을 동시에 보장 할 수는 없습니다.

  • 일관성
  • 유효성
  • 분할 공차

BASE 시스템은 일관성을 포기합니다.

  • 기본적으로 사용 가능함 은 시스템 CAP 정리 측면에서 가용성을 보장 함을 나타냅니다 .
  • 소프트 상태 는 입력하지 않아도 시간이지나면서 시스템 상태가 변경 될 수 있음을 나타냅니다. 이는 최종 일관성 모델 때문입니다.
  • 최종 일관성 은 시스템이 해당 시간 동안 입력을받지 않으면 시간이 지남에 따라 시스템이 일관성을 유지함을 나타냅니다.

브루어 (Brewer)는 그 약어가 고안 되었다는 것을 인정합니다 .

나는 그해 초 그들의 사무실에서 학생들과 [BASE]의 약자를 생각해 냈습니다. 나는 그것이 조금 생각되었다는 것에 동의하지만 "ACID"도 사람들이 알고있는 것보다 훨씬 더 많은 것으로 우리는 그것이 충분하다고 생각했다.


33
기본적으로 사용 가능하다고해서 가용성이 보장되는 것은 아닙니다. 이는 대부분 사용 가능하지만 여러 가지 이유로 서버가 다운 될 수 있음을 의미합니다.
DarthVader

@Neils, ACID는 가용성 또는 특허 공제를 포기합니까?
Pacerier

@Pacerier, CAP 정리가 결함을 보이기 시작하는 곳 :) 시스템이 파티션 허용 오차를 보장하면 파티션의 경우 가용성을 희생시킵니다. 시스템이 가용성을 보장하면 파티션 공차를 포기하여 파티션을 통해 시스템을 사용할 수 없게됩니다 (또는 일치하지 않음). 따라서 '가용성'과 '파티션 허용 오차'가 나란히 있음을 알 수 있습니다. 이 기사 에서 이에 대한 자세한 내용 있습니다.
Niels van der Rest

1
비 과학적으로도 웹 서비스에 대해 이야기 할 때 ACID는 SOAP와 가장 관련이 있고 BASE는 REST (RESTful) 서비스와 더 밀접하게 관련되어 있습니다. 최종 일관성에 대한보다 자세한 논의는 MongoDB와 CouchDB 지지자 간의 토론을 참조하십시오.
찰스 로스

CAP "정리"는 수학적으로 (매우 읽기 쉬운) 해부 되고 Mark Burgess에 의해 독창적으로 지능적으로 논의 됩니다. Mark Burgess 는 저의 기사를 읽고 있습니다. (나는 Wikipedia에 의해 처음에 그곳에 연결 되었다 .)
Wildcard

45

BASE 와 관련이 있습니다 . BASE 점퍼 종류는 항상 기본적으로 사용 가능하고 (새로운 관계에 대해서는) Soft 상태 (아무 관계도 오래 지속되지 않음)이며 결국 일관성이 있습니다 (하루 가 결혼 할 것임 ).


자, ACID 데이터베이스가 BASE보다 훨씬 낫다고 말하는가?
Pacerier

2
반대로, BASE는 항상 더 재미 있습니다.
Mau

8
글쎄, 그것은 실제로 나의 매일의 빵이고 당신이 진지한 대답을 원한다면 ACID.
Mau

1
@Pacerier 에릭 브루 호는 은행과 금융 기관은 ACID 제약에 대해 이야기하면서, 현실에서, 그들은 엄격하게 (말하기 있지 않음을 나타냅니다 용어 BASE를 만들어 낸 highscalability.com/blog/2013/5/1/... )
건강에 좋은

2
@Pacerier와 Mau, NewSQL은 어떻습니까? NoSQL (BASE) 및 관계형 (ACID) 중에서 선택 하시겠습니까?
Boris Mocialov

6
  • 기본 가용성 : 데이터베이스가 대부분 작동하는 것으로 보입니다.

  • 소프트 스테이트 : 상점은 항상 일관성이 있거나 일관성이 없어야합니다.

  • 최종 일관성 : 변경이 수행되는 방식과 관련하여 데이터는 항상 일관성이 있어야합니다.


4

ACID 및 BASE는 각각 RDBMS 및 NoSQL의 일관성 모델입니다. ACID 트랜잭션은 훨씬 비관적입니다. 즉, 데이터 안전에 대해 더 걱정합니다. NoSQL 데이터베이스 세계에서는 일부 데이터베이스가 확장 성 및 복원력과 같은 다른 이점을 얻기 위해 즉각적인 일관성, 데이터 최신 성 및 정확성에 대한 요구 사항을 완화했기 때문에 ACID 트랜잭션이 덜 유행합니다.

BASE는-

  • 기본 가용성 -데이터베이스가 대부분 작동하는 것으로 보입니다.
  • 소프트 상태 -저장소가 쓰기 일관성을 유지할 필요가 없으며 서로 다른 복제본이 항상 상호 일관성을 유지하지 않아도됩니다.
  • 최종 일관성 -상점은 나중에 나중에 일관성을 나타냅니다 (예 : 읽기 시간이 느리게).

따라서 BASE는 일관성을 완화하여 시스템이 일관성이없는 상태에서도 요청을 처리 할 수 ​​있도록합니다.

: 트윗이 소셜 네트워크 내에서 단기간 동안 일관성이 없다면 아무도 신경 쓰지 않을 것입니다. 일관된 사용자 정보 상태보다 즉각적인 응답을 얻는 것이 더 중요합니다.


1
최종 일관성은 실제로 원치 않는 영향을 미칩니다. LinkedIn 채팅 속도 저하를 경험 한 적이 있습니까? 한 문장으로 답장 한 다음 다른 문장으로 답장합니다. 그런 다음 최종 일관성 또는 적절한 구현 부족으로 인해 두 개의 회신이 함께 전환됩니다. 예, 결국 채팅에 2 개의 회신이 있지만 의도 한 순서가 아닙니다.
zmechanic

2

다른 답변에 추가하기 위해 두 약어 사이에 RDMS와 빅 데이터 간의 트랜잭션 또는 요청이 얼마나 안정적인지 구별하기 위해 두 용어 사이의 척도를 나타내는 것으로 생각됩니다.

이 기사에서 산 대 염기

화학에서 pH는 수용액 (용매)의 상대 염기도 및 산도를 측정합니다. pH 스케일은 0 (배터리 산과 같은 매우 산성 인 물질)에서 14 (거짓과 같은 매우 알칼리성 인 물질)까지; 77 ° F (25 ° C)의 순수는 pH가 7이며 중성입니다.

데이터 엔지니어는 화학자로부터 산 대 염기를 영리하게 빌려 왔으며 그 의미가 정확하지는 않지만 트랜잭션 처리의 신뢰성을 논의 할 때 주어진 데이터베이스 시스템에서 발생하는 상황을 나타내는 적절한 약어를 만들었습니다.

다른 하나는 Elasticsearch를 사용하여 Big Data로 작업하기 때문입니다. 명확히하기 위해 Elasticsearch 인스턴스는 노드이며 노드 그룹은 클러스터를 형성합니다.

이 관점에서 BA (Basically Available)는 실용적인 관점에서 Elasticsearch 클러스터와 그 작업을 처리 할 여러 마스터 노드에 대한 아이디어를 가지고 있습니다.

3 개의 마스터 노드가 있고 현재 지시 마스터 노드가 작동 중지되면 시스템은 비효율적이지만 상태가 유지되고 다른 마스터 노드가 기본 지시 마스터 노드로 사용됩니다. 두 개의 마스터 노드가 다운되면 시스템은 계속 유지되고 마지막 마스터 노드가 대신합니다.


0

ACID는 물질이 화학 (화학)에서 보여주는 하나의 속성 집합이고 BASE는 그것들의 보완적인 집합이기 때문에 약어가 만들어진 다음 '기본적으로 사용 가능한'둘 사이의 대비를 보여줄 수 있습니다. Soft State Eventual Consistency '는 완전한 형식으로 결정되었습니다.


2
그것은 약어가 어떻게 생겼는지 설명 할 수 있지만 다양한 속성이 무엇을 의미 하는지 설명하지는 않습니다 .
Jmb

의미에있어 의미가없는 'Basically'와 같은 단어의 사용은 약어가 먼저 선택되고 (ACID vs BASE), 그 단어가 약어의 일부를 채우는 것으로 밝혀졌습니다 . 그렇기 때문에 아마도이 단어의 의미에 대해 많은 설명과 참조 (ACID의 단어와 비교하여 RDBMS에 대해 설명하는 모든 페이지에서 찾을 수있는 설명)를 찾을 수없는 것입니다.
siebenheaven

"Basically Available (기본적으로 사용 가능)"이 너무 강력 해 보이기 때문에이 방법이 흥미 롭습니다.
Ricardo Pedroni
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.