Skip to content
dethlex

#performance

2 notes

evergreen

Why ClickHouse wants your inserts in batches

Every INSERT into MergeTree creates a part on disk. Feed it row-by-row and you trade write throughput for a merge storm — batch, or let async inserts batch for you.

3 min#clickhouse#performance

growing

Lock-free config reloads in Go with atomic.Pointer

When 100k RPS worth of goroutines read a lookup table that reloads every minute, RWMutex is the wrong tool. Build the new snapshot aside and swap one pointer.

2 min#go#concurrency#performance