Apa itu BI Engine?
BigQuery BI Engine adalah layanan analisis dalam memori yang cepat dan mempercepat banyak kueri SQL di BigQuery dengan meng-cache data yang paling sering Anda gunakan secara cerdas. BI Engine dapat mempercepat kueri SQL dari sumber apa pun, termasuk yang ditulis oleh alat visualisasi data, dan dapat mengelola tabel yang di-cache untuk pengoptimalan berkelanjutan. Hal ini memungkinkan Anda meningkatkan performa kueri tanpa penyesuaian manual atau pemindahan data ke tingkat lain. Anda dapat menggunakan pengelompokan dan partisi untuk lebih mengoptimalkan performa tabel besar dengan BI Engine.
Misalnya, jika dasbor Anda hanya menampilkan data kuartal terakhir, pertimbangkan untuk mempartisi tabel menurut waktu sehingga hanya partisi terbaru yang dimuat ke dalam memori. Anda juga dapat menggabungkan manfaat tabel virtual terwujud dan BI Engine. Hal ini berfungsi sangat baik ketika tabel virtual terwujud digunakan untuk menggabungkan dan meratakan data guna mengoptimalkan strukturnya untuk BI Engine.
BI Engine memberikan keuntungan berikut:
- BigQuery API: BI Engine terintegrasi langsung dengan BigQuery API. Semua solusi BI atau aplikasi kustom yang berfungsi dengan BigQuery API melalui mekanisme standar, seperti REST atau driver JDBC dan ODBC, dapat menggunakan BI Engine tanpa modifikasi.
- Runtime yang diubah menjadi vektor: Dengan antarmuka BI Engine SQL, BI Engine memperkenalkan teknik yang lebih modern yang disebut pemrosesan vektor. Penggunaan pemrosesan vektor pada mesin eksekusi akan memanfaatkan arsitektur CPU modern secara lebih efisien, dengan beroperasi pada batch data dalam satu waktu. BI Engine juga menggunakan encoding data lanjutan, khususnya, encoding run-length kamus, untuk mengompresi lebih lanjut data yang tersimpan di lapisan dalam memori.
- Integrasi yang lancar: BI Engine berfungsi dengan fitur dan metadata BigQuery, termasuk tampilan resmi, keamanan tingkat kolom, dan data masking.
- Pemesanan: Pemesanan BI Engine mengelola alokasi memori pada level lokasi project. BI Engine meng-cache kolom atau partisi tertentu yang dikueri, dengan memprioritaskan kolom atau partisi tersebut dalam tabel yang ditandai sebagai pilihan.
Tentang antarmuka BI Engine SQL
Antarmuka BI Engine SQL memperluas BI Engine untuk berintegrasi dengan alat business intelligence (BI) lainnya seperti Looker, Tableau, Power BI, dan aplikasi kustom untuk mempercepat eksplorasi dan analisis data. Halaman ini menyediakan ringkasan tentang antarmuka BI Engine SQL serta kemampuan yang diperluas dan dihadirkan ke BI Engine.
Kasus penggunaan BI Engine
BI Engine dapat secara signifikan mempercepat banyak kueri SQL, termasuk yang digunakan untuk dasbor BI. Percepatan paling efektif jika Anda mengidentifikasi tabel yang penting untuk kueri Anda, lalu menandainya sebagai tabel pilihan. Untuk menggunakan BI Engine, buat pemesanan yang menentukan kapasitas penyimpanan khusus untuk BI Engine. Anda dapat mengizinkan BigQuery menentukan tabel mana yang akan di-cache berdasarkan pola penggunaan project atau Anda dapat menandai tabel tertentu untuk mencegah traffic lain mengganggu percepatan.
BI Engine berguna dalam kasus penggunaan berikut:
- Anda menggunakan alat BI untuk menganalisis data: Antarmuka BI Engine SQL dapat mempercepat kueri BigQuery, terlepas dari apakah kueri tersebut berjalan di konsol BigQuery, library klien, atau melalui API atau konektor ODBC atau JDBC. Hal ini dapat meningkatkan performa dasbor yang terhubung ke BigQuery secara signifikan melalui koneksi bawaan (API) atau konektor.
- Anda memiliki tabel tertentu yang paling sering dikueri: BI Engine memungkinkan Anda menentukan tabel pilihan tertentu untuk dipercepat. Hal ini berguna jika Anda memiliki subset tabel yang lebih sering dikueri atau digunakan untuk dasbor dengan visibilitas tinggi.
BI Engine mungkin tidak sesuai dengan kebutuhan Anda dalam kasus berikut:
Anda menggunakan karakter pengganti di kueri: Kueri yang merujuk pada tabel karakter pengganti tidak didukung oleh BI Engine dan tidak mendapatkan manfaat dari percepatan.
Anda sangat bergantung pada fitur BigQuery yang tidak didukung oleh BI Engine: Meskipun BI Engine mendukung sebagian besarFungsi dan operator SQL saat menghubungkan alat business intelligence (BI) ke BigQuery, fitur tidak didukung, termasuk tabel eksternal dan fungsi non-SQL yang ditentukan pengguna.
Pertimbangan untuk BI Engine
Pertimbangkan hal berikut saat memutuskan cara mengonfigurasi BI Engine:
Memastikan percepatan untuk kueri tertentu
Anda dapat memastikan kumpulan kueri tertentu selalu dipercepat dengan membuat project terpisah menggunakan pemesanan BI Engine. Untuk melakukannya, Anda harus memastikan pemesanan BI Engine dalam project tersebut cukup besar agar sesuai dengan ukuran semua tabel yang digunakan dalam kueri tersebut dan menetapkan tabel itu sebagai tabel pilihan untuk BI Engine. Hanya kueri yang perlu dipercepat yang harus dijalankan dalam project tersebut.
Meminimalkan penggabungan
BI Engine berfungsi optimal dengan data yang digabungkan sebelumnya atau pra-agregat, dan data dengan sedikit penggabungan. Hal ini terutama terjadi jika satu sisi gabungan data berukuran besar dan sisi lainnya jauh lebih kecil, seperti saat Anda membuat kueri tabel fakta besar yang digabungkan dengan tabel dimensi kecil. Anda dapat menggabungkan BI Engine dengan tabel virtual terwujud, yang melakukan gabungan untuk menghasilkan satu tabel datar besar. Dengan cara ini, penggabungan yang sama tidak harus dilakukan pada setiap kueri.
Memahami dampak BI Engine
Untuk memahami pemanfaatan BI Engine Anda, lihat Memantau BI Engine dengan Cloud Monitoring, atau buat kueri tampilan INFORMATION_SCHEMA.BI_CAPACITIES
dan INFORMATION_SCHEMA.BI_CAPACITY_CHANGES
. Pastikan untuk menonaktifkan opsi Use cache results di BigQuery untuk mendapatkan perbandingan yang paling akurat. Untuk mengetahui informasi selengkapnya, lihat Menggunakan hasil kueri yang di-cache.
Tabel pilihan
Tabel pilihan BI Engine memungkinkan Anda membatasi akselerasi BI Engine ke kumpulan tabel tertentu. Kueri ke semua tabel lainnya menggunakan slot BigQuery reguler. Misalnya, dengan tabel pilihan, Anda hanya dapat mempercepat tabel dan dasbor yang Anda anggap penting bagi bisnis Anda.
Jika tidak ada cukup RAM dalam project untuk menampung semua tabel pilihan, BI Engine akan mengurangi beban partisi dan kolom yang belum diakses baru-baru ini. Proses ini mengosongkan memori untuk kueri baru yang memerlukan akselerasi.
Batasan tabel pilihan
Tabel pilihan BI Engine memiliki batasan-batasan sebagai berikut:
- Anda tidak dapat menambahkan tampilan ke daftar pemesanan tabel pilihan. Tabel pilihan BI Engine hanya mendukung tabel.
- Kueri ke tampilan terwujud hanya akan diakselerasi jika tampilan terwujud dan tabel dasarnya ada dalam daftar tabel pilihan.
- Menentukan partisi atau kolom untuk akselerasi tidak didukung.
- Kolom jenis
JSON
tidak didukung dan tidak diakselerasi oleh BI Engine. - Kueri yang mengakses beberapa tabel hanya akan diakselerasi jika semua tabel adalah
tabel pilihan. Misalnya, semua tabel dalam kueri dengan
JOIN
harus berada dalam daftar tabel pilihan agar dapat diakselerasi. Jika ada satu tabel yang tidak ada dalam daftar pilihan, kueri tersebut tidak dapat menggunakan BI Engine. - Set data publik tidak didukung di Konsol Google Cloud. Untuk menambahkan tabel publik sebagai tabel pilihan, gunakan API atau DDL.
Kuota dan batas
Lihat kuota dan batas BigQuery guna mengetahui kuota dan batas yang berlaku untuk BI Engine.
Harga
Untuk mengetahui informasi tentang harga BI Engine, lihat halaman Harga BigQuery.
Langkah berikutnya
- Untuk mempelajari cara membuat pemesanan BI Engine, lihat Melakukan pemesanan kapasitas BI Engine.
- Untuk mengetahui informasi tentang cara menentukan tabel pilihan, lihat Tabel pilihan BI Engine.
- Untuk memahami pemanfaatan BI Engine Anda, lihat Memantau BI Engine dengan Cloud Monitoring.
- Pelajari Fungsi BI Engine yang dioptimalkan.
- Pelajari cara menggunakan BI Engine dengan hal-hal berikut ini: