인스턴스 할당

인스턴스 할당 (Instance Assignment)

Pinot에서 인스턴스(서버)를 테넌트에 할당하고 세그먼트를 배치하는 방법을 안내해요.

출처: 문서

본문

개요 (Overview)

Pinot은 표준 및 최적화된 할당 전략을 사용해 인스턴스를 테넌트에 할당하고, 세그먼트를 해당 인스턴스에 배치해요. 테넌트 태깅(tagging)을 통해 서버를 오프라인/실시간 테넌트에 묶고, 할당 전략이 세그먼트 배치를 결정해요.

인스턴스 태깅 (Instance tagging)

서버 인스턴스는 테넌트 태그를 가져요. 예: DefaultTenant_OFFLINE, DefaultTenant_REALTIME. 테이블의 tenants 구성은 브로커/서버 테넌트를 지정하고, 서버는 해당 테넌트 태그를 가진 인스턴스에 배치돼요.

할당 전략 (Assignment strategies)

  • 표준 할당 (Balanced) — 세그먼트와 레플리카를 서버에 고르게 분산해요.
  • 최적화 할당 (Replica-group 등) — 세그먼트를 레플리카 그룹으로 묶어 라우팅과 부하를 최적화해요.
  • 파티션 기반 할당 — 파티셔닝된 테이블의 부하 분산.

인스턴스 추가/제거 (Adding/removing instances)

서버를 추가·제거하면 Helix가 이상 상태를 다시 계산하고, 필요에 따라 세그먼트가 재할당돼요. 리밸런스로 세그먼트를 재분배할 수 있어요.

모범 사례 (Best practices)

  • 여러 테넌트를 공유하는 클러스터에서는 테넌트 태그와 전용 인스턴스 풀을 명확히 구성하세요.
  • 서버를 추가하거나 뺄 때 리밸런스를 계획하세요.

더 알아보기 (Learn more)