Membuat dan mengelola tabel
Halaman ini menjelaskan cara membuat dan menjalankan operasi pada tabel Bigtable menggunakan konsol Google Cloud, Google Cloud CLI, atau CLI cbt
.
CLI cbt
mendukung beberapa perintah yang tidak dijelaskan di halaman ini. Lihat
referensi cbt
untuk mengetahui daftar lengkap perintah.
Anda juga dapat membuat dan mengelola tabel secara terprogram dengan library klien atau API layanan Cloud Bigtable.
Untuk mengetahui petunjuk tentang cara membuat dan mengelola tampilan yang diotorisasi dari tabel, lihat tampilan yang diotorisasi.
Sebelum memulai
Jika Anda berencana menggunakan tabel menggunakan alat command line, ikuti langkah-langkah di bagian ini.
Instal gcloud CLI.
Opsional: Jika Anda berencana menggunakan
cbt
CLI, ikuti petunjuk di Menginstalcbt
CLI , termasuk langkah untuk membuat file.cbtrc
.Petunjuk
cbt
CLI di halaman ini mengasumsikan bahwa Anda telah menetapkan project ID dan instance ID dalam file.cbtrc
. Atau, Anda dapat menggunakan flag-project
dan-instance
untuk menetapkan nilai ini setiap kali menjalankan perintah CLIcbt
.
Membuat tabel
Saat membuat tabel, Anda tidak perlu menentukan grup kolom yang akan digunakan dalam tabel. Anda dapat menambahkan atau menghapus keluarga kolom nanti.
Konsol
Untuk membuat tabel baru di instance:
Buka daftar instance Bigtable di konsol Google Cloud.
Klik instance yang tabelnya ingin Anda lihat.
Klik Tabel di panel kiri.
Halaman Tabel menampilkan daftar tabel dalam instance.
Masukkan ID tabel untuk tabel.
Menambahkan keluarga kolom (opsional).
Anda dapat menambahkan kolom sekarang atau nanti. Tabel harus memiliki minimal satu keluarga kolom sebelum Anda dapat menulis data ke dalamnya. Tabel harus memiliki setidaknya satu keluarga kolom sebelum Anda dapat menulis data ke tabel tersebut atau membaca aliran perubahan darinya.
Opsional: Aktifkan aliran perubahan untuk tabel. Sebelum mengaktifkan aliran perubahan, pastikan Anda memahami implikasinya, termasuk peningkatan biaya penyimpanan dan persyaratan penggunaan profil aplikasi. Untuk meninjau detail ini, lihat Ringkasan aliran perubahan.
Pilih Aktifkan aliran data perubahan.
Di kolom Expiration time, masukkan angka dari 1 hingga 7 untuk menentukan jumlah hari data aliran perubahan harus dipertahankan.
Klik Create.
Opsional: Jika Anda tidak ingin Bigtable membuat cadangan harian tabel, hapus centang pada kotak di samping Aktifkan cadangan otomatis. Untuk informasi selengkapnya, lihat Menggunakan pencadangan otomatis (Pratinjau).
Klik Buat tabel.
gcloud
Untuk membuat tabel, jalankan perintah berikut. Lihat gcloud bigtable instances tables create untuk mengetahui daftar lengkap opsi.
gcloud bigtable instances tables create TABLE_ID \
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--column-families=COLUMN-FAMILIES
Ganti kode berikut:
- TABLE_ID: ID unik untuk tabel baru
- INSTANCE_ID: ID instance
- PROJECT_ID: project yang akan berisi tabel baru
- COLUMN-FAMILIES: daftar nama keluarga kolom yang dipisahkan koma. Anda dapat menambahkan lebih banyak keluarga kolom nanti.
Opsional:
Untuk melindungi tabel dari penghapusan, tambahkan perintah dengan
--deletion-protection
. Jika Anda tidak menerapkan setelan ini, tabel dapat dihapus. Anda juga dapat mengizinkan penghapusan tabel secara eksplisit dengan menambahkan--no-deletion-protection
.Untuk mengaktifkan aliran perubahan untuk tabel, tentukan periode retensi untuk data aliran perubahan. Sebelum mengaktifkan aliran perubahan, pastikan Anda memahami implikasinya, termasuk peningkatan biaya penyimpanan dan persyaratan penggunaan profil aplikasi. Untuk meninjau detail ini, lihat Ringkasan aliran perubahan.
--change-stream-retention-period=RETENTION_PERIOD
Ganti RETENTION_PERIOD dengan durasi waktu yang harus dipertahankan Bigtable untuk data aliran perubahan tabel. Waktunya harus antara satu hingga tujuh hari. Unit yang dapat diterima adalah hari (d), jam (h), menit (m), dan detik (s). Contoh:
48h
atau6d
Agar Bigtable dapat membuat cadangan harian tabel Anda, aktifkan pencadangan otomatis (Pratinjau):
gcloud bigtable instances tables create TABLE_ID \ --instance=INSTANCE_ID \ --project=PROJECT_ID \ --column-families=COLUMN-FAMILIES \ --enable-automated-backup
cbt
Gunakan perintah berikut, dengan mengganti TABLE_NAME
dengan nama tabel Anda. Anda tidak dapat menggunakan cbt
CLI untuk membuat tabel dengan change stream yang diaktifkan.
cbt createtable TABLE_ID
Opsional: Untuk membuat grup kolom agregat dalam tabel, tambahkan nama grup kolom dengan jenis agregasi. Kode berikut membuat grup kolom gabungan dengan kebijakan pembersihan sampah never
.
cbt createtable TABLE_ID families=FAMILY_NAME:never:TYPE
Ganti kode berikut:
- TABLE_ID: ID unik untuk tabel baru
- FAMILY_NAME: : daftar nama keluarga kolom yang dipisahkan koma. Anda dapat menambahkan lebih banyak keluarga kolom nanti.
- TYPE: jenis agregat. Harus berupa
intsum
,intmin
,intmax
, atauinthll
.
Untuk opsi lainnya, lihat Membuat
tabel dalam
referensi CLI
cbt
.
Jika Anda tidak sengaja menghapus tabel, jangan mencoba membuat tabel yang dihapus secara manual. Gunakan perintah gcloud CLI bigtable instances tables undelete
untuk memulihkan tabel.
Opsional: Memisahkan tabel berdasarkan kunci baris
Untuk mengoptimalkan performa, Bigtable terus membagi tabel di beberapa node, mendistribusikan jumlah data yang disimpan di setiap node secara merata, dan menjaga agar baris yang sering diakses tetap terpisah jika memungkinkan. Proses yang sedang berlangsung ini bersifat otomatis.
Saat membuat tabel baru, Anda dapat menentukan pemisahan tabel awal. Bigtable membagi tabel berdasarkan kunci baris yang Anda berikan. Jika ruang kunci terlalu besar, Bigtable akan membagi tabel lebih lanjut. Pemisahan awal akan dipertahankan selama sekitar 24 jam setelah pembuatan tabel selesai. Anda dapat memberikan hingga 100 kunci baris tempat pemisahan awal harus terjadi.
Misalnya, Anda dapat menetapkan baris tertentu untuk memisahkan tabel terlebih dahulu jika akan menulis banyak baris ke tabel.
Membagi tabel terlebih dahulu tidak penting, tetapi bermanfaat karena memberikan informasi Bigtable tentang tempat beban dan jejak data kemungkinan akan ditempatkan saat tabel dibuat. Pemisahan awal mencegah Bigtable harus membagi tabel dan menyeimbangkan beban sekaligus saat data tiba.
Konsol
Anda tidak dapat memisahkan baris terlebih dahulu saat membuat tabel menggunakan Konsol Google Cloud.
gcloud
Untuk memisahkan tabel menurut kunci baris, jalankan perintah berikut. Lihat gcloud bigtable instances tables create untuk mengetahui daftar lengkap opsi.
gcloud bigtable instances tables create TABLE_ID\
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--column-families=COLUMN-FAMILIES \
--splits=SPLITS
Ganti kode berikut:
- TABLE_ID: ID unik untuk tabel baru
- INSTANCE_ID: ID instance
- PROJECT_ID: project yang akan berisi tabel baru
- COLUMN-FAMILIES: daftar nama keluarga kolom yang dipisahkan koma. Anda dapat menambahkan lebih banyak keluarga kolom nanti.
- SPLITS: kunci baris tempat tabel awalnya harus
dibagi—misalnya,
10,20
.
cbt
Untuk memisahkan tabel terlebih dahulu berdasarkan kunci baris, gunakan sintaksis berikut untuk membuat tabel. Ganti [TABLE_NAME]
dengan nama tabel dan [SPLITS]
dengan daftar awalan kunci baris yang dipisahkan koma yang akan digunakan untuk pra-pemisahan.
```
cbt createtable [TABLE_NAME] splits=[SPLITS]
```
Misalnya, untuk memisahkan tabel my-table
terlebih dahulu pada kunci baris yang dimulai dengan
10
dan 20
:
```
cbt createtable my-table splits=10,20
```
Mengubah keluarga kolom dalam tabel
Anda dapat menambahkan grup kolom dalam tabel yang ada. Jika tabel tidak mengaktifkan perlindungan penghapusan, Anda dapat menghapus keluarga kolom dalam tabel.
Menambahkan grup kolom
Konsol
Buka daftar instance Bigtable di konsol Google Cloud.
Klik instance yang tabelnya ingin Anda lihat.
Klik Tabel di panel kiri.
Halaman Tabel menampilkan daftar tabel dalam instance.
Klik
Edit untuk tabel yang ingin Anda ubah.Untuk setiap keluarga kolom yang ingin Anda tambahkan, selesaikan hal berikut:
- Klik Tambahkan keluarga kolom.
- Berikan ID unik untuk grup kolom.
- Tetapkan kebijakan pembersihan sampah memori untuk grup kolom.
- Klik Done.
- Klik Save.
gcloud
Anda tidak dapat menggunakan gcloud CLI untuk menambahkan keluarga kolom ke tabel.
cbt
Untuk menambahkan grup kolom ke tabel, gunakan perintah berikut:
cbt createfamily TABLE_ID FAMILY_NAME
Misalnya, untuk menambahkan grup kolom cf1
dan cf2
ke tabel my-table
:
cbt createfamily my-table cf1
cbt createfamily my-table cf2
Opsional: Untuk menambahkan grup kolom agregat ke tabel, tambahkan nama grup kolom dengan jenis agregasi. Kode berikut membuat tabel yang memiliki grup kolom gabungan dengan kebijakan pembersihan sampah never
.
cbt createfamily TABLE_ID FAMILY_NAME:never:TYPE
Ganti kode berikut:
- TABLE_ID: ID tabel
- FAMILY_NAME: : daftar nama keluarga kolom yang dipisahkan koma. Anda dapat menambahkan lebih banyak keluarga kolom nanti.
- TYPE: jenis agregasi. Harus berupa
intsum
,intmin
,intmax
, atauinthll
.
Menghapus keluarga kolom
Anda dapat menghapus keluarga kolom dalam tabel yang tidak mengaktifkan perlindungan penghapusan.
Konsol
Buka daftar instance Bigtable di konsol Google Cloud.
Klik instance yang tabelnya ingin Anda lihat.
Klik Tabel di panel kiri.
Halaman Tabel menampilkan daftar tabel dalam instance.
Klik
Edit untuk tabel yang ingin Anda ubah.Untuk setiap grup kolom yang ingin Anda hapus, selesaikan langkah-langkah berikut:
- Arahkan kursor ke baris untuk keluarga kolom yang ingin dihapus.
- Klik .
Klik Simpan.
Untuk mengonfirmasi bahwa Anda memahami bahwa penghapusan grup kolom bersifat permanen dan semua data dalam grup kolom akan dihapus, ketik "Hapus grup kolom" di kolom teks.
Klik Konfirmasi.
gcloud
Anda tidak dapat menggunakan gcloud CLI untuk menghapus keluarga kolom dari tabel.
cbt
Untuk menghapus grup kolom dari tabel, gunakan perintah berikut, dengan mengganti
[TABLE_NAME]
dengan nama tabel dan [FAMILY_NAME]
dengan nama grup
kolom:
cbt deletefamily [TABLE_NAME] [FAMILY_NAME]
Misalnya, untuk menghapus keluarga kolom cf2
dari tabel my-table
:
cbt deletefamily my-table cf2
Melihat daftar tabel
Konsol
Untuk melihat daftar tabel dalam instance:
Buka daftar instance Bigtable di konsol Google Cloud.
Klik instance yang tabelnya ingin Anda lihat.
Klik Tabel di panel kiri.
Halaman Tabel menampilkan daftar tabel dalam instance.
- Klik panah di samping ID tabel untuk meluaskan daftar replika tabel.
- Klik Lihat Metrik di samping nama tabel untuk melihat data pemantauan untuk tabel tersebut.
gcloud
Untuk melihat daftar tabel, jalankan perintah gcloud bigtable instances tables list.
gcloud bigtable instances tables list --instances=INSTANCE_IDS
Ganti kode berikut:
- INSTANCE_IDS: daftar ID instance yang dipisahkan koma.
cbt
Untuk melihat daftar tabel dalam instance, jalankan perintah berikut:
cbt ls INSTANCE_ID
Ganti kode berikut:
INSTANCE_ID
: ID permanen untuk instance.
C++
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat Library klien Bigtable.
Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat Library klien Bigtable.
Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat Library klien Bigtable.
Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat Library klien Bigtable.
Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat Library klien Bigtable.
Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat Library klien Bigtable.
Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Bigtable, lihat Library klien Bigtable.
Untuk melakukan autentikasi ke Bigtable, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Melihat informasi tentang tabel
Konsol
Untuk melihat informasi tentang tabel:
Buka daftar instance Bigtable di konsol Google Cloud.
Klik instance yang tabelnya ingin Anda lihat.
Klik Tabel di panel kiri.
Halaman Tabel menampilkan daftar tabel dalam instance. Untuk setiap tabel, konsol Google Cloud menampilkan jumlah cluster tempat tabel disimpan, status tabel, penggunaan penyimpanan, dan ID untuk cadangan tabel saat ini.
Untuk melihat nama keluarga kolom untuk tabel, klik
. Untuk menutup panel Edit tabel, klik Batal.Untuk melihat detail tambahan tentang tabel, termasuk metrik tingkat tabel dan status replikasi, klik nama tabel.
gcloud
Untuk melihat informasi tentang tabel, jalankan perintah gcloud bigtable instances tables describe.
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID
Ganti kode berikut:
- TABLE_ID: ID unik tabel
- INSTANCE_ID: ID instance
cbt
Anda dapat menggunakan
cbt
CLI
untuk mendapatkan daftar keluarga kolom yang ada dalam
tabel.
Gunakan perintah berikut, dengan mengganti [TABLE_NAME]
dengan nama tabel:
cbt ls [TABLE_NAME]
Menetapkan kebijakan pembersihan sampah memori
Kebijakan pembersihan sampah memori memberi tahu Bigtable data mana yang harus disimpan dan data mana yang akan ditandai untuk dihapus. Kebijakan pembersihan sampah memori ditetapkan di tingkat grup kolom. Anda dapat menetapkannya saat membuat tabel atau nanti.
Saat membuat grup kolom, Anda dapat menentukan jumlah sel yang ingin dipertahankan di setiap kolom dalam grup kolom tersebut. Jika Anda tidak menentukan setelan ini, Bigtable akan menggunakan salah satu setelan default berikut:
Jika Anda membuat grup kolom dengan klien HBase Cloud Bigtable untuk Java atau shell HBase, atau alat lain yang menggunakan klien HBase untuk Java, Bigtable hanya mempertahankan 1 sel untuk setiap persimpangan baris/kolom di grup kolom. Setelan default ini konsisten dengan HBase.
Jika Anda membuat keluarga kolom menggunakan Konsol Google Cloud, library klien lainnya, atau
cbt
CLI , Bigtable akan mempertahankan jumlah sel yang tidak terbatas di setiap kolom.
Lihat Mengonfigurasi kebijakan pembersihan sampah memori untuk mengetahui petunjuk mendetail tentang cara melihat, menetapkan, dan memperbarui kebijakan pembersihan sampah memori.
Mencadangkan dan memulihkan tabel
Lihat Mengelola cadangan untuk mengetahui petunjuk tentang cara mencadangkan tabel dan memulihkan dari cadangan ke tabel baru.
Jika telah mengaktifkan pencadangan otomatis saat membuat tabel, Anda dapat mengubah konfigurasi pencadangan otomatis untuk tabel guna mengaktifkan atau menonaktifkan pencadangan otomatis, atau mengubah periode retensi hingga 90 hari sejak waktu pembuatan cadangan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan pencadangan otomatis.
Mengaktifkan, menonaktifkan, atau mengonfigurasi aliran perubahan
Untuk mengetahui petunjuk tentang tugas berikut, lihat Mengonfigurasi aliran perubahan.
- Mengaktifkan aliran perubahan pada tabel yang ada
- Menonaktifkan aliran data perubahan
- Memperbarui periode retensi untuk aliran perubahan
Menghapus tabel
Menghapus tabel juga akan menghapus semua tampilan yang diotorisasi dari tabel tersebut. Anda tidak dapat menghapus tabel jika tampilan tabel yang diotorisasi telah mengaktifkan perlindungan penghapusan.
Konsol
Buka daftar instance Bigtable di konsol Google Cloud.
Klik instance yang tabelnya ingin Anda lihat.
Klik Tabel di panel kiri.
Halaman Tabel menampilkan daftar tabel dalam instance.
Klik
untuk tabel yang ingin Anda hapus.Klik Hapus.
Untuk mengonfirmasi bahwa Anda mengetahui bahwa tindakan ini akan menghapus tabel dari semua cluster dalam instance dan bahwa Anda hanya memiliki waktu tujuh hari untuk membatalkan penghapusan tabel, ketik ID tabel di kotak teks.
Klik Hapus.
gcloud
Untuk menghapus tabel, jalankan perintah gcloud bigtable instances tables delete.
gcloud bigtable instances tables delete --instance=INSTANCE_ID
Ganti kode berikut:
- INSTANCE_ID: ID instance
Di terminal, masukkan
y
untuk mengonfirmasi penghapusan tabel.
cbt
Untuk menghapus tabel, gunakan perintah berikut, dengan mengganti [TABLE_NAME]
dengan nama tabel:
cbt deletetable [TABLE_NAME]
Membatalkan penghapusan tabel
Jika tidak sengaja menghapus tabel, Anda dapat menggunakan perintah gcloud CLI bigtable instances tables undelete
untuk membatalkan penghapusan, atau memulihkan tabel. Jangan mencoba membuat tabel yang dihapus secara manual terlebih dahulu.
Untuk membatalkan penghapusan tabel, jalankan perintah berikut di terminal:
gcloud bigtable instances tables undelete TABLE_ID --instance=INSTANCE_ID
Ganti kode berikut:
- TABLE_ID: ID unik untuk tabel
- INSTANCE_ID: ID instance
Batasan berikut berlaku:
- Kemampuan untuk membatalkan penghapusan tabel tersedia selama sekitar tujuh hari sejak penghapusan tabel.
- Anda tidak dapat membatalkan penghapusan tabel menggunakan konsol Google Cloud, library klien Cloud Bigtable, atau CLI
cbt
. - Anda tidak dapat membatalkan penghapusan tabel dari instance yang telah dihapus.
- Anda tidak dapat membatalkan penghapusan tabel yang mengaktifkan CMEK.
- Semua binding kebijakan IAM terperinci yang dimiliki tabel sebelum penghapusan tidak akan dipulihkan saat tabel dibatalkan penghapusannya.
Anda dapat memeriksa status operasi undelete
di
log audit secara opsional.
Mengubah perlindungan penghapusan
Anda dapat mengaktifkan atau menonaktifkan perlindungan penghapusan untuk tabel jika Anda adalah akun utama dalam peran yang menyertakan izin bigtable.tables.update
, seperti roles/bigtable.admin
. Perlindungan penghapusan mencegah penghapusan tabel, semua grup kolom dalam tabel, dan instance yang berisi tabel.
Mengaktifkan perlindungan penghapusan untuk tabel tidak akan mengaktifkannya untuk tampilan yang diotorisasi dari tabel. Demikian pula, menonaktifkan perlindungan penghapusan tabel tidak akan menonaktifkannya untuk tampilan tabel yang diotorisasi. Anda harus memperbarui tampilan tabel yang diizinkan secara terpisah.
Konsol
Buka daftar instance Bigtable di konsol Google Cloud.
Klik instance yang tabelnya ingin Anda lihat.
Klik Tabel di panel kiri.
Halaman Tabel menampilkan daftar tabel dalam instance.
Klik
di samping ID tabel.Untuk mengaktifkan perlindungan penghapusan, klik Prevent deletion. Untuk menonaktifkan perlindungan penghapusan, klik Enable deletion. Hanya opsi yang valid yang terlihat.
gcloud
Untuk mengaktifkan perlindungan penghapusan untuk tabel, jalankan perintah gcloud bigtable instances
table update
:
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--deletion-protection
Untuk menonaktifkan perlindungan penghapusan untuk tabel, jalankan perintah berikut:
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--no-deletion-protection
Ganti kode berikut:
+ TABLE_ID: the unique identifier for the table
+ INSTANCE_ID: the ID of the instance
cbt
Anda tidak dapat menggunakan
CLI cbt
untuk mengaktifkan atau menonaktifkan perlindungan
penghapusan.