Configuration
Tables
The sink writes to 7 tables following the Tell v1.1 schema:
IDENTIFY events fan out to three tables in parallel:
users_v1, user_devices, and user_traits.
Performance
- Per-table batching — each table accumulates rows independently, so a burst of logs doesn’t delay event flushes
- Concurrent flush — all tables are flushed in parallel using tokio tasks
- LZ4 compression — enabled by default for wire transport
- Retry with backoff — 3 attempts with exponential backoff (100ms base, 10s max) on transient failures
Arrow HTTP transport
Two implementations are available:- Row-based (default) — uses the clickhouse crate with row structs
- Arrow-based — sends Arrow-format HTTP inserts for higher throughput