Sobes.tech
Middle

Co je to partition v ClickHouse?

sobes.tech AI

Odpověď od AI

V ClickHouse je partitiona logická část tabulky, která se používá k organizaci a optimalizaci ukládání dat. Partitioning umožňuje rozdělit tabulku na samostatné segmenty podle určitého klíče (například podle data), což urychluje dotazy, které filtrují data podle tohoto klíče, a usnadňuje správu dat (například odstraňování starých partition).

Partitiony v ClickHouse jsou vytvářeny na základě výrazu definovaného při vytváření tabulky a obvykle odpovídají rozsahům hodnot (například měsíc, den). To pomáhá efektivně číst a komprimovat data, stejně jako provádět operace TTL a čištění.

Příklad vytvoření tabulky s měsíční partitioning:

CREATE TABLE příklad (
    datum_události Date,
    uživatel_id UInt32,
    hodnota Float32
) ENGINE = MergeTree()
PARTITION BY toYYYYMM(datum_události)
ORDER BY (uživatel_id);

Zde je pro každý měsíc vytvořena partitiona, což umožňuje rychlý výběr dat za dané období.