728x90

이번 블로그는 어느 정도까지 장애에 대응하여 데이터의 안정성을 구현할 것인지 설정하는 기능인 Durability에 대해 살펴 보겠습니다.

 

Coucbase Bucket에 대한 Write 작업은 다음과 같이 2 종류로 나눌 수 있습니다.

  • Regular Write : Asynchronous, 센서 데이터와 같이 데이터 유실이 큰 이슈가 아닌 경우
  • Durable Write : Synchronous, 금융 트랜잭션과 같이 데이터 유실 자체가 상당한 이슈인 경우
  • 2 종류의 방식은 서로 Trade-Off 관계, Regular Write는 높은 Throughput을 Durable Write는 높은 데이터 안정성을 제공

 

Durability(Durable Write)를 적용하려면 Majority라는 개념을 이해해야 합니다. Replica 수에 따라 Commit이 필요한 Data 서비스 노드의 수가 달라질 수 있는 데, 이를 Majority라고 부릅니다.

[출처 : docs.couchbase.com]

 

Durability의 레벨은 다음과 같습니다.

  • majority : 데이터 변경이 정해진 수의 Data 서비스 노드(노드 수는 위의 Majority 참조)의 메모리 상에 복제되는 조건
  • majorityAndPersistActive : 데이터 변경이 정해진 수의 Data 서비스 노드(노드 수는 위의 Majority 참조)의 메모리 상에 복제되고 Active vBucket을 가진 Data 서비스 노드의 디스크에 저장되는 조건
  • persistToMajority : 데이터 변경이 정해진 수의 Data 서비스 노드(노드 수는 위의 Majority 참조)의 메모리 상에 복제되고 복제된 모든 Data 서비스 노드의 디스크에 저장되는 조건
  • 위의 3 종류의 레벨은 클라이언트에서 설정이 가능하고 Bucket에도 설정이 가능합니다.

 

Durability 관련 프로세스는 다음과 같습니다.

  • Durable Write가 진행되는 Document를 Read하면 변경 이전의 데이터를 조회
  • Durable Write가 진행되는 Document를

 

Durability를 적용하지 않는 Regular Write는 Active vBucket을 가진 Data 서비스 노드의 메모리에 적용되면 Replica 및 디스크 저장 여부에 상관없이 요청 성공을 반환합니다.

 

 

Durable Write의 성능을 높이려면 Couchbase Storage 설정 중 Thread를 조정하면서 최적의 값을 설정합니다. 다음 블로그를 참고하시기 바랍니다.

https://couchbase.tistory.com/16

 

[데이터]Storage 설정

이번 블로그는 Couchbase 서버의 Persisitence를 구성하는 Storage 설정에 대해 알아 보겠습니다. Couchbase Storage의 특징은 다음과 같습니다. Couchbase에서 모든 Document는 압축된 형태로 저장됩니다. 디스크..

couchbase.tistory.com

 

 

참고자료

https://docs.couchbase.com/server/current/learn/data/durability.html

'Couchbase 아키텍처' 카테고리의 다른 글

[데이터]Expiration(Time To Live : TTL)  (0) 2022.08.22
[데이터]인덱스  (0) 2022.08.22
[데이터]Scope, Collection  (0) 2022.08.20
[데이터]데이터 모델 : JSON  (0) 2022.08.20
[서비스]Backup 서비스  (0) 2022.08.16

+ Recent posts