차례:
비디오: 오픈소스 관계형 DBMS, 큐브리드[ IT 프리뷰 11회, 데이터베이스편] 2024
다른 NoSQL 데이터베이스 유형과 마찬가지로 키 - 값 저장소를 사용하면 일부 가용성을 유지할 수 있습니다. 키 - 값 저장소는 일반적으로 일관성 및 내구성 모델 (즉, 가용성과 파티션 허용 오차 간, 일관성 및 파티션 허용 오차 간)의 광범위한 범위를 제공합니다.
일부 키 - 값 저장소는 일관성을 유지하면서 ACID 트랜잭션 일관성 유지를 위해 BASE를 포기합니다. 행을 그릴 위치를 이해하면 잠재적 인 데이터베이스 목록을 단축하여 사용 사례를 고려하는 데 도움이됩니다.
거래 일관성
키 - 값 저장소는 일반적으로 데이터의 일관성을 유지합니다 (즉, 업데이트 직후에 항상 최신 값 복사본을 읽을 수있는 기능).
Voldemort, Riak 및 Oracle NoSQL은 모두 결국 키 - 값 저장소와 일치합니다. 그들은 read repair 라는 방법을 사용합니다. 읽기 수리 :
-
가장 최근의 값을 결정할 수없는 경우 데이터베이스 클라이언트에 모든 값 옵션이 제시되고 자체적으로 결정됩니다.
-
궁극적으로 일관성있는 키 - 값 저장소를 사용하는 좋은 예는 소셜 미디어 게시물을 보내고 대상 사용자에게 제공하는 것입니다. 트윗이 늦게 도착하거나 5 분짜리가 표시되면 치명적인 데이터 손실이 발생하지 않습니다.
Aerospike 및 Redis는 최종 일관성을위한 주목할만한 예외입니다. 둘 다
비어있는
클러스터를 사용하므로 각 키의 의미는 다음과 같습니다. 마스터 노드: 마스터 만 단일 키에 대한 응답을 제공하므로 사용자는 최신 복사본을 갖습니다.
-
다중 슬레이브 복제 노드: 여기에는 마스터 노드의 모든 데이터 사본이 포함됩니다. Aerospike는 트랜잭션이 데이터베이스 클라이언트에 완료된 것으로 플래그가 지정되기 전에 디스크에 수정 내용을 즉시 플러시 할 수있게함으로써 완전한 ACID 트랜잭션 일관성을 제공합니다.
-
Aerospike는 매우 빠른 속도로이를 수행합니다 (ACID가 쓰기 속도를 감소 시킨다는 주장을 반박 함). Aerospike는 느린 운영 체제의 파일 시스템 지원을 우회하여 데이터 쓰기를위한 원시 SSD를 기본적으로 처리합니다. 물론 SSD가 많으면 서버 비용이 높아집니다. Redis (모든 데이터를 도착하면 디스크로 플러시하도록 설정)를 사용하면 충분히 빠르며 필요에 따라 충분한 내구성을 보장 할 수 있습니다.Redis의 기본 설정은 서버에 장애가 발생할 경우 데이터 손실 가능성을 최소화하면서 몇 초마다 디스크에 데이터를 플러시하는 것입니다. 다음은 ACID 호환 키 - 값 저장소가 필요한 경우의 예입니다.
실험에 필요한 센서 데이터를 수신 할 때.
영수증을 보장해야하는 메시징 시스템에서.
Redis는 예를 들어 메시징 서버 백엔드 역할을하는 Publish / Subscribe 메커니즘을 제공합니다. ACID 지원과 결합 된이 기능은 내구성있는 메시징을 허용합니다.