728x90
이번 블로그는 Couchbase에서 데이터 처리를 담당하는 Data 서비스에 대해서 살펴 보겠습니다.
Data 서비스는 Couchbase에서 디스크 및 메모리 내 데이터를 접근할 수 있는 기능을 제공하는 가장 기본적인 서비스입니다.
- 모든 JSON Document는 RFC 8259 규격으로 인코딩되어야 합니다.
- 모든 클러스터는 적어도 1 개 이상의 노드에 Data 서비스가 운영되어야 합니다. 운영 환경에서는 최소 3 개의 노드에서 Data 서비스를 운영하는 것을 권고합니다.
다음은 Data 서비스의 아키텍처입니다.
- 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 |