ClickHouse는 속도와 안정성으로 잘 알려져 있지만, 최적의 성능을 얻으려면 일정한 운영 범위 내에서 사용해야 합니다. 예를 들어 테이블, 데이터베이스 또는 파트가 너무 많으면 성능에 부정적인 영향을 줄 수 있습니다. 이를 방지하기 위해 ClickHouse Cloud는 여러 운영 항목에 걸쳐 제한을 적용합니다. 이러한 제한값의 기본값은 아래와 같습니다. 별도로 명시하지 않는 한, 이 제한은 서비스 수준에서 적용됩니다.
| 항목 | 제한 |
|---|---|
| 데이터베이스 | 1000 |
| 테이블 | 5000 |
| 뷰 | 15000 |
| 딕셔너리 | 5000 |
| 이름이 지정된 컬렉션 (비공개 프리뷰) | 1000 |
| 열 | ~1000 (compact보다 wide format 권장) |
| 파티션 | 50k |
| 파트 | 10k (max_parts_in_total 설정 참조) |
| 파트 크기 | 150 GB |
| 조직당 서비스 | 20 (소프트 제한) |
| 서비스당 레플리카 | 20 (소프트 제한) |
| warehouse당 레플리카 | 50 (소프트 제한) |
| 낮은 카디널리티 | 10k 이하 |
| 테이블의 기본 키 | 데이터를 충분히 필터링할 수 있는 4~5개 |
| 쿼리 동시성 | 1000 (레플리카당) |
| 일괄 수집 | 100만 행을 초과하는 데이터는 100만 행 블록으로 분할됩니다 |
warehouse 레플리카 및 스케일링 제한은 warehouses를 참조하십시오.
위 값은 기본 제한값입니다. 더 큰 서비스에는 더 많은 여유 용량이 구성되므로 특정 서비스에 적용되는 제한은 여기에 표시된 값보다 높을 수 있습니다. 서비스에 실제로 적용되는 제한은 해당 제한에 가까워질 때 받는 경고에 포함됩니다. 이미 위 사용량 제한을 초과한 서비스는 현재 테이블/데이터베이스 수에 25%를 더한 값으로 테이블/데이터베이스 제한이 설정됩니다.
서비스별 경고 및 오류 제한은 system.server_settings를 쿼리하여 확인할 수 있습니다. 예를 들면 다음과 같습니다.
SELECT *
FROM system.server_settings
WHERE name IN ('max_table_num_to_warn', 'max_table_num_to_throw', 'max_database_num_to_warn', 'max_database_num_to_throw', 'max_view_num_to_warn', 'max_view_num_to_throw', 'max_dictionary_num_to_warn', 'max_dictionary_num_to_throw', 'max_named_collection_num_to_warn', 'max_named_collection_num_to_throw')