'Druid'에 해당되는 글 3건

출처: Apache Druid 홈페이지

 

Druid는 Coordinator, Overlord, Broker, Router, Historical, MiddleManager로 프로세스가 구성되며, Master, Query, Data로 서버가 구성된다.

 

Apache Druid Architecture

 

  • Master: Manages Data Availability and Ingestion

    • Coordinator: manage data availability

    • Overlord: control the assignment of data ingestion workloads

  • Query: Handles Queries from External Clients

    • Broker: handle queries from external clients

    • Router(Optional): route requests to Brokers, Coordinators, and Overlords

  • Data: Executes Ingestion Workloads and Stores All Queryable data

    • MiddleManager: Responsible for ingesting data

    • Historical: Store queryable data

  • External Dependencies

    • Deep Storage: Shared file storage accessible by every Druid server

    • Metadata Storage: Holds various shared system metadata such as segment availability information and task information (PostgreSQL or MySQL)

    • ZooKeeper: Internal service discovery, coordination, and leader election

 

Apache Druid Data Flow

 

Data 서버군의 MiddleManager와 Historical로 신규 유입 데이터 및 파티션 별 데이터가 저장되면, Query 서버군 Broker로 Client Query를 요청 받고 해당 데이터를 사용자에게 전달한다.

 

  1. 유입되는 데이터는 MiddleManager로 계속해서 색인되고 시간 기준으로 파티셔닝된 Segment는 Deep Storage로 전송된다.
  2. 이후에는 Historical이 저장된 Segment 파일을 Deep Storage로부터 local cache로 다운 받음으로써 Query 요청이 탐색 가능한 상태가 된다.
  3. 이 때, 유입되는 데이터 즉, Ingestion과 Segment 관리는 Coordinator와 Overlord에 의해 수행된다.
  4. Coordinator는 Historical 서버들에 생성 완료된 Segment들을 로드 밸런싱을 통해 배치하거나 제외시키며, Overlord는 MiddleManager로 유입되는 데이터와 Segment를 관리한다.

 

  • MiddleManager는 태스크 당 하나의 Peon을 구동시켜 유입 데이터를 처리하며, Peon은 MiddleManager와 같은 호스트 내 별도 JVM에서 구동된다.
  • Router는 선택적으로 수행 가능한 프로세스로 Broker/Coordinator/Overlord에 대한 통합 API를 제공한다.

 

 

 

출처: Apache Druid 홈페이지

'Development > DB' 카테고리의 다른 글

Apache Druid Ingestion  (0) 2019.12.31
Apache Druid Segment  (0) 2019.12.29
Apache Druid 개요  (0) 2019.12.29
PostgreSQL에서 CSV 파일 Import하기  (0) 2017.01.05
블로그 이미지

나뷜나뷜

,