세그먼트 재로드
세그먼트 재로드 (Segment Reload)
Pinot 테이블의 세그먼트를 재로드(reload)하는 방법을 안내해요.
출처: 문서
본문
개요 (Overview)
세그먼트 재로드는 서버가 보유한 세그먼트의 인덱스·스키마·구성 변경을 반영하기 위해 세그먼트를 메모리에 다시 로드하는 작업이에요. 테이블 구성에서 인덱스 옵션(예: createInvertedIndexDuringSegmentGeneration)이나 스키마를 변경한 뒤 기존 세그먼트에 적용하려면 재로드가 필요해요.
재로드가 필요한 때 (When reload is needed)
- 테이블 인덱스 구성을 변경한 뒤 기존 세그먼트에 새 인덱스를 적용할 때.
- 스키마를 변경한 뒤 세그먼트에 반영할 때.
- 특정 구성 변경이 재로드를 통해 기존 세그먼트에 적용될 때.
구성 변경마다 자동 재로드가 필요한 것은 아니며, 필요 여부는 문서와 구성 유형에 따라 달라요.
재로드 수행 (Performing reload)
컨트롤러 API를 통해 특정 세그먼트 또는 테이블 전체를 재로드할 수 있어요. 재로드는 서버가 세그먼트를 내리고 다시 로드하면서 새 구성을 적용해요.
다운타임 (Downtime)
기본 재로드는 롤링 방식으로 수행되어 쿼리 가용성에 미치는 영향이 적아요. 세그먼트 재로드 중에도 레플리카가 제공하는 동안 다른 레플리카가 재로드되는 등 안정적으로 동작할 수 있어요.
모범 사례 (Best practices)
- 인덱스 구성을 변경한 뒤 재로드를 잊지 마세요. 그렇지 않으면 새 인덱스가 기존 세그먼트에 적용되지 않아요.
- 대규모 테이블은 재로드 시간을 고려해 유지보수 창에 수행하세요.