Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose SimpleMergeSelector settings via MergeTreeSettings #63686

Open
alesapin opened this issue May 13, 2024 · 1 comment
Open

Expose SimpleMergeSelector settings via MergeTreeSettings #63686

alesapin opened this issue May 13, 2024 · 1 comment
Labels
usability warmup task The task for new ClickHouse team members. Low risk, moderate complexity, no urgency.

Comments

@alesapin
Copy link
Member

SimpleMergeSelector is an algorithm which ClickHouse use to choose parts for merges. This algorithm is not trivial and has multiple parameters (settings): https://github.com/ClickHouse/ClickHouse/blob/master/src/Storages/MergeTree/SimpleMergeSelector.h#L91-L153. These parameters are carefully selected to fit 99.99% of possible ingestion workload and have balance between write amplification and SELECT queries performance. However there are still some possibilities when very experienced users may decide to tune them. Also it can be useful for experiments.

So the idea is to expose these settings as MergeTreeSettings. We definitely should have clear description near each setting, that they are "expert-level" and may completely mess merges assignment and lead to "too many parts" or crazy write amplification.

@alesapin alesapin added usability warmup task The task for new ClickHouse team members. Low risk, moderate complexity, no urgency. labels May 13, 2024
@Algunenano
Copy link
Member

Old related issue: #34813

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
usability warmup task The task for new ClickHouse team members. Low risk, moderate complexity, no urgency.
Projects
None yet
Development

No branches or pull requests

2 participants