# How we built fast UPDATEs for the ClickHouse column store - Part 1: Purpose-built engines

DevFeed: [How we built fast UPDATEs for the ClickHouse column store - Part 1: Purpose-built engines](<https://devfeed.tech/articles/how-we-built-fast-updates-for-the-clickhouse-column-store-part-1-purpose-built-engines-5618.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/updates-in-clickhouse-1-purpose-built-engines>)

Author: Tom Schreiber

Published: 2025-07-22T00:00:00Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Internet of things](<https://devfeed.tech/topics/iot.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [iot](<https://devfeed.tech/tags/iot.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sql](<https://devfeed.tech/tags/sql.md>), [updates](<https://devfeed.tech/tags/updates.md>)

## AI overview

This first part of ClickHouse's update deep dive explains how purpose-built engines handle row-level updates and deletes by writing new rows and using background merges. It focuses on ReplacingMergeTree, CollapsingMergeTree, and CoalescingMergeTree, which use insert semantics to support fast-changing workloads.

## Source excerpt

ClickHouse is a column store, but that doesn't mean updates are slow. In this post, we explore how purpose-built engines like ReplacingMergeTree deliver fast, efficient UPDATE-like behavior through smart insert semantics.