Loading…
Shopify powers observability for global-scale commerce with ClickHouse
- Source
- Clickhouse
- Published
- Added to Yomu
Summary
Shopify rebuilt its observability infrastructure after metrics, logs, and traces became fragmented across vendors, with unpredictable costs and limited cross-signal analysis. It created Observe, a unified platform that runs metrics, logs, traces, profiles, and exceptions on self-hosted ClickHouse, treating them as structured, time-ordered, high-dimensional events and serving roughly 50 million events per second normally and 100 million at BFCM peak, or about 110 GB/s. Kafka buffers telemetry for large synchronous durable writes, while materialized views support flexible schemas, autocomplete, typed hot keys, and identifier-based correlation; the latter reportedly makes targeted searches 10x faster. Shopify reports a 16x query improvement out of the box, exceeding 30x at peak performance, with data queryable in under a minute, and says it would likely choose ClickHouse Cloud if starting again because managed operations could reduce the self-hosting burden.
Context
Shopify’s observability setup was split across separate vendors for metrics, logs, and traces. Costs were growing unpredictably, related signals were difficult to query together, and external product roadmaps constrained the team. The platform also needed to handle global-scale commerce, BFCM traffic, constantly changing schemas, and queries across very large telemetry volumes.
Approach / What changed
Shopify built Observe as a unified internal observability platform on self-hosted ClickHouse, consolidating metrics, logs, traces, profiles, and exceptions. Kafka buffers telemetry before large synchronous writes, while materialized views support flexible schemas, typed hot keys, autocomplete, and request-based correlation. An in-house Kubernetes operator manages schema and topology changes while ingestion continues.
Takeaways
- Shopify reports a 16x query improvement from ClickHouse out of the box, with performance exceeding 30x under peak conditions.
- Kafka buffering lets Shopify combine large ClickHouse writes with durability: batches are acknowledged only after ClickHouse has stored them.
- Materialized views make flexible-schema telemetry faster to query and provide a correlation lookup that reportedly turns fleet-wide searches into targeted scans, delivering a 10x speedup.