Enable compact parts by default for small parts#11913
Enable compact parts by default for small parts#11913alexey-milovidov merged 17 commits intomasterfrom
Conversation
|
Performance tests:
Sped up two times.
Various difference. |
It's unrelated, because compact parts don't support columns' special codecs. Need to force creation of wide parts in those tests. |
But why not? |
|
It's possible, but we have to write compressed block for every column in granule. Won't blocks be too small? Also, in that case it will be possible to count per column sizes. |
|
Ok, I understand the reason. |
|
There are plans to use ClickHouse with high-latency filesystem (e.g. S3). For that case the users may want to enable 100% compact parts. And if codecs won't work, it's a huge drawback. |
|
@CurtizJ Do you want to take over this PR? |
|
I want to finish #12183 first, and after it will be merged enable compact parts by default. |
|
I don't understand why huge part of tests from skip list of check with enabled compact parts is skipping now in all checks. Skip list is unchanged in this PR. |
|
It's because of code in |
|
In this test a table with Maybe we need introduce a setting to allow set behaviour, when compressed block is written only when threshold is exceded. |
|
The same about |
|
Other fixed tests checked some implementation defined things like checksums or number of files or hardcoded paths to files. Also some compatibility tests, which run cluster with different versions older than 20.3, were failed, because replication protocol is incompatible with such old versions, when polymorphic parts are used. |
|
@akuzm AST Fuzzer: |
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Enable compact parts by default for small parts. This will allow to process frequent inserts slightly more efficiently (4..100 times).