Membuat dan mengelola tampilan logis
Di Bigtable, tampilan logis adalah hasil kueri SQL yang berfungsi sebagai tabel virtual yang dapat dikueri oleh kueri SQL lainnya. Data tetap ada di tabel sumber.
Dokumen ini menjelaskan tampilan logis serta cara membuat dan melakukan operasi di dalamnya. Untuk perbandingan dengan tampilan terwujud berkelanjutan dan tampilan yang diotorisasi, lihat Tabel dan tampilan.
Tampilan logis memungkinkan Anda melakukan hal berikut dengan data Bigtable:
- Hindari pengulangan kueri: Anda dapat menyimpan dan mengembangkan pemetaan kolom serta logika transmisi dalam tampilan logis, yang dapat digunakan oleh tampilan logis tambahan, alih-alih menyalin dan menempelkan logika tersebut atau perlu memahaminya.
- Mengintegrasikan dengan sistem yang dirancang untuk membaca dari database relasional: Tampilan logis memungkinkan Anda membuat data Bigtable dibaca seperti tabel database relasional atau tabel Cassandra.
- Menjalankan tampilan logis yang sama terhadap banyak tabel: Dengan mengubah klausa
FROM
, Anda dapat menggunakan tampilan yang sama untuk membuat kueri tabel apa pun di instance Bigtable Anda. - Menyediakan antarmuka yang konsisten: Aplikasi Anda dapat menggunakan tampilan logis meskipun tabel sumber berubah.
- Membatasi akses baca ke kolom atau baris tertentu: Anda hanya dapat mengekspos data yang ingin Anda izinkan dibaca oleh pengguna, tanpa memberi mereka akses ke seluruh tabel.
Tampilan logis adalah resource tingkat instance. Anda dapat membuat tampilan logis menggunakan Google Cloud CLI atau editor kueri Bigtable Studio di konsol. Google Cloud Untuk membuat kueri tampilan logis, Anda dapat menggunakan editor kueri Bigtable Studio atau salah satu library klien Bigtable yang mendukung SQL.
Tampilan logis memiliki karakteristik berikut:
- Harus menggunakan fitur SQL yang didukung oleh GoogleSQL untuk Bigtable
- Hanya baca
- Harus dibaca dengan SQL, bukan dengan panggilan ke
ReadRows
- Dapat dikueri menggunakan salah satu library klien Bigtable yang mendukung SQL
- Menggunakan hak penentu. Anda dapat membuat kueri tampilan logis jika memiliki izin untuk membaca dari tampilan tersebut, meskipun Anda tidak memiliki izin untuk membaca dari tabel sumber.
Kunci baris, penentu kolom, dan nilai kolom yang Anda gunakan untuk menentukan tampilan logis diperlakukan sebagai data layanan. Oleh karena itu, jangan membuat tampilan logis menggunakan kunci baris, penentu kolom, atau nilai kolom yang berisi informasi sensitif. Untuk mengetahui informasi tentang cara data layanan ditangani, lihat Pemberitahuan PrivasiGoogle Cloud .
Sebelum memulai
Lakukan langkah-langkah berikut jika Anda berencana menggunakan gcloud CLI:
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
Peran yang diperlukan
Untuk menggunakan tampilan logis, Anda memerlukan izin berikut:
Untuk mengelola tampilan logis:
- Untuk membuat, memperbarui, atau menghapus tampilan logis, Anda memerlukan peran Bigtable Admin (
roles/bigtable.admin
) pada instance. - Atau, Anda dapat meminta administrator untuk memberi Anda izin berikut di tingkat instance:
- Buat:
bigtable.logicalViews.create
- Update:
bigtable.logicalViews.update
- Hapus:
bigtable.logicalViews.delete
- Buat:
Untuk melihat dan membuat kueri tampilan logis:
- Untuk mencantumkan atau mendeskripsikan tampilan logis, Anda memerlukan peran Bigtable Reader (
roles/bigtable.reader
) di instance. Atau, Anda dapat meminta administrator untuk memberi Anda izin berikut di tingkat instance:
- Daftar:
bigtable.logicalViews.list
- Deskripsi:
bigtable.logicalViews.get
- Daftar:
Untuk membuat kueri tampilan logis, Anda memerlukan izin
bigtable.logicalViews.readRows
pada tampilan logis.
Untuk membuat tampilan logis:
- Anda harus memiliki izin
bigtable.tables.readRows
pada tabel sumber.
Untuk memberikan akses baca ke tampilan tertentu:
Anda dapat memberi pengguna izin untuk membaca tampilan logis tertentu, meskipun mereka tidak memiliki izin Bigtable lainnya. Untuk melakukannya, gunakan
kondisi IAM untuk memberikan izin bigtable.logicalViews.readRows
hanya pada tampilan tersebut:
- Berikan peran
bigtable.reader
kepada pengguna di project. Buat kondisi IAM yang membatasi izin
bigtable.logicalViews.readRows
ke tampilan logis tertentu. Contoh:resource.name == projects/PROJECT_ID/instances/INSTANCE_ID/logicalViews/VIEW
Ganti kode berikut:
PROJECT_ID
: Google Cloud project tempat instance Bigtable Anda berada.VIEW
: ID dengan panjang hingga 128 karakter untuk tampilan logis baru. ID harus unik di antara ID tabel dan ID tampilan dalam instance.INSTANCE_ID
: ID instance untuk membuat tampilan logis.
Untuk mengetahui informasi selengkapnya, lihat Mengelola akses ke resource menggunakan kondisi IAM.
Untuk mengetahui informasi selengkapnya tentang semua peran dan izin yang tersedia, lihat Kontrol akses Bigtable dengan IAM.
Membuat tampilan logis
Konsol
Buka daftar instance Bigtable di konsol Google Cloud .
Pilih instance.
Di panel navigasi, klik Bigtable Studio.
Buka tab baru dengan mengklik
, lalu pilih Editor.Di editor kueri, tulis kueri Anda. Jika kueri adalah SQL yang valid, pesan Valid akan ditampilkan.
Opsional: Untuk memformat pernyataan Anda dalam gaya SQL, klik Format.
Klik Run. Hasil kueri Anda akan muncul di tabel Results.
Jika Anda sudah puas dengan kueri tersebut, klik Simpan, lalu pilih Simpan tampilan.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan editor kueri, lihat Mengelola data menggunakan Bigtable Studio.
gcloud
Untuk membuat tampilan logis, gunakan perintah
gcloud bigtable logical-views create
.
gcloud bigtable logical-views create VIEW \
--instance=INSTANCE --query=QUERY
Ganti kode berikut:
VIEW
: ID dengan panjang hingga 128 karakter untuk tampilan logis baru. ID harus unik di antara ID tabel dan ID tampilan dalam instance.QUERY
: kueri GoogleSQL yang valid untuk BigtableINSTANCE
: ID instance untuk membuat tampilan logis
Opsional:
- Untuk melindungi tampilan logis dari penghapusan, tambahkan perintah dengan flag
--deletion-protection
. Jika Anda tidak menerapkan setelan ini, tampilan logis dapat dihapus. Anda juga dapat mengizinkan penghapusan tampilan logis secara eksplisit dengan menambahkan--no-deletion-protection
. Untuk mengetahui informasi selengkapnya, lihat bagian Mengubah perlindungan penghapusan dalam dokumen ini.
Memperbarui tampilan logis
Konsol
Buka daftar instance Bigtable di konsol Google Cloud .
Pilih instance dari daftar.
Di panel navigasi, klik Bigtable Studio. Daftar tampilan ditampilkan di penjelajah.
Opsional: 10 tampilan pertama di instance dicantumkan. Untuk melihat 10 lainnya, klik Tampilkan lebih banyak.
Di samping tampilan yang ingin Anda perbarui, klik menu tindakan more_vert, lalu klik Lihat definisi.
Ubah kueri.
Klik Run.
Setelah Anda memverifikasi bahwa panel hasil menampilkan data yang harus disertakan dalam tampilan, klik Simpan sebagai.
Dalam dialog, masukkan ID tampilan yang Anda ubah.
Dialog akan menampilkan pesan yang memperingatkan Anda bahwa Anda akan mengganti tampilan yang ada.
Klik Simpan.
gcloud
Untuk memperbarui tampilan logis agar menjalankan kueri yang berbeda, gunakan perintah
gcloud bigtable logical-views update
.
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE --query=QUERY
Ganti kode berikut:
VIEW
: ID tampilan logis yang akan diupdateQUERY
: kueri GoogleSQL yang validINSTANCE
: ID instance yang berisi tampilan logis
Untuk memperbarui tampilan logis guna mengubah perlindungan penghapusan, lihat bagian Mengubah perlindungan penghapusan dalam dokumen ini.
Menghapus tampilan logis
Tindakan ini bersifat permanen.
Jika tampilan logis mengaktifkan perlindungan penghapusan, Anda tidak dapat menghapusnya. Untuk menghapus tampilan logis yang mengaktifkan perlindungan penghapusan, Anda harus memperbarui tampilan logis untuk menonaktifkan perlindungan penghapusan. Untuk mengetahui informasi selengkapnya, lihat bagian Mengubah perlindungan penghapusan dalam dokumen ini.
Konsol
Buka daftar instance Bigtable di konsol Google Cloud .
Pilih instance dari daftar.
Di panel navigasi, klik Bigtable Studio. Daftar tampilan ditampilkan di penjelajah.
Opsional: 10 tampilan pertama di instance dicantumkan. Untuk melihat 10 lainnya, klik Tampilkan lebih banyak.
Luaskan Penayangan.
Di samping tampilan yang ingin Anda hapus, klik menu tindakan more_vert, lalu klik Hapus.
gcloud
Untuk menghapus tampilan logis, gunakan perintah
gcloud bigtable logical-views delete
.
gcloud bigtable logical-views delete VIEW \
--instance=INSTANCE
Ganti kode berikut:
VIEW
: ID tampilan logis yang akan diupdateINSTANCE
: ID instance yang berisi tampilan logis
Mendapatkan daftar tampilan logis untuk instance
Anda dapat melihat daftar tampilan logis untuk sebuah instance.
Konsol
Buka daftar instance Bigtable di konsol Google Cloud .
Pilih instance dari daftar.
Di panel navigasi, klik Bigtable Studio. Daftar tampilan ditampilkan di penjelajah.
Opsional: 10 tampilan pertama di instance dicantumkan. Untuk melihat 10 lainnya, klik Tampilkan lebih banyak.
gcloud
Untuk melihat daftar tampilan logis untuk instance, gunakan perintah
gcloud bigtable logical-views list
.
gcloud bigtable logical-views list --instance=INSTANCE
Ganti INSTANCE
dengan ID instance.
Menjelaskan tampilan logis
Untuk mendapatkan detail tentang tampilan logis, gunakan perintah gcloud bigtable logical-views
describe
.
gcloud bigtable logical-views describe VIEW \
--instance=INSTANCE
Terminal akan menampilkan detail yang mirip dengan berikut ini:
createTime: '2025-03-07T19:49:56.316578Z'
etag: W/"/v1/17919275593532352351"
name: projects/my-project/instances/my-instance/logicalViews/my-view
query: SELECT street FROM addresses
updateTime: '2025-03-07T19:49:56.316578Z'
deletion_protection: true
Membuat kueri tampilan logis
Setelah membuat tampilan logis, Anda dapat membuat kuerinya menggunakan SQL, seperti membuat kueri
tabel biasa. Anda dapat menggunakan tampilan logis dalam klausa FROM
dari pernyataan SELECT
.
Di editor kueri, masukkan kueri GoogleSQL yang mereferensikan nama tampilan. Misalnya, jika tampilan Anda bernama MyLogicalView
:
SELECT *
FROM MyLogicalView
LIMIT 100;
Untuk mengetahui informasi selengkapnya tentang cara mengeksekusi kueri SQL di Bigtable, lihat Membuat kueri data dengan SQL di editor kueri.
Mengubah perlindungan penghapusan
Perlindungan penghapusan mencegah penghapusan tampilan logis. Untuk mengaktifkan atau menonaktifkan perlindungan penghapusan untuk tampilan logis, Anda memerlukan izin yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat bagian Peran yang diperlukan dalam dokumen ini.
gcloud
Untuk mengaktifkan perlindungan penghapusan untuk tampilan logis, jalankan perintah
gcloud bigtable logical-views update
:
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE \
--deletion-protection
Untuk menonaktifkan perlindungan penghapusan untuk tampilan logis, jalankan perintah berikut:
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE \
--no-deletion-protection
Ganti kode berikut:
VIEW
: ID dengan panjang hingga 128 karakter untuk tampilan logis. ID harus unik di antara ID tabel dan tampilan dalam instance.INSTANCE
: ID instance untuk memperbarui tampilan logis.
Langkah berikutnya
- Ringkasan GoogleSQL untuk Bigtable
- Tabel virtual terwujud berkelanjutan
- Ringkasan tampilan yang diberi otorisasi