Delta Lake is an open table format that adds a transaction log to Parquet files, giving tables transactions, updates, deletes, merges, schema enforcement and time travel. It is the default table format on Databricks and in Microsoft Fabric's OneLake. Its Change Data Feed can expose the row changes made to a table.
For example, when a job updates ten rows in a Delta table, it does not edit the Parquet files in place. It writes new files with the changed rows, then adds a commit to the table's transaction log, the _delta_log folder, that marks the old files as removed and the new ones as added. Readers that started before the commit keep seeing the old version, and readers after it see the new one. Because earlier commits are kept for a while, a query can read the table as it was at an earlier version or time, which is how time travel works.
The log also enforces the table's schema, so a write with a wrong column type fails instead of corrupting the table, and it lets several writers work on one table with conflict checks. Old files stay in storage until a cleanup command such as VACUUM removes them, which bounds how far back time travel can go. Many small files from frequent writes slow reads down, which compaction and clustering address.
Delta Lake is an open-source project, and engines beyond Databricks can read it, including DuckDB and Microsoft Fabric. See also lakehouse, merge and schema evolution.
In practice, teams on Delta run compaction on a schedule, keep table history for a fixed number of days, and turn on Change Data Feed for tables whose changes other pipelines need. Those settings are part of a table's design, like its columns, and belong in the code that creates it. See also change data capture and Unity Catalog.
Delta is the table format in Emolysis's Databricks and Fabric platform profiles, and DuckDB can read Delta tables for local samples. Compare Apache Iceberg. A merge is the usual way to apply changes to a Delta table, which is why MERGE INTO appears in the Databricks profile.