Menggunakan histori perubahan
Dengan histori perubahan BigQuery, Anda dapat melacak histori perubahan pada suatu tabel BigQuery. Anda dapat menggunakan functions 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:
APPENDS
: menampilkan semua baris yang ditambahkan ke tabel selama rentang waktu tertentu.Operasi berikut menambahkan baris ke histori perubahan
APPENDS
:CHANGES
: menampilkan semua baris yang telah berubah dalam tabel untuk rentang waktu tertentu. Untuk menggunakan fungsiCHANGES
pada tabel, Anda harus menetapkan opsienable_change_history
tabel keTRUE
.Operasi berikut menambahkan baris ke histori perubahan
CHANGES
:- Pernyataan DDL
CREATE TABLE
- Pernyataan DML
INSERT
- Data yang ditambahkan atau diubah sebagai bagian dari pernyataan DML
MERGE
- Pernyataan DML
UPDATE
- Pernyataan DML
DELETE
- Memuat data ke BigQuery
- Penyerapan streaming
- Pernyataan DML
TRUNCATE TABLE
- Tugas yang dikonfigurasi dengan
writeDisposition
dariWRITE_TRUNCATE
- Penghapusan partisi tabel satu per satu
- Pernyataan DDL
Harga dan biaya
Memanggil fungsi histori perubahan akan menimbulkan biaya komputasi BigQuery.
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. 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, kemungkinan besar akan menimbulkan biaya yang signifikan.