Mengelola resource BigQuery
Seperti layanan Google Cloud lainnya, resource BigQuery dikelola dalam sebuah hierarki. Anda dapat menggunakan hierarki ini untuk mengelola aspek workload BigQuery seperti izin, kuota, reservasi slot, dan penagihan.
Hierarki resource
BigQuery mewarisi hierarki resource Google Cloud dan menambahkan mekanisme pengelompokan tambahan yang disebut set data, yang khusus untuk BigQuery. Bagian ini menjelaskan elemen-elemen hierarki ini.
Set data
Set data adalah container logis yang digunakan untuk mengelola dan mengontrol akses ke resource BigQuery Anda. Set data mirip dengan skema di sistem database lain.
Sebagian besar resource BigQuery yang Anda buat — termasuk tabel, tabel virtual, fungsi, dan prosedur — dibuat di dalam set data. Koneksi dan tugas merupakan pengecualian. Koneksi dan tugas ini terkait dengan project, bukan set data.
Set data memiliki lokasi. Saat Anda membuat tabel, data tabel tersebut disimpan di lokasi set data. Sebelum Anda membuat tabel untuk data produksi, pertimbangkan persyaratan lokasi Anda. Anda tidak dapat mengubah lokasi set data setelah dibuat.
Project
Setiap set data dikaitkan dengan sebuah project. Untuk menggunakan Google Cloud, Anda harus membuat setidaknya satu project. Project menjadi dasar untuk membuat, mengaktifkan, dan menggunakan semua layanan Google Cloud. Untuk mengetahui informasi selengkapnya, lihat Hierarki resource. Project dapat menyimpan beberapa set data, dan set data dengan lokasi berbeda dapat berada dalam project yang sama.
Saat Anda melakukan operasi pada data BigQuery, seperti menjalankan kueri atau menyerap data ke dalam tabel, Anda membuat tugas. Tugas selalu dikaitkan dengan sebuah project, tetapi tidak harus berjalan dalam project yang sama yang berisi data tersebut. Bahkan, tugas dapat mereferensikan tabel dari set data di beberapa project. Tugas kueri, tugas pemuatan, atau tugas ekspor selalu berjalan di lokasi yang sama dengan tabel yang direferensikan.
Setiap project memiliki akun Penagihan Cloud yang terkait. Biaya yang dikenakan pada suatu project akan ditagihkan ke akun tersebut. Jika Anda menggunakan harga sesuai permintaan, kueri Anda akan ditagih ke project yang menjalankan kueri tersebut. Jika Anda menggunakan harga berbasis kapasitas, reservasi slot Anda akan ditagih ke project administrasi yang digunakan untuk membeli slot. Biaya penyimpanan ditagihkan ke project tempat set data berada.
Folder
Folder adalah mekanisme pengelompokan tambahan di atas project. Project dan folder di dalam folder akan otomatis mewarisi kebijakan akses dari folder induknya. Folder dapat digunakan untuk membuat model berbagai entitas hukum, departemen, dan tim dalam suatu perusahaan.
Organisasi
Resource organisasi merepresentasikan organisasi (misalnya, perusahaan) dan merupakan node root dalam hierarki resource Google Cloud.
Anda tidak memerlukan resource Organisasi untuk mulai menggunakan BigQuery, tetapi sebaiknya Anda membuatnya. Dengan menggunakan resource Organisasi, administrator dapat mengontrol resource BigQuery Anda secara terpusat, bukan setiap pengguna yang mengontrol resource yang mereka buat.
Diagram berikut menunjukkan contoh hierarki resource. Dalam contoh ini, organisasi memiliki project di dalam folder. Project terkait dengan akun penagihan dan berisi tiga set data.
Pertimbangan
Saat memilih cara mengelola resource BigQuery, pertimbangkan hal-hal berikut:
- Kuota. Banyak kuota BigQuery diterapkan di level project. Beberapa bisa diterapkan di level set data. Kuota level project yang melibatkan resource komputasi, seperti kueri dan tugas pemuatan, dihitung berdasarkan project yang membuat tugas, bukan project penyimpanan.
- Penagihan. Jika Anda ingin departemen yang berbeda di organisasi menggunakan akun Penagihan Cloud yang berbeda, buat project yang berbeda untuk setiap tim. Buat akun Penagihan Cloud di level organisasi dan kaitkan project ke akun tersebut.
- Reservasi slot. Slot yang dicadangkan tercakup dalam resource Organisasi. Setelah membeli kapasitas slot yang dicadangkan, Anda dapat menetapkan kumpulan slot ke project atau folder apa pun dalam organisasi, atau menetapkan slot ke seluruh resource Organisasi. Project mewarisi reservasi slot dari folder induknya atau Organisasi. Slot yang direservasi berkaitan dengan project administrasi, yang digunakan untuk mengelola slot. Untuk mengetahui informasi selengkapnya, lihat Pengelolaan workload menggunakan Reservasi.
Izin. Pertimbangkan bagaimana hierarki izin memengaruhi orang di organisasi yang perlu mengakses data. Misalnya, jika ingin memberikan akses ke data tertentu kepada seluruh tim, Anda dapat menyimpan data tersebut dalam satu project untuk menyederhanakan pengelolaan akses.
Tabel dan entity lain akan mewarisi izin set data induknya. Set data akan mewarisi izin dari entity induknya dalam hierarki resource (project, folder, organisasi). Untuk menjalankan operasi pada suatu resource, pengguna memerlukan izin yang relevan pada resource tersebut, dan juga izin untuk membuat tugas BigQuery. Izin untuk membuat tugas dikaitkan dengan project yang digunakan untuk tugas tersebut.
Pola
Bagian ini menampilkan dua pola umum untuk mengelola resource BigQuery.
Data lake pusat, data mart departemen. Organisasi membuat project penyimpanan terpadu untuk menyimpan data mentahnya. Departemen di dalam organisasi membuat project data mart mereka sendiri untuk analisis.
Data lake departemen, data warehouse pusat. Setiap departemen membuat dan mengelola project penyimpanannya sendiri untuk menyimpan data mentah departemen tersebut. Lalu, organisasi tersebut membuat project data warehouse terpusat untuk dianalisis.
Setiap pendekatan memiliki kelebihan dan kekurangan. Banyak organisasi menggabungkan elemen dari kedua pola tersebut.
Data lake pusat, data mart departemen
Dalam pola ini, buat project penyimpanan terpadu untuk menyimpan data mentah organisasi. Pipeline penyerapan data Anda juga dapat berjalan di project ini. Project penyimpanan terpadu berfungsi sebagai data lake untuk organisasi Anda.
Setiap departemen memiliki project khusus, yang digunakan untuk membuat kueri data, menyimpan hasil kueri, dan membuat tabel virtual. Project tingkat departemen ini berfungsi sebagai data mart. Akun tersebut berkaitan dengan akun penagihan departemen.
Keuntungan dari struktur ini mencakup:
- Tim data engineering terpusat dapat mengelola pipeline penyerapan di satu tempat.
- Data mentah dipisahkan dari project tingkat departemen.
- Dengan harga on-demand, penagihan untuk kueri yang berjalan akan dibebankan ke departemen yang menjalankan kueri.
- Dengan harga berdasarkan kapasitas, Anda dapat menetapkan slot ke setiap departemen berdasarkan persyaratan komputasi yang diproyeksikan.
- Setiap departemen terpisah dari departemen lain dalam hal kuota level project.
Saat menggunakan struktur ini, izin berikut adalah izin yang umum:
- Tim data engineering pusat diberi peran BigQuery Data Editor dan BigQuery Job User untuk project penyimpanan. Hal ini memungkinkan mereka menyerap dan mengedit data dalam project penyimpanan.
- Analis departemen diberi peran BigQuery Data Viewer untuk set data tertentu di project data lake pusat. Hal ini memungkinkan mereka membuat kueri data, tetapi tidak untuk memperbarui atau menghapus data mentah.
- Analis departemen juga diberi peran BigQuery Data Editor dan peran Job User untuk project data mart departemen mereka. Dengan demikian, mereka dapat membuat dan memperbarui tabel dalam project serta menjalankan tugas kueri, untuk mengubah dan menggabungkan data untuk penggunaan khusus departemen.
Untuk mengetahui informasi selengkapnya, lihat Peran dan izin dasar.
Data lake departemen, data warehouse pusat
Dalam pola ini, setiap departemen membuat dan mengelola project penyimpanannya sendiri, yang menyimpan data mentah departemen tersebut. Project data warehouse pusat akan menyimpan agregasi atau transformasi data mentah.
Analis dapat membuat kueri dan membaca data gabungan dari project data warehouse. Project data warehouse juga menyediakan lapisan akses untuk alat business intelligence (BI).
Keuntungan dari struktur ini mencakup:
- Lebih mudah mengelola akses data di level departemen, dengan menggunakan project terpisah untuk setiap departemen.
- Tim analitik pusat memiliki satu project untuk menjalankan tugas analisis, yang memudahkan pemantauan kueri.
- Pengguna dapat mengakses data dari alat BI terpusat, yang tetap terpisah dari data mentah.
- Slot dapat ditetapkan ke project data warehouse untuk menangani semua kueri dari analis dan alat eksternal.
Saat menggunakan struktur ini, izin berikut adalah izin yang umum:
- Data engineer diberi peran BigQuery Data Editor dan BigQuery Job User di data mart departemen mereka. Peran ini memungkinkan mereka menyerap dan mengubah data ke dalam data mart.
- Analis diberi peran BigQuery Data Editor dan BigQuery Job User di project data warehouse. Dengan peran ini, mereka dapat membuat tabel virtual agregat di data warehouse dan menjalankan tugas kueri.
- Akun layanan yang menghubungkan BigQuery ke alat BI diberi peran BigQuery Data Viewer untuk set data tertentu, yang dapat menyimpan data mentah dari data lake atau data yang ditransformasi dalam project data warehouse.
Untuk mengetahui informasi selengkapnya, lihat Peran dan izin dasar.
Anda juga dapat menggunakan fitur keamanan seperti tabel virtual yang diotorisasi dan fungsi yang ditentukan pengguna yang diizinkan (UDF) agar data gabungan tersedia bagi pengguna tertentu tanpa memberikan izin kepada mereka untuk melihat data mentah dalam project data mart.
Struktur project ini dapat menghasilkan banyak kueri serentak dalam project data warehouse. Dengan demikian, Anda mungkin mencapai batas kueri serentak. Jika Anda menggunakan struktur ini, pertimbangkan untuk meningkatkan batas kuota ini untuk project. Pertimbangkan juga untuk menggunakan penagihan berbasis kapasitas, sehingga Anda dapat membeli kumpulan slot untuk menjalankan kueri.