728x90

이번 블로그는 Couchbase에서 데이터 처리를 담당하는 Data 서비스에 대해서 살펴 보겠습니다.

 

Data 서비스는 Couchbase에서 디스크 및 메모리 내 데이터를 접근할 수 있는 기능을 제공하는 가장 기본적인 서비스입니다.

  • 모든 JSON Document는 RFC 8259 규격으로 인코딩되어야 합니다.
  • 모든 클러스터는 적어도 1 개 이상의 노드에 Data 서비스가 운영되어야 합니다. 운영 환경에서는 최소 3 개의 노드에서 Data 서비스를 운영하는 것을 권고합니다.

 

다음은 Data 서비스의 아키텍처입니다.

[출처 : docs.couchnbase.com]

  • Dispatcher : 클라이언트의 요청을 받고 응답을 주는 역할, DCP 프로토콜을 통한 노드 간/클러스터 간 데이터 스트리밍 역할, 사용자 Auhtentication
  • Managed Cache : 개별 Bucket에 할당된 메모리, Partition Hash Tables(메모리 및 디스크 내 Document 위치를 기록), Disk Queue/Replica Queue를 통한 비 동기식 데이터 처리(https://couchbase.tistory.com/12 참조)
  • Checkpoint Manager : Document 변경 내역을 추적
  • Item Pager : 최근에 사용되지 않은 Document를 메모리에서 Ejection
  • Flusher : Bucket 내 모든 Document를 삭제
  • Expiry Pager : TTL 설정으로 Expired Document를 메모리 및 디스크에서 찾아서 삭제
  • Batch Reader : 다수의 Document에 대한 변경을 Batch로 처리하여 성능 향상
  • Scheduler : Thread Pool, 주로 I/O 처리 목적

 

참고자료

https://docs.couchbase.com/server/current/learn/services-and-indexes/services/data-service.html

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

[서비스]Index 서비스  (0) 2022.08.16
[서비스]Query 서비스  (0) 2022.08.16
[데이터]Ejection  (0) 2022.08.16
[데이터]Storage 설정  (0) 2022.08.16
[데이터]메모리 Warmup  (0) 2022.08.15

+ Recent posts