Skip to content

Make it possible to use Vertical merge algorithm together with parts of Compact type #46084

@nikitamikhaylov

Description

@nikitamikhaylov

Use case

There is a special algorithm inside ClickHouse for executing background merges called Vertical. It merges only PRIMARY KEY columns first and computes a permutation mask (in what order rows from all source parts should be fetched and written to the result part to get the right result). This algorithm allows ClickHouse server to consume a lot less memory in comparison with default and naive algorithm called Horizontal.

Unfortunately, ClickHouse may want to assign a merge operation for parts in a Compact format together with parts in a Wide format. In this case this background operation will be executed using Horizonal algorithm and thus may consume a lot of memory.

Describe the solution you'd like

Allow using Vertical merge algorithm with parts in Compact format.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions