# Iceberg tables (/catalog/iceberg)

What Apache Iceberg gives you and how Databaas stores your tables.

Databaas stores your tables as [Apache Iceberg](https://iceberg.apache.org/docs/latest/) tables. You
never manage Iceberg yourself, but what it gives you explains several things you see in the catalog
and in queries.

## Snapshots and time travel

Every write creates a new **snapshot** — a complete, consistent version of the table at that moment.
The table has one current snapshot, shown in its [Properties tab](/catalog/table-details), and older
ones are kept. Because past snapshots survive, you can read a table as it was at an earlier point —
*time travel* — which is what makes a preview or a query reproducible even while a pipeline keeps
writing.

## Schema evolution

An Iceberg table has a real schema — named columns with types, some required. The schema can change
(a column added, say) without rewriting existing data, so a long-lived table keeps working as it
grows. The current columns are in its **Schema** tab.

## One table, many engines

The same Iceberg table is read by every engine — a [notebook](/notebooks/querying-data),
[SQL Lab](/dashboards/sql-lab), a [pipeline](/pipelines/monitoring) — through the shared catalog.
None of them owns the table; they all ask the catalog where the data is and read it directly. This is
why a table you load in Python and one you query in SQL are the same table, with the same rows and
permissions.

## Not everything is Iceberg

The catalog can also list **generic tables** — registered but not Iceberg, such as a Zarr array
or a set of files. They carry a format badge and have no snapshots, schema, or preview. See
[table details](/catalog/table-details).

## Going deeper

To work with Iceberg from Python the platform uses [pyiceberg](https://py.iceberg.apache.org/); see
[querying data](/notebooks/querying-data) for the Databaas helpers that load a catalog for you. For
the format itself, read the [Apache Iceberg documentation](https://iceberg.apache.org/docs/latest/).
The terms used here are collected in [core concepts](/getting-started/concepts).