대량 삽입

대량 삽입 (Bulk inserts)

배치 크기는 수집 처리량의 가장 중요한 최적화 요소입니다. 삽입을 배칭하면 전체 삽입 시간에서 차지하는 오버헤드 비율이 줄어 처리 효율이 개선돼요.

출처: 문서

본문

위 메커니즘은 삽입 크기와 무관한 일정한 오버헤드를 보여 주므로, 배치 크기가 수집 처리량의 가장 중요한 단일 최적화 요소가 됩니다. 삽입을 배칭하면 전체 삽입 시간에서 오버헤드가 차지하는 비율이 줄고 처리 효율이 개선됩니다.

최소 1,000행, 이상적으로는 10,000–100,000행 단위로 데이터를 삽입할 것을 권장합니다. 더 적고 더 큰 삽입은 쓰여지는 파트 수를 줄이고, 병합 부하를 최소화하며, 전체 시스템 리소스 사용을 낮춥니다.

동기 삽입 전략이 효과적이려면 이 클라이언트 측 배칭이 필요합니다.

클라이언트 측에서 데이터를 배칭할 수 없다면 ClickHouse는 배칭을 서버로 옮기는 비동기 삽입을 지원합니다(비동기 삽입 참고).

삽입 크기와 무관하게, 삽입 쿼리 수를 초당 약 1개의 삽입 쿼리로 유지할 것을 권장합니다. 이 권장 이유는 생성된 파트가 백그라운드에서 더 큰 파트로 병합되어(읽기 쿼리에 맞게 데이터를 최적화하기 위해) 초당 너무 많은 삽입 쿼리를 보내면 백그라운드 병합이 새 파트 수를 따라잡지 못하는 상황이 생길 수 있기 때문입니다. 그러나 비동기 삽입을 사용하면 초당 더 높은 삽입 쿼리 비율을 사용할 수 있습니다(비동기 삽입 참고).

더 알아보기 (Learn more)