An Mvcc-Like Columnar Table on S3 with Constant-Time Deletes
Posted3 months agoActive3 months ago
shayon.devTechstory
calmpositive
Debate
40/100
Database DesignCloud StorageMvcc
Key topics
Database Design
Cloud Storage
Mvcc
The post presents a novel approach to implementing a columnar table on S3 with constant-time deletes using an MVCC-like design, sparking discussion on its potential applications and trade-offs.
Snapshot generated from the HN discussion
Discussion Activity
Moderate engagementFirst comment
2d
Peak period
6
48-54h
Avg / period
2.5
Key moments
- 01Story posted
Oct 4, 2025 at 2:18 PM EDT
3 months ago
Step 01 - 02First comment
Oct 6, 2025 at 7:01 PM EDT
2d after posting
Step 02 - 03Peak activity
6 comments in 48-54h
Hottest window of the conversation
Step 03 - 04Latest activity
Oct 7, 2025 at 7:54 PM EDT
3 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45475416Type: storyLast synced: 11/20/2025, 3:22:58 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
For some reason they thought hard-positioned top-to-bottom SVG is somehow better than adding "white-space: pre" once in CSS ¯\_(ツ)_/¯
> Deletes accumulate in tombstone files over time. Eventually we would want to coalesce 100 small tombstone files into one and /or rewrite data files if a row group has >50% rows deleted, resulting in further compaction.
The bigger problem for me is that tombstones that remove rows can make reads quite inefficient because they reduce the usefulness of min-max and bloom filter indexes. It can also affect vectorized query if you have to apply predicates within row groups. Finally there are degenerate cases where the tombstones would be bigger than the compressed columns themselves.
Any assertion that this would be performant needs to be backed up by code. ClickHouse took many years to implement so-called lightweight deletes. It's a hard problem to solve in a performant way.