Mengelola rekomendasi tampilan terwujud
Dokumen ini menjelaskan cara kerja pemberi rekomendasi tampilan terwujud, serta cara melihat dan menerapkan rekomendasi tampilan terwujud.
Pengantar
Pemberi rekomendasi tampilan terwujud BigQuery dapat membantu Anda meningkatkan performa workload dan menghemat biaya eksekusi workload. Rekomendasi ini didasarkan pada karakteristik eksekusi kueri historis dari 30 hari terakhir.
Tampilan terwujud adalah tampilan yang telah dikomputasi sebelumnya yang menyimpan hasil kueri secara berkala untuk meningkatkan performa dan efisiensi. Tampilan terwujud menggunakan smart tuning untuk menulis ulang kueri secara transparan terhadap tabel sumber guna menggunakan tampilan terwujud yang sudah ada untuk performa dan efisiensi yang lebih baik.
Cara kerja pemberi rekomendasi
Pemberi rekomendasi menghasilkan rekomendasi setiap hari untuk setiap project yang menjalankan tugas kueri di BigQuery. Rekomendasi didasarkan pada analisis eksekusi workload selama 30 hari terakhir. Pemberi rekomendasi tampilan terwujud mencari pola kueri berulang dan menghitung penghematan yang dapat dilakukan jika subkueri berulang dapat dipindahkan ke tampilan terwujud inkremental. Pemberi rekomendasi memperhitungkan penghematan waktu kueri dan biaya pemeliharaan akun untuk tampilan terwujud. Jika gabungan beberapa faktor ini menunjukkan hasil positif yang signifikan, pemberi rekomendasi akan memberikan rekomendasi.
Perhatikan contoh kueri berikut:
WITH revenue AS
(SELECT l_suppkey as supplier_no,
sum(l_extendedprice * (1 - l_discount)) as total_revenue
FROM lineitem
WHERE
l_shipdate >= date '1996-01-01'
AND l_shipdate < date_add(date '1996-01-01', interval 3 MONTH)
GROUP BY l_suppkey)
SELECT s_suppkey,
s_name,
s_address,
s_phone,
total_revenue
FROM
supplier,
revenue
WHERE s_suppkey = supplier_no
AND total_revenue =
(SELECT max(total_revenue)
FROM revenue)
ORDER BY s_suppkey
Contoh kueri ini menunjukkan informasi tentang pemasok teratas. Kueri berisi
ekspresi tabel umum (CTE) bernama revenue
yang mewakili total
pendapatan per setiap pemasok (l_suppkey
). revenue
digabungkan dengan tabel
pemasok dengan syarat total_revenue
pemasok cocok
max(total_revenue)
di semua pemasok. Akibatnya, kueri tersebut menghitung
informasi (l_suppkey
, s_name
, s_address
, s_phone
, total_revenue
)
tentang pemasok dengan total pendapatan maksimum.
Seluruh kueri itu sendiri terlalu rumit untuk dimasukkan ke dalam tampilan
terwujud inkremental. Namun, CTE supplier
adalah agregasi dari satu
tabel — pola kueri yang didukung oleh tampilan terwujud
inkremental. CTE supplier
juga merupakan bagian kueri yang
paling mahal secara komputasi. Oleh karena itu, jika contoh kueri dijalankan berulang kali dengan terus mengubah
tabel sumber, maka pemberi rekomendasi tampilan terwujud mungkin menyarankan
untuk menempatkan CTE supplier
dalam tampilan terwujud. Rekomendasi tampilan
terwujud untuk kueri contoh sebelumnya mungkin terlihat
mirip dengan berikut:
CREATE MATERIALIZED VIEW mv AS
SELECT l_suppkey as supplier_no,
sum(l_extendedprice * (1 - l_discount)) as total_revenue
FROM lineitem
WHERE
l_shipdate >= date '1996-01-01'
AND l_shipdate < date_add(date '1996-01-01', interval 3 MONTH)
GROUP BY l_suppkey
Recommender API juga menampilkan informasi eksekusi kueri dalam bentuk insight. Insight adalah temuan yang membantu Anda memahami beban kerja project, yang memberikan lebih banyak konteks tentang bagaimana rekomendasi tampilan terwujud dapat meningkatkan biaya workload.
Batasan
- Pemberi rekomendasi tampilan terwujud tidak mendukung proses standar untuk memilih tidak ikut pemrosesan data. Untuk berhenti menerima rekomendasi tampilan terwujud, ikuti petunjuk di formulir Pendaftaran Pra-GA Gemini di BigQuery.
- Rekomendasi tampilan terwujud tidak dapat diekspor ke BigQuery.
Sebelum memulai
Sebelum dapat melihat atau menerapkan rekomendasi tampilan terwujud, Anda perlu mengaktifkan Recommender API.
Izin yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengakses rekomendasi tampilan yang terwujud,
minta administrator untuk memberi Anda peran IAM
BigQuery Materialized View Recommender Viewer (roles/recommender.bigqueryMaterializedViewViewer
).
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran bawaan ini berisi izin yang diperlukan untuk mengakses rekomendasi tampilan terwujud. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengakses rekomendasi tampilan terwujud:
-
recommender.bigqueryMaterializedViewRecommendations.get
-
recommender.bigqueryMaterializedViewRecommendations.list
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
Untuk mengetahui informasi lebih lanjut tentang peran dan izin IAM di BigQuery, baca Pengantar IAM.
Lihat rekomendasi tampilan terwujud
Bagian ini menjelaskan cara melihat rekomendasi dan insight tampilan yang terwujud menggunakan Konsol Google Cloud, Google Cloud CLI, atau Recommender API.
Pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Klik
Rekomendasi.Panel BigQuery Recommendations akan terbuka. Di bagian Optimalkan biaya beban kerja BigQuery, klik Lihat detail.
Daftar rekomendasi akan muncul, yang menampilkan semua rekomendasi yang dibuat untuk project saat ini. Setiap rekomendasi dalam daftar ini menampilkan perkiraan penghematan jika rekomendasi tersebut diterapkan. Untuk melihat informasi selengkapnya tentang rekomendasi tampilan terwujud atau insight tabel tertentu, klik Detail.
gcloud
Untuk melihat rekomendasi tampilan terwujud untuk project tertentu, gunakan
perintah gcloud recommender recommendations list
:
gcloud recommender recommendations list \ --project=PROJECT_NAME \ --location=REGION_NAME \ --recommender=google.bigquery.materializedview.Recommender \ --format=FORMAT_TYPE \
Ganti kode berikut:
PROJECT_NAME
: nama project yang menjalankan tugas kueriREGION_NAME
: region tempat tugas kueri dijalankanFORMAT_TYPE
: format output gcloud CLI yang didukung—misalnya, JSON
Properti | Relevan untuk subjenis | Deskripsi |
---|---|---|
recommenderSubtype |
CREATE_MATERIALIZED_VIEW |
Jenis rekomendasi. |
content.overview.sql |
CREATE_MATERIALIZED_VIEW |
Pernyataan DDL yang disarankan untuk membuat tampilan terwujud. |
content.overview.slotMsSavedMonthly |
CREATE_MATERIALIZED_VIEW |
Perkiraan slot milidetik yang akan dihemat setiap bulan menurut tampilan yang disarankan. |
content.overview.bytesSavedMonthly |
CREATE_MATERIALIZED_VIEW |
Perkiraan byte yang dipindai untuk disimpan setiap bulan menurut tampilan yang disarankan. |
content.overview.baseTables |
CREATE_MATERIALIZED_VIEW |
Dipesan untuk penggunaan di masa mendatang. |
- Untuk mengetahui informasi selengkapnya tentang kolom lain dalam respons
recommendations
, lihat Resource REST:projects.locations.recommenders.recommendation
. - Untuk informasi selengkapnya tentang penggunaan Recommender API, lihat Menggunakan API - Rekomendasi.
Untuk melihat insight yang meminta rekomendasi tampilan terwujud menggunakan gcloud CLI, gunakan perintah gcloud recommender insights list
:
gcloud recommender insights list \ --project=PROJECT_NAME \ --location=REGION_NAME \ --insight-type=google.bigquery.materializedview.Insight \ --format=FORMAT_TYPE \
Ganti kode berikut:
PROJECT_NAME
: nama project yang menjalankan tugas kueriREGION_NAME
: region tempat tugas kueri dijalankanFORMAT_TYPE
: format output gcloud CLI yang didukung—misalnya, JSON
Properti | Relevan untuk subjenis | Deskripsi |
---|---|---|
content.queryCount |
CREATE_MATERIALIZED_VIEW |
Jumlah kueri dalam periode pengamatan dengan pola berulang yang dapat dioptimalkan menggunakan tampilan terwujud. |
- Untuk mengetahui informasi selengkapnya tentang kolom lain dalam respons insight, lihat Resource REST:
projects.locations.insightTypes.insights
. - Untuk informasi selengkapnya tentang penggunaan insight, lihat Menggunakan API - Insight.
REST API
Untuk melihat rekomendasi tampilan terwujud untuk project tertentu, gunakan REST API. Dengan setiap perintah, Anda harus menyediakan token autentikasi, yang bisa Anda dapatkan menggunakan gcloud CLI. Untuk mengetahui informasi lebih lanjut mengenai cara mendapatkan token autentikasi, baca Metode untuk mendapatkan token ID.
Anda dapat menggunakan permintaan curl list
untuk melihat semua rekomendasi untuk
project tertentu:
$ curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "x-goog-user-project: PROJECT_NAME" https://recommender.googleapis.com/v1/projects/PROJECT_NAME/locations/LOCATION/recommenders/google.bigquery.materializedview.Recommender/recommendations
Ganti kode berikut:
PROJECT_NAME
: nama project yang berisi tabel BigQuery AndaLOCATION
: lokasi lokasi project.
Properti | Relevan untuk subjenis | Deskripsi |
---|---|---|
recommenderSubtype |
CREATE_MATERIALIZED_VIEW |
Jenis rekomendasi. |
content.overview.sql |
CREATE_MATERIALIZED_VIEW |
Pernyataan DDL yang disarankan untuk membuat tampilan terwujud. |
content.overview.slotMsSavedMonthly |
CREATE_MATERIALIZED_VIEW |
Perkiraan slot milidetik yang akan dihemat setiap bulan menurut tampilan yang disarankan. |
content.overview.bytesSavedMonthly |
CREATE_MATERIALIZED_VIEW |
Perkiraan byte yang dipindai untuk disimpan setiap bulan menurut tampilan yang disarankan. |
content.overview.baseTables |
CREATE_MATERIALIZED_VIEW |
Dipesan untuk penggunaan di masa mendatang. |
- Untuk mengetahui informasi selengkapnya tentang kolom lain dalam respons
recommendations
, lihat Resource REST:projects.locations.recommenders.recommendation
. - Untuk informasi selengkapnya tentang penggunaan Recommender API, lihat Menggunakan API - Rekomendasi.
Untuk melihat insight yang meminta rekomendasi tampilan terwujud menggunakan REST API, jalankan perintah berikut:
$ curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "x-goog-user-project: PROJECT_NAME" https://recommender.googleapis.com/v1/projects/PROJECT_NAME/locations/LOCATION/insightTypes/google.bigquery.materializedview.Insight/insights
Ganti kode berikut:
PROJECT_NAME
: nama project yang berisi tabel BigQuery AndaLOCATION
: lokasi lokasi project.
Properti | Relevan untuk subjenis | Deskripsi |
---|---|---|
content.queryCount |
CREATE_MATERIALIZED_VIEW |
Jumlah kueri dalam periode pengamatan dengan pola berulang yang dapat dioptimalkan menggunakan tampilan terwujud. |
- Untuk mengetahui informasi selengkapnya tentang kolom lain dalam respons insight, lihat Resource REST:
projects.locations.insightTypes.insights
. - Untuk informasi selengkapnya tentang penggunaan insight, lihat Menggunakan API - Insight.
Terapkan rekomendasi tampilan terwujud
Anda dapat menerapkan rekomendasi untuk membuat tampilan terwujud dengan menjalankan
pernyataan DDL jenis CREATE MATERIALIZED VIEW
yang disarankan di Konsol Google Cloud.
Di konsol Google Cloud, buka halaman BigQuery.
Klik
Rekomendasi.Panel BigQuery Recommendations akan terbuka. Di bagian Optimalkan biaya beban kerja BigQuery, klik Lihat detail.
Daftar rekomendasi akan muncul, yang menampilkan semua rekomendasi yang dibuat untuk project saat ini. Temukan rekomendasi tampilan terwujud, lalu klik Details.
Klik Lihat di BigQuery Studio. Editor SQL akan terbuka yang berisi pernyataan DDL
CREATE MATERIALIZED VIEW
.Dalam pernyataan
CREATE MATERIALIZED VIEW
yang diberikan, ubah placeholderMATERIALIZED_VIEW
dengan nama tampilan terwujud yang unik.Jalankan pernyataan DDL
CREATE MATERIALIZED VIEW
untuk membuat tampilan terwujud yang direkomendasikan.
Memecahkan masalah rekomendasi
Masalah: Tidak ada rekomendasi yang muncul untuk tabel tertentu.
Rekomendasi tampilan terwujud mungkin tidak muncul dalam keadaan berikut:
- Tidak ada pola kueri berulang yang ditemukan di antara tugas kueri yang dijalankan oleh sebuah project.
- Pola kueri berulang tidak memenuhi batasan untuk tampilan terwujud inkremental dan tidak dapat dimasukkan ke dalam tampilan terwujud yang cocok untuk smart tuning.
- Tampilan potensial akan memiliki biaya pemeliharaan yang tinggi. Misalnya, tabel sumber sering kali dimodifikasi oleh operasi bahasa manipulasi data (DML), sehingga tampilan terwujud akan menjalani refresh penuh, sehingga menimbulkan biaya lebih lanjut.
- Jumlah kueri yang memiliki pola berulang yang umum tidak mencukupi.
- Perkiraan penghematan bulanan terlalu tidak signifikan (kurang dari 1 slot).
- Tugas kueri yang dijalankan oleh project sudah menggunakan tampilan terwujud.
Harga
Tidak ada biaya atau dampak buruk terhadap performa workload jika Anda melihat rekomendasi.
Saat menerapkan rekomendasi dengan membuat tampilan terwujud, Anda dapat dikenai biaya penyimpanan, pemeliharaan, dan pembuatan kueri. Untuk informasi selengkapnya, lihat Harga Tampilan Terwujud.