ClickHouse je nejrychlejší open-source sloupcová databáze. Miliardy řádků za sekundu díky vektorizovanému zpracování.
Proč je ClickHouse rychlý¶
Sloupcové uložení + vektorizované zpracování + komprese.
CREATE TABLE events (
event_date Date,
event_time DateTime,
user_id UInt64,
event_type LowCardinality(String),
revenue_czk Decimal(12, 2)
) ENGINE = MergeTree()
PARTITION BY toYYYYMM(event_date)
ORDER BY (event_type, user_id, event_time)
TTL event_date + INTERVAL 1 YEAR;
Materialized Views¶
CREATE MATERIALIZED VIEW hourly_revenue
ENGINE = SummingMergeTree() ORDER BY (hour, region)
AS SELECT
toStartOfHour(event_time) AS hour,
region,
count() AS events,
sum(revenue_czk) AS revenue
FROM events GROUP BY hour, region;
Optimalizace¶
- ORDER BY — podle WHERE podmínek
- LowCardinality — enum-like sloupce
- Approximate funkce — uniqHLL12
Shrnutí¶
ClickHouse je king analytických dotazů. MergeTree a materialized views pro sub-second dotazy nad miliardami řádků.
clickhouseolapcolumnaranalytics