async_load_* 서버 설정
async_load_* 서버 설정
이 페이지에서는 서버 시작 시 데이터베이스와 시스템 테이블을 비동기적으로 로드할지 제어하는 async_load_* 계열 서버 설정을 설명할게요.
출처: 문서
본문
이 설정들은 ClickHouse 서버를 구성하며, ClickHouse 소스에서 자동으로 생성돼요.
async_load_databases
데이터베이스와 테이블의 비동기 로딩이에요.
true이면Ordinary,Atomic,Replicated엔진의 모든 비시스템 데이터베이스가 ClickHouse 서버 시작 후 비동기적으로 로드돼요.system.asynchronous_loader테이블,tables_loader_background_pool_size및tables_loader_foreground_pool_size서버 설정을 참고하세요. 아직 로드되지 않은 테이블에 접근하려는 어떤 쿼리도 정확히 그 테이블이 시작되기를 기다려요. 로드 작업이 실패하면 쿼리는 오류를 다시 던져요 (async_load_databases = false일 때처럼 서버 전체를 종료하는 대신). 적어도 하나의 쿼리가 기다리는 테이블은 더 높은 우선순위로 로드돼요. 데이터베이스에 대한 DDL 쿼리는 정확히 그 데이터베이스가 시작되기를 기다려요. 또한 대기 중인 쿼리의 총 개수를 제한하는max_waiting_queries를 설정하는 것도 고려해보세요.false이면 모든 데이터베이스가 서버 시작 시 로드돼요.
예시
<async_load_databases>true</async_load_databases>
async_load_system_database
시스템 테이블의 비동기 로딩이에요. system 데이터베이스에 로그 테이블과 파트가 많을 때 유용해요. async_load_databases 설정과는 독립적이에요.
true로 설정하면Ordinary,Atomic,Replicated엔진의 모든 시스템 데이터베이스가 ClickHouse 서버 시작 후 비동기적으로 로드돼요.system.asynchronous_loader테이블,tables_loader_background_pool_size및tables_loader_foreground_pool_size서버 설정을 참고하세요. 아직 로드되지 않은 시스템 테이블에 접근하려는 어떤 쿼리도 정확히 그 테이블이 시작되기를 기다려요. 적어도 하나의 쿼리가 기다리는 테이블은 더 높은 우선순위로 로드돼요. 또한 대기 중인 쿼리의 총 개수를 제한하도록max_waiting_queries설정을 고려해보세요.false로 설정하면 시스템 데이터베이스가 서버 시작 전에 로드돼요.
예시
<async_load_system_database>true</async_load_system_database>