A measurement platform started rejecting inserts with too-many-parts errors during peak traffic. Each application instance was inserting small row batches on a short timer, creating far more parts than the merge scheduler could retire. AceMQ engaged under the emergency SLA.
The parts limit is a guardrail rather than the problem — raising it lets the table degrade further until queries slow to a crawl reading across thousands of parts. The real causes were insert batch size, insert frequency, and a partition key with high enough cardinality that every insert touched many partitions at once, multiplying part creation.
ClickHouse cluster on AWS ingesting event streams from Kafka for real-time campaign measurement.
AceMQ measured part creation rate against merge throughput per table to quantify the actual gap, then addressed insert shape first because no amount of merge tuning compensates for inserts arriving in the wrong form. The partition key change was staged so existing data remained queryable throughout.
Insert rejections stopped and part counts fell back into a range where merges keep pace during peak traffic. Query performance improved as a side effect, since scans no longer had to open thousands of parts per table.
Ongoing support for ReplicatedMergeTree clusters covering replication queue stalls, memory limit failures on large queries, and mutation backlogs.
Redesigning ORDER BY keys, partitioning, codecs, and materialized views so dashboard queries read a small fraction of the data instead of full scans.
Whether you need architecture advisory, 24/7 support, or full managed services, AceMQ has the expertise to help.