Pengantar tampilan terwujud
Dokumen ini memberikan ringkasan dukungan BigQuery untuk tampilan terwujud. Sebelum membaca dokumen ini, pahami tampilan logis BigQuery dan BigQuery.
Ringkasan
Di BigQuery, tampilan terwujud adalah tampilan yang diprakomputasi yang meng-cache hasil kueri secara berkala untuk meningkatkan performa dan efisiensi. BigQuery memanfaatkan hasil prakomputasi dari tampilan terwujud dan jika memungkinkan hanya membaca perubahan dari tabel dasar untuk menghitung hasil terbaru. Tampilan terwujud dapat dikueri secara langsung atau dapat digunakan oleh pengoptimal BigQuery untuk memproses kueri ke tabel dasar.
Kueri yang menggunakan tampilan terwujud umumnya lebih cepat dan menggunakan lebih sedikit resource daripada kueri yang mengambil data yang sama hanya dari tabel dasar. Tampilan terwujud dapat secara signifikan meningkatkan performa workload yang memiliki karakteristik kueri umum dan berulang.
Berikut adalah karakteristik utama dari tampilan terwujud:
- Tak perlu pemeliharaan. Tampilan terwujud diprakomputasi di latar belakang saat tabel dasar berubah. Setiap perubahan data inkremental dari tabel dasar akan otomatis ditambahkan ke tampilan terwujud, tanpa memerlukan tindakan pengguna.
- Data baru. Tampilan terwujud menampilkan data baru. Jika perubahan pada tabel dasar dapat membatalkan tampilan terwujud, data akan dibaca langsung dari tabel dasar. Jika perubahan pada tabel dasar tidak membatalkan tampilan terwujud, maka data lainnya akan dibaca dari tampilan terwujud dan hanya perubahan yang dibaca dari tabel dasar.
- Penyesuaian cerdas. Jika ada bagian dari kueri terhadap tabel dasar yang dapat diselesaikan dengan membuat kueri tampilan terwujud, BigQuery akan mengalihkan kueri tersebut untuk menggunakan tampilan terwujud demi performa dan efisiensi yang lebih baik.
Kasus penggunaan
Tampilan terwujud dapat mengoptimalkan kueri dengan biaya komputasi yang tinggi dan hasil set data yang kecil. Proses yang memperoleh manfaat dari tampilan terwujud mencakup operasi pemrosesan analisis online (OLAP) yang memerlukan pemrosesan signifikan dengan kueri berulang dan yang dapat diprediksi, seperti proses ekstrak, transformasi, pemuatan (ETL) atau pipeline business intelligence (BI).
Kasus penggunaan berikut menyoroti nilai tampilan terwujud. Tampilan terwujud dapat meningkatkan performa kueri jika Anda sering memerlukan hal berikut:
- Data praagregrat. Agregasi data streaming.
- Data prafilter. Menjalankan kueri yang hanya membaca subset tabel tertentu.
- Data pragabung. Kueri gabung, terutama antara tabel besar dan kecil.
- Mengelompokkan ulang data. Menjalankan kueri yang akan mendapatkan manfaat dari skema pengelompokan yang berbeda dari tabel dasar.
Perbandingan dengan teknik BigQuery lainnya
Tabel berikut merangkum kesamaan dan perbedaan antara cache BigQuery, kueri terjadwal, tampilan logis, dan tampilan terwujud.
Komponen | Menyimpan data ke dalam cache | Kueri terjadwal | Tampilan logis | Tampilan terwujud |
---|---|---|---|---|
Pengoptimalan komputasi | Ya | Tidak | Tidak | Ya |
Dukungan kueri | Semua | Semua | Semua | Terbatas1 |
Partisi dan pengelompokan | Tidak | Ya | T/A | Ya |
Pemuatan ulang inkremental | Tidak | Tidak | Tidak | Ya |
Penyimpanan tambahan | Tidak | Ya | Tidak | Ya |
Penulisan ulang kueri | Tidak | Tidak | Tidak | Ya |
Biaya pemeliharaan | Tidak | Ya | T/A | Ya |
Data yang tidak berlaku | Tidak pernah | Ya | Tidak pernah | Opsional 2 |
1 Opsi --allow_non_incremental_definition
mendukung rentang kueri SQL yang diperluas untuk membuat tampilan terwujud.
2 Opsi --max_staleness
memberikan performa tinggi secara konsisten dengan biaya yang terkontrol saat
memproses set data yang besar dan sering berubah.
Interaksi dengan fitur BigQuery lainnya
Fitur BigQuery berikut berfungsi secara transparan dengan tampilan terwujud:
Penjelasan paket kueri: Paket kueri mencerminkan tampilan terwujud mana yang dipindai (jika ada), dan menunjukkan jumlah byte yang dibaca dari tampilan terwujud dan tabel dasar digabungkan.
Cache kueri: Hasil kueri yang ditulis ulang BigQuery menggunakan tampilan terwujud dapat di-cache dengan batasan biasa (menggunakan batasan fungsi deterministik, tidak ada streaming ke tabel dasar, dll.).
Pembatasan biaya: Jika Anda telah menetapkan nilai untuk byte maksimum yang ditagih, dan kueri akan membaca jumlah byte yang melebihi batas, kueri akan gagal tanpa menimbulkan biaya, baik kueri menggunakan tampilan terwujud, tabel dasar, maupun keduanya.
Estimasi biaya menggunakan uji coba: Uji coba mengulangi logika penulisan ulang kueri menggunakan tampilan terwujud yang tersedia dan memberikan perkiraan biaya. Anda dapat menggunakan fitur ini sebagai cara untuk menguji apakah kueri tertentu menggunakan tampilan terwujud atau tidak.
Tabel yang mendukung cache metadata BigLake
Tampilan terwujud dari tabel yang mendukung cache metadata BigLake dapat merujuk ke data terstruktur yang disimpan di Cloud Storage dan Amazon Simple Storage Service (Amazon S3). Tampilan terwujud ini berfungsi seperti tampilan terwujud melalui tabel penyimpanan yang dikelola BigQuery, termasuk manfaat muat ulang otomatis dan penyesuaian cerdas. Manfaat lainnya mencakup praagregasi, prapemfilteran, dan prapenggabungan data yang disimpan di luar BigQuery. Tampilan terwujud atas tabel BigLake disimpan dan memiliki semua karakteristik penyimpanan yang dikelola BigQuery.
Saat Anda membuat tampilan terwujud di atas tabel BigLake Amazon S3, data dalam tampilan terwujud tidak tersedia untuk digabungkan dengan data BigQuery. Agar data Amazon S3 dalam tampilan terwujud tersedia untuk join, buat replika tampilan terwujud. Anda hanya dapat membuat replika tampilan terwujud melalui tampilan material yang diotorisasi.
Replika tampilan terwujud
BigQuery memungkinkan Anda membuat tampilan terwujud pada tabel yang mendukung cache metadata BigLake di atas data Amazon Simple Storage Service (Amazon S3), Apache Iceberg, atau Salesforce Data Cloud.
Dengan replika tampilan terwujud, Anda dapat menggunakan data tampilan terwujud Amazon S3, Iceberg, atau Data Cloud dalam kueri sekaligus menghindari biaya keluar data dan meningkatkan performa kueri. Replika tampilan yang diwujudkan melakukan hal ini dengan mereplikasi data Amazon S3, Iceberg, atau Data Cloud ke set data di region BigQuery yang didukung, sehingga data tersedia secara lokal di BigQuery.
Pelajari cara membuat replika tampilan terwujud.
Keaktualan data
Setelah Anda membuat replika tampilan terwujud, proses replikasi
akan melakukan polling pada tampilan terwujud sumber untuk mengetahui perubahan dan mereplikasi data ke
replika tampilan terwujud. Data direplikasi pada interval yang Anda tentukan dalam opsi replication_interval_seconds
dari pernyataan CREATE MATERIALIZED VIEW AS REPLICA OF
.
Selain interval replikasi, keaktualan data replika tampilan terwujud juga dipengaruhi oleh seberapa sering tampilan terwujud sumber dimuat ulang, dan seberapa sering cache metadata tabel Amazon S3, Iceberg, atau Data Cloud yang digunakan oleh tampilan terwujud dimuat ulang.
Anda dapat memeriksa keaktualan data untuk replika tampilan terwujud dan resource yang menjadi dasarnya menggunakan konsol Google Cloud:
- Untuk mengetahui keaktualan replika tampilan terwujud, lihat kolom Terakhir diubah di panel Detail replika tampilan terwujud.
- Untuk mengetahui keaktualan tampilan terwujud sumber, lihat kolom Terakhir diubah di panel Detail tampilan terwujud.
- Untuk mengetahui keaktualan cache metadata tabel Amazon S3, Iceberg, atau Data Cloud sumber, lihat kolom Max staleness di panel Details tampilan terwujud.
Region yang didukung
Gunakan pemetaan lokasi dalam tabel berikut saat membuat replika tampilan yang diwujudkan:
Lokasi tampilan terwujud sumber | Lokasi replika tampilan terwujud |
---|---|
aws-us-east-1 |
Multi-region US ,
atau salah satu region berikut:
|
aws-us-west-2 |
Multi-region US ,
atau salah satu region berikut:
|
aws-eu-west-1 |
Multi-region EU ,
atau salah satu region berikut:
|
aws-ap-northeast-2 |
Salah satu region berikut:
|
aws-ap-southeast-2 |
Salah satu dari region berikut:
|
Batasan
- Batasan pada referensi tabel dasar dan batasan lainnya mungkin berlaku. Untuk mengetahui informasi selengkapnya tentang batas tampilan terwujud, lihat Kuota dan batas.
- Data tampilan terwujud tidak dapat diupdate atau dimanipulasi secara langsung
menggunakan operasi seperti
COPY
,EXPORT
,LOAD
,WRITE
, atau pernyataan bahasa pengolahan data (DML). - Anda tidak dapat mengganti tampilan terwujud yang ada dengan tampilan terwujud dengan nama yang sama.
- SQL tampilan tidak dapat diupdate setelah tampilan terwujud dibuat.
- Tampilan terwujud harus berada dalam organisasi yang sama dengan tabel dasarnya, atau dalam project yang sama jika project bukan milik organisasi.
- Hanya tampilan terwujud dari set data yang sama yang dipertimbangkan untuk penyesuaian cerdas.
- Tampilan terwujud menggunakan sintaksis SQL yang dibatasi dan sekumpulan fungsi agregasi yang terbatas. Untuk informasi selengkapnya, lihat Tampilan terwujud yang didukung.
- Tampilan terwujud tidak dapat disusun bertingkat pada tampilan terwujud lainnya.
- Tampilan terwujud tidak dapat mengkueri tabel eksternal atau karakter pengganti, tampilan logis1, snapshot, atau tabel yang mengaktifkan pengambilan data perubahan.
- Hanya dialek GoogleSQL yang didukung untuk tampilan terwujud.
- Anda dapat menetapkan deskripsi untuk tampilan terwujud, tetapi tidak dapat menetapkan deskripsi untuk masing-masing kolom dalam tampilan terwujud.
- Jika Anda menghapus tabel dasar tanpa terlebih dahulu menghapus tampilan terwujud, kueri dan muat ulang tampilan terwujud akan gagal. Jika membuat ulang tabel dasar, Anda juga harus membuat ulang tampilan terwujud.
1Dukungan referensi tampilan logis dalam pratinjau. Untuk informasi selengkapnya, lihat Mereferensikan tampilan logika.
Batasan tampilan terwujud atas tabel BigLake
- Partisi tampilan terwujud tidak didukung. Tabel dasar dapat menggunakan partisi hive, tetapi penyimpanan tampilan terwujud tidak dapat dipartisi dalam tabel BigLake. Ini berarti bahwa setiap penghapusan dalam tabel dasar menyebabkan pemuatan ulang penuh dari tampilan terwujud. Untuk detail selengkapnya, lihat Update inkremental.
- Nilai opsi
-max_staleness
tampilan terwujud harus lebih besar dari nilai tabel dasar BigLake. - Gabungan antara tabel terkelola BigQuery dan tabel BigLake tidak didukung dalam satu definisi tampilan terwujud.
Batasan replika tampilan terwujud
- Anda tidak dapat membuat replika tampilan terwujud untuk tampilan terwujud yang didasarkan pada tabel apa pun yang menggunakan keamanan tingkat baris atau keamanan tingkat kolom.
- Anda tidak dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) dengan tampilan terwujud sumber atau replika tampilan terwujud.
- Anda hanya dapat membuat replika tampilan terwujud untuk tampilan terwujud yang didasarkan pada tabel apa pun yang menggunakan caching metadata.
- Anda hanya dapat membuat satu replika tampilan terwujud untuk tampilan terwujud sumber tertentu.
- Anda hanya dapat membuat replika tampilan terwujud untuk tampilan terwujud yang diotorisasi.
Harga tampilan terwujud
Biaya dikaitkan dengan aspek tampilan terwujud berikut:
- Membuat kueri tampilan terwujud.
- Mempertahankan tampilan terwujud, seperti saat tampilan terwujud dimuat ulang. Biaya pemuatan ulang otomatis ditagihkan ke project tempat tampilan berada. Biaya untuk pemuatan ulang manual akan ditagihkan ke project tempat tugas pemuatan ulang manual dijalankan. Untuk informasi selengkapnya tentang mengontrol biaya pemeliharaan, lihat Memuat ulang pemeliharaan tugas.
- Menyimpan tabel tampilan terwujud.
Komponen | Harga sesuai permintaan | Harga berdasarkan kapasitas |
---|---|---|
Membuat kueri | Byte yang diproses oleh tampilan terwujud dan bagian yang diperlukan dari tabel dasar.1 | Slot digunakan selama waktu kueri. |
Pemeliharaan | Byte diproses selama waktu pemuatan ulang. | Slot digunakan selama waktu pemuatan ulang. |
Penyimpanan | Byte yang disimpan dalam tampilan terwujud. | Byte yang disimpan dalam tampilan terwujud. |
1Jika memungkinkan, BigQuery hanya akan membaca perubahan sejak terakhir kali tampilan dimuat ulang. Untuk informasi selengkapnya, lihat Update inkremental.
Detail biaya penyimpanan
Untuk nilai agregat AVG
, ARRAY_AGG
, dan APPROX_COUNT_DISTINCT
dalam
tampilan terwujud, nilai akhir tidak secara langsung disimpan. Sebagai gantinya,
BigQuery secara internal menyimpan tampilan terwujud sebagai
sketsa menengah, yang digunakan untuk menghasilkan nilai akhir.
Sebagai contoh, pertimbangkan tampilan terwujud yang dibuat dengan perintah berikut:
CREATE MATERIALIZED VIEW project-id.my_dataset.my_mv_table AS SELECT date, AVG(net_paid) AS avg_paid FROM project-id.my_dataset.my_base_table GROUP BY date
Meskipun kolom avg_paid
dirender sebagai NUMERIC
atau FLOAT64
kepada pengguna,
secara internal kolom tersebut disimpan sebagai BYTES
, dengan kontennya berupa sketsa menengah
dalam format eksklusif. Untuk penghitungan ukuran data, kolom diperlakukan sebagai BYTES
.
Biaya replika tampilan terwujud
Penggunaan replika tampilan terwujud akan menimbulkan biaya komputasi, transfer data keluar, dan penyimpanan.