메인 콘텐츠로 건너뛰기
ClickHouse Cloud의 쿼터ClickHouse Cloud에서도 쿼터를 지원하지만, DDL 구문을 사용해 생성해야 합니다. 아래에 설명된 XML 구성 방식은 지원되지 않습니다.
쿼터를 사용하면 일정 기간 동안의 리소스 사용량을 제한하거나 리소스 사용을 추적할 수 있습니다. 쿼터는 사용자 구성 파일에 설정되며, 일반적으로 ‘users.xml’을 사용합니다. 시스템에는 단일 쿼리의 복잡도를 제한하는 기능도 있습니다. 쿼리 복잡도 제한 섹션을 참조하십시오. 쿼리 복잡도 제한과 달리, 쿼터에는 다음과 같은 특징이 있습니다.
  • 단일 쿼리를 제한하는 대신, 일정 기간 동안 실행할 수 있는 쿼리 집합에 제한을 둡니다.
  • 분산 쿼리 처리 중 모든 원격 서버에서 사용된 리소스를 집계합니다.
이제 쿼터를 정의하는 ‘users.xml’ 파일의 섹션을 살펴보겠습니다.
기본적으로 QUOTA는 사용량을 제한하지 않으면서 매시간 리소스 사용량을 추적합니다. 각 인터벌별로 계산된 리소스 사용량은 각 요청 후 서버 로그에 출력됩니다.
‘statbox’ 쿼터의 경우, 제한은 매시간 및 24시간마다(86,400초) 설정됩니다. 시간 인터벌은 구현에 따라 정의된 고정 시점을 기준으로 계산됩니다. 즉, 24시간 인터벌이 반드시 자정에 시작되는 것은 아닙니다. 인터벌이 끝나면 수집된 모든 값이 초기화됩니다. 다음 1시간 동안의 쿼터 계산이 다시 시작됩니다. 제한할 수 있는 항목은 다음과 같습니다: queries – 총 요청 수입니다. query_selects – 총 select 요청 수입니다. query_inserts – 총 insert 요청 수입니다. errors – 예외를 발생시킨 쿼리 수입니다. result_rows – 결과로 반환된 총 행 수입니다. result_bytes - 결과로 반환된 행의 총 크기입니다. read_rows – 모든 원격 server에서 쿼리를 실행하기 위해 table에서 읽은 source 행의 총수입니다. read_bytes - 모든 원격 server에서 쿼리를 실행하기 위해 table에서 읽은 총 크기입니다. written_bytes - 쓰기 작업의 총 크기입니다. execution_time – 총 쿼리 실행 시간(초, wall time)입니다. failed_sequential_authentications - 연속 인증 오류의 총횟수입니다. queries_per_normalized_hash – 단일 정규화된 쿼리의 최대 실행 횟수입니다. 정규화된 쿼리란 리터럴이 플레이스홀더로 대체된 쿼리를 의미하므로, SELECT 1SELECT 2는 동일한 정규화된 쿼리로 간주됩니다. 이 제한은 각기 다른 정규화된 쿼리 패턴별로 독립적으로 추적됩니다. 하나 이상의 시간 인터벌에서 이 제한을 초과하면, 어떤 제한이 초과되었는지, 어떤 인터벌에 해당하는지, 그리고 새 인터벌이 언제 시작되는지(다시 쿼리를 보낼 수 있는 시점)를 설명하는 텍스트와 함께 예외가 발생합니다. QUOTA는 여러 키의 리소스를 각각 독립적으로 보고하기 위해 “QUOTA key” 기능을 사용할 수 있습니다. 다음은 그 예시입니다:
정규화된 쿼리 해시를 기준으로 QUOTA를 설정할 수도 있으며, 그러면 서로 다른 각 쿼리 패턴에 독립적인 QUOTA 버킷이 할당됩니다. XML 구성에서는 이를 <keyed_by_normalized_query_hash />로 작성합니다:
같은 내용은 DDL 구문으로도 표현할 수 있습니다:
이 예시에서는 서로 다른 각 정규화된 쿼리를 시간당 최대 100회까지 실행할 수 있습니다. SELECT number FROM numbers(1)SELECT number FROM numbers(2)는 동일한 버킷을 공유하지만(정규화된 형식이 같기 때문), SELECT number, number FROM numbers(1)는 별도의 버킷을 사용합니다. 이 QUOTA는 config의 ‘users’ 섹션에서 사용자에게 할당됩니다. “접근 권한” 섹션을 참조하십시오. 분산 쿼리 처리에서는 누적된 값이 요청을 보낸 서버에 저장됩니다. 따라서 사용자가 다른 서버로 이동하면 해당 서버의 QUOTA는 “처음부터 다시” 시작됩니다. 서버를 재시작하면 QUOTA가 재설정됩니다.
마지막 수정일 2026년 6월 29일