728x90

이번 블로그는 ANSI SQL을 통해 질의를 수행하는 Query 서비스에 대해서 살펴 보겠습니다.

 

Query 서비스는 다음과 같은 특징이 있습니다.

  • Couchbase는 ANSI SQL 호환되는 N1QL 언어를 제공합니다.
  • Query 서비스는 Data 서비스와 Index 서비스가 반드시 필요합니다.

 

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

[출처 : docs.couchbase.com]

  • Listener : 동시 Query 요청을 수용, 8093/18093 port
  • Parser : 요청된 Query가 유효한 지 판단
  • Optimizer : 가능한 실행 경로를 평가, 가장 낮은 Latency를 가진 실행 경로 결정, Query 실행 계획 생성, Query 실행 계획을 일련의 Operator로 구성
  • Execution Engine : 실행 계획 상의 Operator 수행, 가능한 병렬로 수행

 

다음은 Query가 실행되는 절차입니다.

[출처 : docs.couchbase.com]

  • Parse & Plan : Query 서비스 내 Query Processor가 요청된 SQL을 Parsing하고 실행 계획을 생성
  • Scan : Index 서비스 혹은 Search 서비스를 통해 인덱스를 검색하여 처리에 필요한 Document의 Key 반환
  • Fetch & Join : Data 서비스를 통해 Document의 Key 기반으로 필요한 Document를 조회하고 필요한 Join도 수행
  • Filter & Aggregate & Sort : Query 서비스가 조회된 Document에 대한 연산을 수행

 

참고자료

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

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

[서비스]Search 서비스  (0) 2022.08.16
[서비스]Index 서비스  (0) 2022.08.16
[서비스]Data 서비스  (0) 2022.08.16
[데이터]Ejection  (0) 2022.08.16
[데이터]Storage 설정  (0) 2022.08.16

+ Recent posts