WaveHouse
Open-source real-time API gateway for ClickHouse — ingest, streaming, and caching in one binary. SITE_META_DESC: The open-source real-time API gateway for ClickHouse — schema-aware ingest, async batching, real-time streaming, and tiered query caching in a single binary. SITE_BODY_TEXT: Skip to content Docs Search ⌘ K GitHub Select theme Dark Light Auto Open Source · Apache 2.0 WaveHouse
Last verified:
What is WaveHouse?
WaveHouse - Open-source real-time API gateway for ClickHouse that provides schema-aware data ingestion, async batching, real-time streaming, and query caching in a single binary. Designed to abstract away ClickHouse's operational complexity for user-facing analytics applications.
WaveHouse pricing
Pricing model: Freemium
WaveHouse pros
- Schema-aware validation at the edge with automatic ClickHouse schema discovery
- Real-time SSE streaming with historical gap-fill and no external cache tier required
- Built-in JWT-based row and column-level access control (Hasura-style policies)
- Async buffered writes via NATS JetStream WAL prevent data loss and ClickHouse overload
- Type-safe TypeScript SDK with query builder, live queries, and codegen
WaveHouse cons
- Requires ClickHouse as the underlying database - not a standalone solution
- Operational complexity managing NATS JetStream, WAL, and background worker components
- Limited SDK support - TypeScript primary, Go SDK still in development
Frequently asked questions about WaveHouse
What problem does WaveHouse solve?
It eliminates the need for custom APIs, Kafka queues, and deduplication logic when connecting frontends to ClickHouse, providing built-in batching, real-time push, and access control.
How does real-time streaming work?
Events are broadcast to SSE subscribers before being flushed to ClickHouse, with gap-fill from NATS JetStream history for clients that connect late.
Is data loss possible?
No - writes land in a durable NATS JetStream WAL and return 200 OK immediately, with background workers batch-flushing to ClickHouse.
What access control features does it provide?
Per-table, per-role column and row-level policies with JWT claim templating, stored in NATS KV with file-based bootstrap and cluster sync.