Trino

[Trino] 서버 유형

비번변경 2023. 3. 7. 17:21

Trino 클러스터

Trino 클러스터는 Coordinator와 여러 대의 Worker로 구성된다.

사용자 또는 클라이언트는 Coordinator와 연결하고, Coordinator은 Worker와 함께 동작하며 Catalog에서 구성된 데이터 소스에 접근한다.

이 글에서는 Coordinator와 Worker에 대한 개념을 정리해둔다.

 

 

Coordinator

구문 분석, 쿼리 계획 및 Trino worker node 관리를 담당하는 서버

클러스터라면 하나씩 존재하는 마스터 서버에 해당한다.

클라이언트가 실행할 구문을 제출하기 위해 접속하는 노드이다.

모든 Trino에는 하나 이상의 Worker와 Coordinator가 존재해야 하며, 개발 또는 테스트 환경에서는 단일 인스턴스가 두 역할을 모두 수행하도록 구성할 수 있다.

Coordinator는 Worker의 활동을 추적하고 쿼리 실행을 조정하며, Rest API를 이용해 Worker, 클라이언트와 통신한다.

 

 

 

Worker

태스크를 실행하고 데이터를 처리하는 서버

Worker는 Connector로부터 데이터를 가져온 다음 Worker 간 중간 데이터(intermediate data)를 교환하고, Coordinator는 Worker로부터 결과를 가져와 클라이언트에게 응답한다.

Worker 구성 시 클러스터 discovery 서비스의 uri(discovery.uri)를 지정하는데, Worker 프로세스 시작 시 discovery 서비스에 자기 자신을 광고하여 Coordinator가 작업 수행을 위해 사용할 수 있도록 한다. Coordinator와 마찬가지로 Rest API를 사용해 다른 Worker나 Coordinator와 통신한다.

 

 

참고 문서

https://trino.io/docs/current/overview/concepts.html#architecture

https://www.oreilly.com/library/view/trino-the-definitive/9781098107703/ch04.html