Membuat dan mengelola tabel

Halaman ini menjelaskan cara membuat dan melakukan 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. Untuk daftar lengkap perintah, lihat referensi cbt.

Anda juga dapat membuat dan mengelola tabel secara terprogram dengan library klien Cloud Bigtable atau API layanan.

Untuk mengetahui petunjuk tentang cara membuat dan mengelola tampilan tabel yang diotorisasi, lihat tampilan yang diotorisasi.

Sebelum memulai

Jika Anda berencana untuk menggunakan alat command line untuk mengelola tabel, ikuti langkah-langkah di bagian ini.

  1. Instal gcloud CLI.

  2. Opsional: Jika Anda berencana menggunakan CLI cbt , ikuti petunjuk di Menginstal CLI cbt , termasuk langkah-langkah untuk membuat file .cbtrc.

    Petunjuk cbt CLI di halaman ini mengasumsikan bahwa Anda telah menetapkan project ID dan ID instance dalam file .cbtrc. Atau, Anda dapat menggunakan flag -project dan -instance untuk menetapkan nilai ini setiap kali Anda menjalankan perintah cbt CLI.

Membuat tabel

Saat membuat tabel, Anda tidak perlu menentukan grup kolom yang akan digunakan dalam tabel. Anda dapat menambahkan atau menghapus family kolom nanti.

Konsol

Untuk membuat tabel baru dalam instance:

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Klik instance yang tabelnya ingin Anda lihat.

  3. Klik Tabel di panel kiri.

    Halaman Tables menampilkan daftar tabel dalam instance.

  4. Klik Buat tabel.

  5. Masukkan ID tabel untuk tabel.

  6. Opsional: Tambahkan column family.

    Anda dapat menambahkan kolom sekarang atau nanti. Tabel harus memiliki setidaknya satu family kolom sebelum Anda dapat menulis data ke dalamnya atau membaca aliran perubahan dari tabel tersebut.

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

    1. Pilih Aktifkan aliran perubahan.

    2. Di kolom Waktu retensi, masukkan angka dari 1 hingga 7 untuk menentukan jumlah hari data stream perubahan harus dipertahankan.

  8. Opsional: Jika Anda tidak ingin Bigtable membuat cadangan harian tabel, hapus centang pada kotak Aktifkan pencadangan otomatis. Untuk mengetahui informasi selengkapnya, lihat Menggunakan pencadangan otomatis.

  9. Opsional: Aktifkan akses yang jarang untuk tabel sebagai bagian dari penyimpanan bertingkat (Pratinjau):

    1. Pilih Aktifkan penyimpanan bertingkat.

    2. Di kolom Threshold usia, masukkan jumlah hari setelah Bigtable memindahkan data dari penyimpanan SSD ke penyimpanan akses jarang. Angka harus 30 atau lebih besar.

  10. Opsional, Edisi Enterprise Plus: Secara default, pencadangan harian dibuat di semua cluster dalam instance tabel. Untuk memilih cluster tempat Bigtable harus membuat cadangan harian tabel, pilih lokasi cluster di kolom Pilih cluster yang akan dicadangkan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi lokasi cluster pencadangan otomatis.

  11. Opsional: Untuk mengonfigurasi skema row key, pilih Tentukan skema row key, lalu lakukan hal berikut:

    1. Di daftar Encoding, pilih jenis encoding untuk skema row key Anda.

    2. Jika Anda memilih DelimitedBytes, di kolom Delimiter, masukkan pemisah yang memisahkan segmen dalam kunci baris yang ada. Nilai defaultnya adalah simbol hash (#).

    3. Di kolom Segmen, masukkan nama untuk segmen, seperti device_type.

    4. Di daftar Jenis, pilih jenis data segmen row key.

    5. Bergantung pada jenis data yang dipilih, di daftar Byte encoding, biarkan jenis encoding default segmen row key atau ubah.

    6. Opsional: jika row key Anda memiliki lebih dari satu bagian, klik Tambahkan segmen kunci baris untuk menambahkan kolom lainnya.

  12. Klik Create.

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 family kolom yang dipisahkan koma. Anda dapat menambahkan family kolom lainnya 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 jangka waktu Bigtable harus menyimpan data aliran perubahan untuk tabel. Waktu harus antara satu hingga tujuh hari. Unit yang dapat diterima adalah hari (d), jam (h), menit (m), dan detik (s). Contoh: 48h atau 6d

  • Agar Bigtable membuat cadangan harian tabel Anda dan mempertahankan setiap cadangan selama periode retensi default tujuh hari, gunakan flag --enable-automated-backup saat Anda membuat tabel.

    gcloud bigtable instances tables create TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --column-families=COLUMN-FAMILIES \
        --enable-automated-backup
    

    Untuk mengonfigurasi periode retensi data yang berbeda, gunakan flag --automated-backup-retention-period, bukan flag --enable-automated-backup, dan berikan nilai hingga 90 hari. Nilai harus dinyatakan sebagai angka dengan satuan m, h, atau d (menit, jam, atau hari), seperti 15d untuk 15 hari.

    Edisi Enterprise Plus: Secara default, pencadangan harian dibuat di semua cluster dalam instance tabel. Untuk mengonfigurasi lokasi cluster tempat Bigtable harus membuat cadangan harian tabel, gunakan flag --automated-backup-locations, bukan flag --enable-automated-backup. Berikan daftar lokasi cluster yang dipisahkan koma tempat pencadangan otomatis harus diaktifkan. Contoh: us-central1-a,us-east1-b,europe-west1-c.

  • Untuk mengaktifkan akses jarang sebagai bagian dari penyimpanan bertingkat (Pratinjau), gunakan flag
    --tiered-storage-infrequent-access-older-than dan ganti AGE_THRESHOLD dengan nilai minimal 30 hari. Unit yang dapat diterima adalah hari (d), jam (h), menit (m), dan detik (s). Contoh: 32d atau 32d12h.

    gcloud beta bigtable instances tables create TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --tiered-storage-infrequent-access-older-than=AGE_THRESHOLD
    

cbt

Gunakan perintah berikut, dengan mengganti TABLE_NAME dengan nama tabel Anda. Anda tidak dapat menggunakan CLI cbt untuk membuat tabel dengan aliran perubahan yang diaktifkan.

cbt createtable TABLE_ID

Opsional: Untuk membuat grup kolom agregasi dalam tabel, tambahkan jenis agregasi ke nama grup kolom. Contoh berikut membuat grup kolom gabungan dengan kebijakan pengumpulan 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 family kolom yang dipisahkan koma. Anda dapat menambahkan family kolom lainnya nanti.
  • TYPE: jenis agregat. Harus berupa intsum, intmin, intmax, atau inthll.

Untuk opsi selengkapnya, lihat Membuat tabel dalam referensi CLI cbt.

Jika Anda tidak sengaja menghapus tabel, jangan mencoba membuat tabel yang terhapus secara manual. Gunakan perintah gcloud CLI bigtable instances tables undelete untuk memulihkan tabel.

Opsional: Memisahkan tabel menurut row key

Untuk mengoptimalkan performa, Bigtable terus membagi tabel di beberapa node, mendistribusikan secara merata jumlah data yang disimpan di setiap node, dan menjaga agar baris yang sering diakses tersebar sejauh mungkin. Proses berkelanjutan ini bersifat otomatis.

Saat membuat tabel baru, Anda dapat menentukan pemisahan tabel awal. Bigtable membagi tabel pada kunci baris yang Anda berikan. Jika ruang kunci terlalu besar, Bigtable akan membagi tabel lebih lanjut. Pemisahan awal 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 membagi tabel terlebih dahulu jika Anda akan menulis banyak baris ke tabel.

Membagi tabel sebelum dibuat tidaklah penting, tetapi bermanfaat karena memberikan informasi Bigtable tentang kemungkinan lokasi beban dan jejak data saat tabel dibuat. Pra-pemisahan mencegah Bigtable harus memisahkan tabel dan menyeimbangkan ulang beban sekaligus saat data tiba.

Konsol

Anda tidak dapat memisahkan baris sebelumnya saat membuat tabel menggunakan konsolGoogle 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 family kolom yang dipisahkan koma. Anda dapat menambahkan family kolom lainnya nanti.
  • SPLITS: kunci baris tempat tabel harus dibagi pada awalnya—misalnya, 10,20.

cbt

Untuk memisahkan tabel sebelumnya berdasarkan row key, gunakan sintaksis berikut untuk membuat tabel. Ganti [TABLE_NAME] dengan nama tabel dan [SPLITS] dengan daftar awalan kunci baris yang dipisahkan koma untuk digunakan pada pra-pemisahan.

```none
cbt createtable [TABLE_NAME] splits=[SPLITS]
```

Misalnya, untuk membagi tabel my-table sebelumnya pada kunci baris yang dimulai dengan 10 dan 20:

```none
cbt createtable my-table splits=10,20
```

Mengubah grup kolom dalam tabel

Anda dapat menambahkan family kolom dalam tabel yang ada. Jika proteksi dari penghapusan tidak diaktifkan di tabel, Anda dapat menghapus grup kolom di tabel.

Menambahkan grup kolom

Konsol

  1. Buka daftar instance Bigtable di konsol Google Cloud .

    Buka daftar instance

  2. Klik instance yang tabelnya ingin Anda lihat.

  3. Klik Tabel di panel kiri.

    Halaman Tables menampilkan daftar tabel dalam instance.

  4. Klik