ClickHouse ist die schnellste Open-Source spaltenbasierte Datenbank. Milliarden von Zeilen pro Sekunde dank vektorisierter Verarbeitung.
Warum ClickHouse schnell ist¶
Spaltenbasierte Speicherung + vektorisierte Verarbeitung + Komprimierung.
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;
Optimierung¶
- ORDER BY — basierend auf WHERE-Bedingungen
- LowCardinality — Enum-ähnliche Spalten
- Approximate Functions — uniqHLL12
Zusammenfassung¶
ClickHouse ist der König der analytischen Abfragen. MergeTree und Materialized Views für Sub-Second-Abfragen über Milliarden von Zeilen.
clickhouseolapcolumnaranalytics