<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/delta-lake-deletion-vectors-8zyhesx77" -->

---
title: Delta Lake Deletion Vectors | daily.dev
description: Delta Lake&#x27;s Deletion Vectors feature introduces a Merge-on-Read (MoR) paradigm as an alternative to the traditional Copy-on-Write model, allowing DELETE,...
canonical: https://daily.dev/posts/delta-lake-deletion-vectors-8zyhesx77
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Delta Lake Deletion Vectors | daily.dev
og:description: Delta Lake&#x27;s Deletion Vectors feature introduces a Merge-on-Read (MoR) paradigm as an alternative to the traditional Copy-on-Write model, allowing DELETE,...
og:url: https://daily.dev/posts/delta-lake-deletion-vectors-8zyhesx77
og:image: https://api.daily.dev/og/posts/8ZYhESX77.png
og:image:alt: Delta Lake Deletion Vectors
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Delta Lake Deletion Vectors

**[Delta Lake Blog](https://daily.dev/sources/delta-lake)** · 9 min read · 0 upvotes · 0 comments

## Summary

Delta Lake's Deletion Vectors feature introduces a Merge-on-Read (MoR) paradigm as an alternative to the traditional Copy-on-Write model, allowing DELETE, UPDATE, and MERGE operations to mark rows as deleted without rewriting entire data files. Deletion Vectors use a compressed RoaringBitmap format to track deleted rows, deferring file rewrites until a later REORG TABLE or OPTIMIZE operation. The post covers performance benefits, trade-offs around read/write frequency, an internal walkthrough of how commit logs and metadata change, and current feature status: Delta Lake 2.3 added read support, while 2.4 and 3.0 added write support for DELETE, with UPDATE/MERGE still defaulting to copy-on-write.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://delta.io/blog/2023-07-05-deletion-vectors>

## Questions this post answers

### What are Deletion Vectors in Delta Lake and how do they speed up DELETE operations?

Deletion Vectors mark deleted rows separately from data files using a compressed RoaringBitmap format instead of rewriting entire Parquet files, a technique called merge-on-read (MoR). This avoids the write amplification of traditional copy-on-write, especially when deletes are scattered across many files, deferring the rewrite cost to a later REORG TABLE or OPTIMIZE operation.

_daily.dev surfaces engineering deep dives like this for teams weighing lakehouse write performance trade-offs._

### Which Delta Lake version added write support for DELETE with Deletion Vectors?

Delta Lake 2.3 introduced full read support for tables with Deletion Vectors enabled, and Delta Lake 2.4 and 3.0 added write support specifically for the DELETE command. UPDATE and MERGE still default to traditional copy-on-write mode in 2.4, with community work underway to extend Deletion Vector support to those commands.

_Track Delta Lake feature rollouts like this on daily.dev before planning a table feature upgrade._

### How do I remove Deletion Vectors and physically apply deletes to Parquet files in Delta Lake?

Run the REORG TABLE command to rewrite files associated with Deletion Vectors, which also coalesces small files similar to OPTIMIZE. REORG TABLE does not remove the Deletion Vectors or original data files; running VACUUM afterward is required to physically delete those files from storage.

_Developers maintaining lakehouse tables follow practical guides like this on daily.dev to avoid storage bloat._

## Similar posts on daily.dev

- [Advancing the Lakehouse with Apache Iceberg v3 on Databricks](https://daily.dev/posts/advancing-the-lakehouse-with-apache-iceberg-v3-on-databricks-6p6wf37qi) · databricks · 4 upvotes · 0 comments
- [The Battle for Compute: Unlocked by Iceberg V3 and Snowflake Interoperability](https://daily.dev/posts/the-battle-for-compute-unlocked-by-iceberg-v3-and-snowflake-interoperability-o4erztdpv) · Snowflake Community · 0 upvotes · 0 comments
- [Delta Lake Explained: Boost Data Reliability in Cloud Storage](https://daily.dev/posts/delta-lake-explained-boost-data-reliability-in-cloud-storage-oechbmvm4) · databricks · 0 upvotes · 0 comments

---

Tags: [#backend](https://daily.dev/tags/backend), [#data-engineering](https://daily.dev/tags/data-engineering), [#apache-spark](https://daily.dev/tags/apache-spark)

[View this post on daily.dev](https://daily.dev/posts/delta-lake-deletion-vectors-8zyhesx77)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Delta Lake Deletion Vectors","url":"https://daily.dev/posts/delta-lake-deletion-vectors-8zyhesx77","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/delta-lake-deletion-vectors-8zyhesx77"},"datePublished":"2026-08-16T08:53:44.847Z","dateModified":"2026-08-16T08:57:05.651Z","description":"Delta Lake's Deletion Vectors feature introduces a Merge-on-Read (MoR) paradigm as an alternative to the traditional Copy-on-Write model, allowing DELETE,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f72172bf57fc1a0c072745d25696e940?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f72172bf57fc1a0c072745d25696e940?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Delta Lake Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Delta Lake Blog","logo":"https://media.daily.dev/image/upload/s--7f2q9Asf--/f_auto,q_auto/v1786870393/logos/delta-lake?_a=BAMAMicg0","url":"https://daily.dev/sources/delta-lake"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/delta-lake-deletion-vectors-8zyhesx77","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"backend,data-engineering,apache-spark","timeRequired":"PT9M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Delta Lake Blog","item":"https://daily.dev/sources/delta-lake"},{"@type":"ListItem","position":3,"name":"Delta Lake Deletion Vectors"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/delta-lake-deletion-vectors-8zyhesx77#faq","mainEntity":[{"@type":"Question","name":"What are Deletion Vectors in Delta Lake and how do they speed up DELETE operations?","acceptedAnswer":{"@type":"Answer","text":"Deletion Vectors mark deleted rows separately from data files using a compressed RoaringBitmap format instead of rewriting entire Parquet files, a technique called merge-on-read (MoR). This avoids the write amplification of traditional copy-on-write, especially when deletes are scattered across many files, deferring the rewrite cost to a later REORG TABLE or OPTIMIZE operation. daily.dev surfaces engineering deep dives like this for teams weighing lakehouse write performance trade-offs."}},{"@type":"Question","name":"Which Delta Lake version added write support for DELETE with Deletion Vectors?","acceptedAnswer":{"@type":"Answer","text":"Delta Lake 2.3 introduced full read support for tables with Deletion Vectors enabled, and Delta Lake 2.4 and 3.0 added write support specifically for the DELETE command. UPDATE and MERGE still default to traditional copy-on-write mode in 2.4, with community work underway to extend Deletion Vector support to those commands. Track Delta Lake feature rollouts like this on daily.dev before planning a table feature upgrade."}},{"@type":"Question","name":"How do I remove Deletion Vectors and physically apply deletes to Parquet files in Delta Lake?","acceptedAnswer":{"@type":"Answer","text":"Run the REORG TABLE command to rewrite files associated with Deletion Vectors, which also coalesces small files similar to OPTIMIZE. REORG TABLE does not remove the Deletion Vectors or original data files; running VACUUM afterward is required to physically delete those files from storage. Developers maintaining lakehouse tables follow practical guides like this on daily.dev to avoid storage bloat."}}]}
```

