Every write is a snapshot
When you INSERT, MERGE, DELETE, or OVERWRITE an Iceberg table, the engine doesn't edit files in place. It writes new files and commits a new snapshot — a full, immutable picture of which data files make up the table at that instant — then atomically moves the table's pointer to it. Old snapshots stay valid until you explicitly expire them.
So the history of db.orders below isn't a log you have to replay — each snapshot is a queryable version of the whole table. Snapshot s1 was the initial load of 5 orders; s2 appended the 6th. The current table is s2:
-- The current (latest snapshot) state of the table SELECT order_id, product, status, order_date FROM db.orders ORDER BY order_id;
