v.23.5Improvement

Use Shared Threads for Loading Outdated Data in ClickHouse

Use multiple threads shared between all tables within a server to load outdated data parts. The the size of the pool and its queue is controlled by max_outdated_parts_loading_thread_pool_size and outdated_part_loading_thread_pool_queue_size settings. #49317 (Nikita Mikhaylov).
ClickHouse now uses a shared thread pool for loading outdated data parts across all tables within a server, improving resource management and loading efficiency.

Why it matters

This feature addresses the problem of inefficient resource utilization when loading outdated data parts by enabling multiple threads to be shared among all tables. It improves performance and throughput by controlling the concurrency of loading operations via configurable settings.

How to use it

Users can configure the size of the shared thread pool and its queue using the settings max_outdated_parts_loading_thread_pool_size and outdated_part_loading_thread_pool_queue_size. Adjust these settings in the server configuration or at runtime to optimize loading behavior.