728x90
이번 블로그는 ANSI SQL을 통해 질의를 수행하는 Query 서비스에 대해서 살펴 보겠습니다.
Query 서비스는 다음과 같은 특징이 있습니다.
- Couchbase는 ANSI SQL 호환되는 N1QL 언어를 제공합니다.
- Query 서비스는 Data 서비스와 Index 서비스가 반드시 필요합니다.
다음은 Query 서비스 아키텍처입니다.
- Listener : 동시 Query 요청을 수용, 8093/18093 port
- Parser : 요청된 Query가 유효한 지 판단
- Optimizer : 가능한 실행 경로를 평가, 가장 낮은 Latency를 가진 실행 경로 결정, Query 실행 계획 생성, Query 실행 계획을 일련의 Operator로 구성
- Execution Engine : 실행 계획 상의 Operator 수행, 가능한 병렬로 수행
다음은 Query가 실행되는 절차입니다.
- 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 |