All Products
Search
Document Center

MaxCompute:Table snapshots

Last Updated:Apr 30, 2026

Table snapshots capture the state of a base table at a specific point in time, letting you restore data after accidental deletions or incorrect updates, and retain historical data beyond the local backup retention window.

Use snapshots to:

  • Restore table data to a previous correct version after accidental deletion, incorrect updates, or problematic business rule changes.

  • Retain data from a specific point in time beyond the retention period supported by local backup.

  • Reduce storage costs — only the bytes that differ between a snapshot and its base table are stored.

How it works

A snapshot is read-only. To modify data in a snapshot, restore it to a new or existing table, then update that table.

Snapshot metadata — description, expiration time, and access permissions — can be updated without restoring.

When you create a snapshot, no storage fees are incurred. Storage fees apply only to data that exists exclusively in the snapshot: data that has been modified or deleted in the base table after the snapshot was taken. If multiple snapshots contain the same changed or deleted data, you are charged for the storage consumed by the largest snapshot only.

Limitations

Supported table types:

Table type

Supported

Standard tables (partitioned, non-partitioned, and clustered)

Yes

PK/Append Delta table

Yes

Transaction Table

No

View

No

Materialized views (Delta Live MV)

No

External Table

No

Constraints and quotas:

Constraint

Limit

Region and tenant

A snapshot must be in the same region and within the same tenant as its base table.

Lifecycle rules

If the base table has a lifecycle configured, the lifecycle rule does not apply to data in the snapshot.

Streaming write latency

Data written using Streaming Tunnel and flushed via streamRecordPack.flush in the Tunnel software development kit (SDK) has a latency of 5 to 10 minutes before it can be included in a snapshot.

Snapshots per table

1,000

Concurrent CREATE SNAPSHOT jobs per project

100

CREATE SNAPSHOT jobs per project per day

50,000

CREATE SNAPSHOT jobs per table per day

50

Important

Deleted table snapshots cannot be recovered.

Create a snapshot

CREATE [OR REPLACE] SNAPSHOT TABLE [IF NOT EXISTS] <table_snapshot_name>
CLONE <source_table_name>
[OPTIONS(<snapshot_option_list>)]

Parameters:

Parameter

Description

table_snapshot_name

The name of the snapshot to create.

source_table_name

The base table to snapshot.

expiration_timestamp

The expiration time of the snapshot. Data type: TIMESTAMP. Must be later than the current time. If not set, the snapshot inherits the data time to live configured for the project. Note: this behavior will be changed in the future so that table snapshot expiration times are completely independent.

description

A description of the snapshot. Data type: STRING.

Example:

CREATE SNAPSHOT TABLE <table_snapshot_name>
CLONE <source_table_name>
OPTIONS(
  expiration_timestamp=TIMESTAMP "2025-07-01 00:00:00",
  description="A table snapshot that expires in xxx days"
);

Restore from a snapshot

Restore a snapshot to the original base table or to a new table:

CREATE [OR REPLACE] TABLE [IF NOT EXISTS] <target_table_name>
CLONE <table_snapshot_name>

Modify a snapshot

Only OPTIONS can be modified (description, expiration time, and access permissions):

ALTER SNAPSHOT TABLE [IF EXISTS] <snapshot_table_name>
SET OPTIONS(<snapshot_option_list>)

Delete a snapshot

DROP SNAPSHOT TABLE [IF EXISTS] <table_snapshot_name>
Important

Deleted snapshots cannot be recovered.

Permissions

Table snapshot operations follow the same permission model as table operations. Permissions cover:

  • Creating snapshots

  • Restoring from snapshots

  • Listing snapshots

  • Viewing snapshot descriptions

  • Updating snapshot metadata

  • Deleting snapshots

  • Querying data from snapshots

Billing

Storage fees apply only to data in a snapshot that is not already present in any other table. MaxCompute charges for the bytes that differ — not for a full copy of the table.

Scenario

Storage fee incurred?

Creating a snapshot

No

Adding data to the base table after the snapshot

No (new data is in the base table, not the snapshot)

Modifying or deleting data in the base table after the snapshot

Yes (the original data is preserved only in the snapshot)

Multiple snapshots containing the same changed or deleted data

Charged for the largest snapshot only

Note

Data modified or deleted in the base table can still be restored through local backup within the local backup retention period, with no additional local backup fees.