Menggunakan histori perubahan

Dengan histori perubahan BigQuery, Anda dapat melacak histori perubahan pada suatu tabel BigQuery. Anda dapat menggunakan fungsi GoogleSQL untuk melihat jenis perubahan tertentu yang dibuat selama rentang waktu yang ditentukan, sehingga Anda dapat memproses perubahan inkremental yang dibuat pada tabel. Memahami perubahan yang telah dilakukan pada suatu tabel dapat membantu Anda melakukan hal-hal seperti mempertahankan replika tabel secara bertahap di luar BigQuery sambil menghindari salinan yang mahal.

Izin yang diperlukan

Untuk melihat histori perubahan pada suatu tabel, Anda memerlukan izin bigquery.tables.getData untuk tabel tersebut. Peran Identity and Access Management (IAM) yang telah ditetapkan berikut mencakup izin ini:

  • roles/bigquery.dataViewer
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.admin

Jika tabel memiliki, atau telah memiliki, kebijakan akses tingkat baris, hanya administrator tabel yang dapat mengakses data historis untuk tabel tersebut. Izin bigquery.rowAccessPolicies.overrideTimeTravelRestrictions diperlukan pada tabel dan disertakan dalam peran IAM roles/bigquery.admin yang telah ditetapkan.

Jika tabel memiliki keamanan tingkat kolom, Anda hanya dapat melihat histori perubahan di kolom yang dapat Anda akses.

Fungsi histori perubahan

Anda dapat menggunakan fungsi berikut untuk memahami histori perubahan tabel:

Harga dan biaya

Memanggil fungsi histori perubahan akan menimbulkan biaya komputasi BigQuery. Fungsi APPENDS dan CHANGES memerlukan pemrosesan semua data yang ditulis ke tabel dalam rentang waktu yang ditentukan. Pemrosesan ini berlaku untuk semua penulisan, termasuk operasi penambahan dan mutasi. Menetapkan opsi enable_change_history tabel ke FALSE tidak akan mengurangi data yang diproses oleh APPENDS.

Saat Anda menetapkan opsi enable_change_history pada tabel ke TRUE untuk menggunakan fungsi CHANGES, BigQuery akan menyimpan metadata perubahan tabel. Metadata yang disimpan ini akan menimbulkan biaya penyimpanan BigQuery dan biaya komputasi BigQuery tambahan. Jumlah yang ditagih bergantung pada jumlah dan jenis perubahan yang dilakukan pada tabel, dan biasanya kecil. Tabel yang memiliki banyak operasi perubahan, terutama penghapusan besar, paling mungkin menimbulkan biaya yang signifikan.