Setting the file. One moment.
Chapter 03 · Clickhouse Architecture Advisor
Subchapter 3.11
rules/decision-late-arriving-upserts.mdMarkdown2 KBView on GitHub
Frequent ALTER TABLE UPDATE and ALTER TABLE DELETE operations are usually the wrong first answer. Prefer append-friendly patterns and engines designed for state evolution.
| Condition | Recommendation | Category |
|---|---|---|
| Immutable event log with latest-state queries | Raw append table + latest-state query or MV | derived |
| Natural replacement semantics with version ordering | ReplacingMergeTree | official |
| Explicit row-state transitions are modeled | CollapsingMergeTree or VersionedCollapsingMergeTree | official |
| Small correction workload, infrequent and operationally bounded | Targeted mutation may be acceptable | field |
Why Many real-time systems do not need in-place updates if the application can compute current state from ordered events.
Category derived
Official context
Why ReplacingMergeTree is the standard documented pattern for row replacement based on version ordering.
Official sources
insert-mutation-avoid-updateWhy Heavy mutation usage often becomes the bottleneck in otherwise append-friendly systems.
Official sources
insert-mutation-avoid-updateinsert-mutation-avoid-delete