全部产品
Search
文档中心

MaxCompute:Snapshot tabel

更新时间:Jan 16, 2026

Topik ini menjelaskan cara membuat, memulihkan, mengubah, dan menghapus snapshot tabel MaxCompute.

Pendahuluan

Snapshot tabel menyimpan data dari tabel dasar pada titik waktu tertentu.

  • Snapshot tabel dapat dikonfigurasi dengan waktu kedaluwarsa yang independen. Sistem secara otomatis menghapus snapshot tabel ketika waktu yang ditentukan telah berlalu setelah pembuatan snapshot.

  • Snapshot tabel bersifat read-only. Anda dapat membuat (memulihkan) tabel dari snapshot tabel untuk memperbaiki atau memulihkan data tabel.

  • Dua keuntungan utama menggunakan snapshot tabel:

    • Periode cadangan data yang lebih lama untuk retensi dan pemulihan data.

      Periode retensi maksimum snapshot tabel melebihi periode retensi maksimum yang didukung oleh fitur cadangan lokal saat ini. Anda dapat menyimpan data dari titik waktu tertentu sesuai kebutuhan. Jika aturan bisnis baru atau pembaruan data menyebabkan masalah, Anda dapat memulihkan data ke versi sebelumnya yang benar berdasarkan snapshot tabel untuk menghindari dampak lebih lanjut pada bisnis Anda.

    • Biaya penyimpanan diminimalkan.

      Hanya byte yang berbeda antara snapshot dan tabel dasarnya yang disimpan. Oleh karena itu, ruang penyimpanan yang digunakan oleh snapshot tabel biasanya lebih kecil daripada salinan lengkap tabel.

Penerapan

  • Jenis tabel yang didukung

    • Tabel Standard, termasuk tabel partisi, non-partisi, dan Tabel terkluster

    • Membuat snapshot dari tabel PK/Append Delta

  • Jenis tabel yang tidak didukung

    • Transaction Table

    • View

    • Materialized views (Delta Live MV)

    • External Table

  • Batasan Wilayah dan penyewa: Snapshot tabel harus berada di Wilayah yang sama dan dalam penyewa yang sama dengan tabel dasarnya.

  • Snapshot tabel bersifat read-only. Anda tidak dapat langsung memperbarui data dalam snapshot. Untuk mengubah data, Anda harus membuat tabel standard dari snapshot tersebut lalu memperbarui tabel baru tersebut. Namun, Anda dapat memperbarui metadata snapshot, seperti deskripsi, tanggal kedaluwarsa, dan kebijakan izin akses.

  • Batasan siklus hidup: Jika Anda membuat snapshot untuk tabel partisi yang telah dikonfigurasi dengan lifecycle, aturan siklus hidup tersebut tidak berlaku untuk data dalam snapshot.

  • Latensi penulisan streaming: Data yang ditulis menggunakan Streaming Tunnel dan di-flush dengan memanggil streamRecordPack.flush dalam kit pengembangan perangkat lunak (SDK) Tunnel memiliki latensi 5 hingga 10 menit sebelum dapat dimasukkan ke dalam snapshot.

  • Snapshot tabel yang dihapus tidak dapat dipulihkan.

  • Batasan Pekerjaan

    • Jumlah maksimum snapshot per tabel: 1.000.

    • Jumlah maksimum pekerjaan CREATE SNAPSHOT bersamaan per Proyek: 100.

    • Jumlah total maksimum pekerjaan CREATE SNAPSHOT per Proyek per hari: 50.000.

    • Jumlah maksimum pekerjaan CREATE SNAPSHOT per tabel per hari: 50.

Buat snapshot tabel

Sintaksis

Saat membuat tabel, Anda dapat mengonfigurasi waktu kedaluwarsa data. Saat ini, jika tidak diatur, snapshot tabel akan mewarisi masa hidup data yang dikonfigurasikan untuk proyek (ini akan diubah di masa mendatang sehingga waktu kedaluwarsa snapshot tabel sepenuhnya independen).

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

Parameter

Parameter

Deskripsi

table_snapshot_name

Nama snapshot tabel yang akan dibuat.

source_table_name

Tabel tempat snapshot akan dibuat.

snapshot_option_list

  • expiration_timestamp: Stempel waktu kedaluwarsa dengan tipe data TIMESTAMP. Nilai parameter ini harus lebih baru dari waktu saat ini.

  • description: Deskripsi snapshot tabel. Tipe datanya adalah STRING.

Contoh

CREATE SNAPSHOT TABLE <table_snapshot_name>
CLONE <source_table_name>
OPTIONS(
  expiration_timestamp=TIMESTAMP "2025-07-01 00:00:00",
  description="Snapshot tabel yang kedaluwarsa dalam xxx hari"
);

Pemulihan dari snapshot tabel

Anda dapat memulihkan ke tabel sumber atau membuat tabel baru.

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

Modifikasi snapshot tabel

Anda hanya dapat memodifikasi OPTIONS.

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

Hapus snapshot tabel

DROP SNAPSHOT TABLE [IF EXISTS] <table_snapshot_name>

Izin

Operasi snapshot tabel mirip dengan operasi tabel. Manajemen izin mencakup pembuatan snapshot tabel, pemulihan dari snapshot tabel, pencatatan snapshot tabel, mendapatkan deskripsi snapshot tabel, memperbarui metadata snapshot tabel, menghapus snapshot tabel, dan menanyakan data dari snapshot tabel.

Penagihan

Biaya penyimpanan berlaku untuk snapshot tabel. Namun, MaxCompute hanya menagih untuk data dalam snapshot tabel yang tidak termasuk dalam tabel lain. Detailnya adalah sebagai berikut:

  • Saat Anda membuat snapshot tabel, tidak ada biaya penyimpanan yang dikenakan untuk snapshot tabel.

  • Jika Anda menambahkan data ke tabel dasar setelah membuat snapshot tabel, tidak ada biaya penyimpanan yang dikenakan untuk snapshot tabel akibat data baru ini.

  • Jika Anda memodifikasi atau menghapus data di tabel dasar setelah membuat snapshot tabel, tidak ada biaya penyimpanan yang dikenakan untuk data yang diperbarui atau dihapus di tabel dasar. Namun, karena data ini masih disimpan dalam tabel snapshot dan tidak akan di-purge, biaya penyimpanan akan dikenakan untuk snapshot tabel.

    Catatan

    Data yang dimodifikasi atau dihapus di tabel dasar masih dapat dipulihkan melalui cadangan lokal dalam periode cadangan lokal, dan tidak ada biaya cadangan lokal yang dikenakan.

  • Jika beberapa snapshot tabel berisi data yang diubah atau dihapus, Anda hanya dikenai biaya penyimpanan berdasarkan snapshot terbesar.