Pengantar tampilan terwujud

Tampilan terwujud adalah tampilan yang telah dihitung sebelumnya yang secara berkala menyimpan hasil kueri SQL. Dalam beberapa kasus penggunaan, tampilan terwujud mengurangi total waktu pemrosesan dan biaya terkait dengan mengurangi jumlah data yang akan dipindai untuk setiap kueri. Anda dapat membuat kueri tampilan terwujud seperti halnya sumber data lainnya.

Kasus penggunaan berikut menyoroti nilai tampilan terwujud:

  • Memproses data terlebih dahulu. Tingkatkan performa kueri dengan menyiapkan agregasi, filter, gabungan, dan pengelompokan.
  • Akselerasi dasbor. Meningkatkan kemampuan alat BI seperti Looker yang sering membuat kueri metrik gabungan yang sama—misalnya, pengguna aktif harian.
  • Analisis real-time pada streaming besar. Dapat memberikan respons yang lebih cepat pada tabel yang menerima data streaming berkecepatan tinggi.
  • Pengelolaan biaya. Mengurangi biaya kueri berulang yang mahal pada set data besar.

Karakteristik utama tampilan terwujud meliputi hal-hal berikut:

  • 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. Untuk mengetahui informasi tentang cara dan waktu penyesuaian cerdas dapat meningkatkan kualitas kueri, lihat Menggunakan tampilan terwujud.

Tampilan terwujud inkremental dan non-inkremental

Ada dua jenis dasar tampilan terwujud:

  • Tampilan terwujud inkremental mendukung serangkaian fitur terbatas. Untuk mempelajari lebih lanjut sintaksis SQL yang didukung untuk tampilan terwujud, lihat Membuat tampilan terwujud. Hanya tampilan terwujud inkremental yang dapat memanfaatkan penyesuaian cerdas.
  • Fungsi non-inkremental mendukung sebagian besar sintaksis yang tidak didukung tampilan terwujud inkremental.

Saat Anda membuat tampilan terwujud, secara default BigQuery hanya mengizinkan Anda membuat tampilan berdasarkan kueri inkremental. Untuk membuat tampilan non-inkremental, Anda dapat menentukan allow_non_incremental_definition = true dalam definisi tampilan terwujud.

Jenis tampilan terwujud terbaik yang digunakan bergantung pada situasi Anda. Tabel berikut membandingkan fitur tampilan terwujud inkremental dan non-inkremental:

Kategori Inkremental Non-inkremental
Kueri didukung Terbatas Sebagian besar kueri
Biaya pemeliharaan Dapat mengurangi biaya kueri yang sering digunakan. Untuk mempelajari cara memperbarui tampilan terwujud, lihat update inkremental. Setiap pemuatan ulang menjalankan kueri lengkap.
Dukungan penyesuaian cerdas Didukung untuk sebagian besar kueri tampilan. Tidak
Hasil yang selalu terbaru Didukung. Tampilan inkremental menampilkan hasil kueri baru meskipun tabel dasar telah berubah sejak refresh terakhir. Tidak

Tampilan terwujud yang diotorisasi

Anda dapat membuat tampilan terwujud yang diizinkan untuk membagikan sebagian data dari set data sumber ke tampilan dalam set data sekunder. Kemudian, Anda dapat membagikan tampilan ini kepada pengguna dan grup (akun utama) tertentu yang dapat melihat data yang Anda bagikan. Principal dapat membuat kueri data yang Anda berikan dalam tampilan, tetapi mereka tidak dapat mengakses set data sumber secara langsung.

Tampilan yang diotorisasi dan tampilan terwujud yang diotorisasi diberi otorisasi dengan cara yang sama. Untuk mengetahui detailnya, lihat Tampilan yang diotorisasi.

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 termasuk pra-agregasi, pra-pemfilteran, dan pra-penggabungan 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 tabel BigLake Amazon S3, data dalam tampilan terwujud tidak tersedia untuk gabungan dengan data BigQuery. Untuk membuat data Amazon S3 dalam tampilan terwujud tersedia untuk gabungan, buat replika tampilan terwujud. Anda hanya dapat membuat replika tampilan terwujud melalui tampilan terwujud yang diotorisasi.

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 terwujud 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.
  • 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 logis, atau snapshot.
  • 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.
  • Jika tampilan terwujud memiliki tabel dasar yang mengaktifkan pengambilan data perubahan, tabel tersebut tidak dapat dirujuk dalam kueri yang sama dengan tampilan terwujud.
  • Hanya tampilan terwujud non-inkremental yang dapat memiliki tabel dasar set data eksternal Spanner. Jika refresh terakhir tampilan terwujud non-inkremental terjadi di luar interval max_staleness, kueri akan membaca tabel set data eksternal Spanner dasar. Untuk mempelajari lebih lanjut tabel set data eksternal Spanner, lihat Membuat tampilan terwujud pada set data eksternal Spanner.

1Dukungan referensi tampilan logis tersedia dalam pratinjau. Untuk mengetahui informasi selengkapnya, lihat Mereferensikan tampilan logis.

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.
  • BigQuery BI Engine tidak mendukung akselerasi tampilan terwujud melalui tabel BigLake.

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.

Langkah berikutnya