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.