liveBook · Manning

Snapshot

As explained in Architecting an Apache Iceberg Lakehouse

A consistent versioned representation of a table's state, including the data files that constitute that state.

A snapshot is a consistent, versioned representation of an Iceberg table, including the metadata and data files that constitute that state. Each write creates a new snapshot without modifying existing data files, enabling atomic commits, time travel, and concurrent-write isolation. section 6.3 section 11.3.4

Snapshots form a parent-to-child lineage rather than a guaranteed chronological log. Each records the table’s metadata state, referenced files, operation type, and summary statistics; its timestamp is user provided and should not be treated as perfectly reliable ordering. section 11.2.1

Snapshots support several operational workflows:

  • Query historical table states for validation, auditing, comparisons, and historical analysis without duplicating datasets. section 2.6.3 section 11.3.4
  • Rollback the current metadata pointer to a previous snapshot after bad writes, accidental deletions, or unintended schema changes. section 11.3.4
  • Inspect snapshot and manifest metadata to identify changed files, investigate row-count anomalies, and trigger maintenance based on fragmentation. section 11.2.1 section 11.1.2
  • Correlate table versions with external lineage and governance systems, while recognizing that Iceberg metadata alone is not a complete audit system. section 11.2.7

Investigating an unexpected row-count change

Query the table’s snapshots metadata table, order recent commits by committed_at, and compare operation summaries. An overwrite showing removed and added records can identify the suspected commit; manifests can then reveal the exact files involved. section 11.2.1

Figure 2.5 Engines can scan older snapshots to get a different list of files and then scan older versions of the data.

Shows how selecting an older snapshot changes the data-file listing scanned by an engine, making time travel concrete. section 2.6.3

How Architecting an Apache Iceberg Lakehouse covers it

How deep it goes
Explains snapshot creation, file references, lineage, summaries, rollback, and timestamp caveats without descending into full metadata specification.
Examples
Uses historical queries, snapshot metadata SQL, commit summaries, manifest inspection, and file-size checks to illustrate analysis and maintenance.
What you can do after
Diagnose data changes, query prior states, correlate table versions with jobs, and recover logically by rolling back to a known snapshot.
How it connects
Connects snapshots to time travel, rollback, atomic commits, concurrent-write isolation, manifests, catalogs, metadata tables, and data lineage.

Also explained in

Compare how 11 books explain snapshot →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Architecting an Apache Iceberg Lakehouse. The section links point to the parts of the book it draws on.