Branching and tagging isolate data changes while giving stable names to known table states. In Apache Iceberg, both are snapshot references: branches can advance, while tags remain fixed. section 11.2.2
Use the references according to the required governance behavior:
- Use branches for development, QA, or analyst testing where new snapshots should advance the reference. section 11.2.2
- Use tags for releases and rerunnable jobs that must point permanently to one known-good snapshot. section 11.2.2
- Attach retention limits to references so unused snapshots can be garbage-collected according to governance rules. section 11.2.2
SELECT ref_name, type, snapshot_id, max_reference_age_in_ms FROM "db "."critical_fact_table.refs ";
Inspect a table’s refs table to list reference names, types, snapshots, and maximum reference ages. section 11.2.2
Release and development references
A refs listing can show main as the stable production branch, dev as a seven-day branch for testing, and release_2023_09 as an immutable release tag. section 11.2.2
