v.22.2Improvement

Allow Export of Large Files to S3 with New Settings

Allow to export arbitrary large files to s3. Add two new settings: s3_upload_part_size_multiply_factor and s3_upload_part_size_multiply_parts_count_threshold. Now each time s3_upload_part_size_multiply_parts_count_threshold uploaded to S3 from a single query s3_min_upload_part_size multiplied by s3_upload_part_size_multiply_factor. Fixes #34244. #34422 (alesapin).
Added support for exporting arbitrarily large files to s3 by dynamically adjusting the part size during multi-part uploads.

Why it matters

This feature addresses the limitation on the size of files that can be exported to s3 by allowing ClickHouse to increase the upload part size based on the number of parts already uploaded. This prevents excessive fragmentation and optimizes upload performance for large files.

How to use it

Configure the new settings s3_upload_part_size_multiply_factor and s3_upload_part_size_multiply_parts_count_threshold in the server configuration. When the number of parts uploaded from a single query reaches s3_upload_part_size_multiply_parts_count_threshold, the part size (s3_min_upload_part_size) will be multiplied by s3_upload_part_size_multiply_factor for subsequent parts, allowing efficient handling of large file uploads to s3.