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:

  1. Install the Google Cloud CLI.

  2. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  3. 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

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
  • 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:

  1. Berikan peran bigtable.reader kepada pengguna di project.
  2. 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

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Pilih instance.

  3. Di panel navigasi, klik Bigtable Studio.

  4. Buka tab baru dengan mengklik , lalu pilih Editor.

    1. Di editor kueri, tulis kueri Anda. Jika kueri adalah SQL yang valid, pesan Valid akan ditampilkan.

    2. Opsional: Untuk memformat pernyataan Anda dalam gaya SQL, klik Format.

    3. Klik Run. Hasil kueri Anda akan muncul di tabel Results.

    4. 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 Bigtable
  • INSTANCE: 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

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Pilih instance dari daftar.

  3. Di panel navigasi, klik Bigtable Studio. Daftar tampilan ditampilkan di penjelajah.

  4. Opsional: 10 tampilan pertama di instance dicantumkan. Untuk melihat 10 lainnya, klik Tampilkan lebih banyak.

  5. Di samping tampilan yang ingin Anda perbarui, klik menu tindakan more_vert, lalu klik Lihat definisi.

  6. Ubah kueri.

  7. Klik Run.

  8. Setelah Anda memverifikasi bahwa panel hasil menampilkan data yang harus disertakan dalam tampilan, klik Simpan sebagai.

  9. Dalam dialog, masukkan ID tampilan yang Anda ubah.

    Dialog akan menampilkan pesan yang memperingatkan Anda bahwa Anda akan mengganti tampilan yang ada.

  10. 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 diupdate
  • QUERY: kueri GoogleSQL yang valid
  • INSTANCE: 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

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Pilih instance dari daftar.

  3. Di panel navigasi, klik Bigtable Studio. Daftar tampilan ditampilkan di penjelajah.

  4. Opsional: 10 tampilan pertama di instance dicantumkan. Untuk melihat 10 lainnya, klik Tampilkan lebih banyak.

  5. Luaskan Penayangan.

  6. 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 diupdate
  • INSTANCE: ID instance yang berisi tampilan logis

Mendapatkan daftar tampilan logis untuk instance

Anda dapat melihat daftar tampilan logis untuk sebuah instance.

Konsol

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Pilih instance dari daftar.

  3. Di panel navigasi, klik Bigtable Studio. Daftar tampilan ditampilkan di penjelajah.

  4. 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