Instance, cluster, dan node

Untuk menggunakan Bigtable , Anda perlu membuat instance, yang berisi cluster yang dapat terhubung ke aplikasi Anda. Setiap cluster berisi node, unit komputasi yang mengelola data Anda dan melakukan tugas pemeliharaan.

Halaman ini memberikan informasi lebih lanjut mengenai instance, cluster, dan node Bigtable.

Sebelum membaca halaman ini, Anda harus sudah memahami ringkasan Bigtable.

Instance

Instance Bigtable adalah container untuk data Anda. Instance memiliki satu atau beberapa cluster, yang berada di zona berbeda. Setiap cluster memiliki setidaknya 1 node.

Tabel adalah bagian dari instance, bukan milik cluster atau node. Jika Anda memiliki instance dengan lebih dari satu cluster, berarti Anda menggunakan replikasi. Artinya, Anda tidak dapat menetapkan tabel untuk masing-masing cluster atau membuat kebijakan pembersihan sampah memori yang unik untuk setiap cluster dalam instance. Anda juga tidak dapat membuat setiap cluster menyimpan kumpulan data yang berbeda dalam tabel yang sama.

Instance memiliki beberapa properti penting yang perlu Anda ketahui:

  • Jenis penyimpanan (SSD atau HDD)
  • Profil aplikasi, terutama untuk instance yang menggunakan replikasi

Bagian berikut menjelaskan properti ini.

Jenis penyimpanan

Saat membuat instance, Anda harus memilih apakah cluster instance akan menyimpan data di solid-state drive (SSD) atau hard disk drive (HDD). SSD sering kali, tetapi tidak selalu, merupakan pilihan yang paling efisien dan hemat biaya.

Pilihan antara SSD dan HDD bersifat permanen, dan setiap cluster dalam instance Anda harus menggunakan jenis penyimpanan yang sama. Jadi, pastikan Anda memilih jenis penyimpanan yang tepat untuk kasus penggunaan Anda. Lihat Memilih antara penyimpanan SSD dan HDD untuk mengetahui informasi selengkapnya guna membantu Anda memutuskan.

Profil aplikasi

Setelah Anda membuat instance, Bigtable menggunakan instance untuk menyimpan profil aplikasi, atau profil aplikasi. Untuk instance yang menggunakan replikasi, profil aplikasi mengontrol cara aplikasi Anda terhubung ke cluster instance.

Jika instance Anda tidak menggunakan replikasi, Anda tetap dapat menggunakan profil aplikasi untuk memberikan ID terpisah bagi setiap aplikasi, atau setiap fungsi dalam aplikasi. Anda kemudian dapat melihat diagram terpisah untuk setiap profil aplikasi di Konsol Google Cloud.

Untuk mempelajari profil aplikasi lebih lanjut, lihat profil aplikasi. Untuk mempelajari cara menyiapkan profil aplikasi instance, lihat Mengonfigurasi profil aplikasi.

Cluster

Cluster mewakili layanan Bigtable di lokasi tertentu. Setiap cluster dimiliki oleh satu instance Bigtable, dan sebuah instance dapat memiliki cluster hingga 8 region. Saat aplikasi Anda mengirim permintaan ke instance Bigtable, permintaan tersebut akan ditangani oleh salah satu cluster dalam instance.

Setiap cluster berada di satu zona. Instance dapat memiliki cluster di hingga 8 region tempat Bigtable tersedia. Setiap zona dalam satu region hanya dapat berisi satu cluster. Misalnya, jika instance memiliki cluster di us-east1-b, Anda dapat menambahkan cluster pada zona berbeda di region yang sama, seperti us-east1-c, atau zona di region terpisah, seperti europe-west2-a.

Jumlah cluster yang dapat Anda buat dalam instance bergantung pada jumlah zona yang tersedia di region yang Anda pilih. Misalnya, jika Anda membuat cluster di 8 region yang masing-masing memiliki 3 zona, jumlah maksimum cluster yang dapat dimiliki instance adalah 24. Untuk mengetahui daftar zona dan region tempat Bigtable tersedia, lihat Lokasi Bigtable.

Instance Bigtable yang hanya memiliki 1 cluster tidak menggunakan replikasi. Jika Anda menambahkan cluster kedua ke instance, Bigtable otomatis mulai mereplikasi data Anda dengan menyimpan salinan data terpisah di setiap zona cluster dan menyinkronkan pembaruan antar-salinan. Anda dapat memilih cluster mana yang terhubung dengan aplikasi Anda, yang memungkinkan pemisahan berbagai jenis traffic satu sama lain. Anda juga dapat mengizinkan Bigtable menyeimbangkan traffic antar-cluster. Jika cluster tidak tersedia, Anda dapat beralih dari satu cluster ke cluster lainnya. Untuk mempelajari lebih lanjut cara kerja replikasi, lihat ringkasan replikasi.

Node

Setiap cluster dalam instance memiliki 1 node atau lebih, yang merupakan resource komputasi yang digunakan Bigtable untuk mengelola data Anda.

Di balik layar, Bigtable membagi semua data dalam tabel menjadi beberapa tablet yang terpisah. Tablet disimpan di {i>disk<i}, terpisah dari {i> node<i} tetapi berada di zona yang sama dengan {i>node<i}. Tablet dikaitkan dengan satu node.

Setiap node bertanggung jawab untuk:

  • Melacak tablet tertentu pada disk.
  • Menangani pembacaan dan penulisan yang masuk untuk tabletnya.
  • Melakukan tugas pemeliharaan pada tabletnya, seperti kompresi berkala.

Cluster harus memiliki node yang cukup untuk mendukung beban kerjanya saat ini dan jumlah data yang disimpannya. Jika tidak, cluster mungkin tidak dapat menangani permintaan masuk, dan latensi dapat meningkat. Pantau penggunaan CPU dan disk cluster Anda, serta tambahkan node ke instance saat metriknya melebihi rekomendasi dan batas yang tercantum di bawah ini.

Untuk mengetahui detail lebih lanjut mengenai cara Bigtable menyimpan dan mengelola data, lihat Arsitektur Bigtable.

Penggunaan CPU

Bigtable melaporkan metrik berikut untuk penggunaan CPU:

Metrik Deskripsi
Pemakaian CPU rata-rata

Pemakaian CPU rata-rata di semua node di cluster. Menyertakan aktivitas aliran data perubahan jika aliran perubahan diaktifkan untuk tabel dalam instance.

Nilai maksimum yang direkomendasikan memberikan kapasitas untuk lonjakan singkat penggunaan.

Jika cluster melebihi nilai maksimum yang direkomendasikan untuk konfigurasi Anda selama lebih dari beberapa menit, tambahkan node ke cluster.

Pemakaian CPU node terpanas

Penggunaan CPU untuk node tersibuk di cluster. Metrik ini terus diberikan untuk kontinuitas, tetapi pada sebagian besar kasus, Anda harus menggunakan metrik yang lebih akurat Penggunaan CPU dengan tingkat perincian tinggi dari node hot.

Penggunaan CPU dengan tingkat perincian tinggi dari node terpanas

Pengukuran terperinci penggunaan CPU untuk node tersibuk di cluster. Sebaiknya gunakan metrik ini, bukan penggunaan CPU node hottest, karena metrik ini lebih akurat.

Node terpanas tidak selalu merupakan node yang sama dari waktu ke waktu dan dapat berubah dengan cepat, terutama selama tugas batch besar atau pemindaian tabel.

Jika node terpanas sering kali berada di atas nilai yang direkomendasikan, meskipun penggunaan CPU rata-ratanya wajar, Anda mungkin mengakses sebagian kecil data jauh lebih sering daripada data lainnya.

  • Gunakan alat Key Visualizer untuk mengidentifikasi hotspot di tabel Anda yang mungkin menyebabkan lonjakan penggunaan CPU.
  • Periksa desain skema Anda untuk memastikannya mendukung distribusi baca dan tulis yang merata di setiap tabel.
Mengubah penggunaan CPU streaming

Pemakaian CPU rata-rata yang disebabkan oleh aktivitas aliran data perubahan di semua node dalam cluster.

Pemakaian CPU menurut profil, metode, dan tabel aplikasi

Pemakaian CPU menurut profil, metode, dan tabel aplikasi.

Jika Anda mengamati penggunaan CPU yang lebih tinggi dari yang diharapkan untuk sebuah cluster, gunakan metrik ini untuk menentukan apakah penggunaan CPU untuk profil aplikasi, metode API, atau tabel tertentu mendorong beban CPU.

Nilai untuk metrik ini tidak boleh melebihi batas berikut:

Konfigurasi Nilai maksimum yang direkomendasikan1
  1. Jumlah maksimum yang direkomendasikan adalah untuk seluruh cluster; tidak ada nilai maksimum yang direkomendasikan untuk pemakaian CPU menurut profil, metode, atau tabel aplikasi. Gunakan metrik yang lebih terperinci ini untuk kemampuan observasi terkait kemungkinan penyebab tingginya penggunaan CPU di sebuah cluster.
  2. Nilai maksimum yang direkomendasikan memastikan bahwa instance memiliki kapasitas yang cukup untuk terus menayangkan pada latensi rendah jika terjadi failover. Misalnya, pada instance dengan dua cluster, setiap cluster harus dapat menangani semua traffic pada tingkat 70% jika cluster lainnya tidak tersedia.
Pemilihan rute cluster tunggal, sejumlah cluster

70% pemakaian CPU rata-rata
90% pemakaian CPU node terpanas

Pemilihan rute multi-cluster, penskalaan otomatis diaktifkan, 2 cluster atau lebih

70% pemakaian CPU rata-rata
90% pemakaian CPU node terpanas

Pemilihan rute multi-cluster, penskalaan otomatis tidak diaktifkan, 2 cluster

Pemakaian CPU rata-rata 35% 2
Pemakaian CPU 45% dari node terpanas2

Perutean multi-cluster, penskalaan otomatis tidak diaktifkan, 3 cluster atau lebih

Bergantung pada konfigurasi Anda. Lihat contoh setelan replikasi untuk kasus penggunaan umum.

Penggunaan disk

Bigtable melaporkan metrik berikut untuk penggunaan disk:

Metrik Deskripsi
Pemanfaatan penyimpanan (byte)

Jumlah data yang disimpan di cluster. Perubahan penggunaan aliran data tidak disertakan untuk metrik ini.

Nilai ini memengaruhi biaya Anda. Selain itu, seperti dijelaskan di bawah ini, Anda mungkin perlu menambahkan node ke setiap cluster seiring dengan meningkatnya jumlah data.

Penggunaan penyimpanan (% maks)

Persentase kapasitas penyimpanan cluster yang sedang digunakan. Kapasitas didasarkan pada jumlah node di cluster Anda. Perubahan penggunaan aliran data tidak disertakan untuk metrik ini.

Secara umum, jangan gunakan lebih dari 70% batas pasti total penyimpanan, sehingga Anda masih memiliki ruang untuk menambahkan lebih banyak data. Jika Anda tidak berencana untuk menambahkan jumlah data yang signifikan ke instance, Anda dapat menggunakan batas pasti hingga 100%.

Jika Anda menggunakan lebih dari persentase batas penyimpanan yang direkomendasikan, tambahkan node ke cluster. Anda juga dapat menghapus data yang ada, tetapi data yang dihapus membutuhkan lebih banyak ruang, bukan lebih sedikit, hingga pemadatan terjadi.

Untuk mengetahui detail tentang cara menghitung nilai ini, lihat Penggunaan penyimpanan per node.

Mengubah penggunaan penyimpanan stream (byte)

Jumlah penyimpanan yang terpakai oleh data aliran data perubahan untuk tabel dalam instance. Penyimpanan ini tidak mengurangi total penggunaan penyimpanan. Anda akan dikenai biaya untuk penyimpanan aliran data perubahan, tetapi hal ini tidak termasuk dalam penghitungan penggunaan penyimpanan (% maks).

Pemuatan disk

Persentase yang digunakan cluster Anda dari bandwidth maksimum yang memungkinkan untuk pembacaan HDD. Hanya tersedia untuk cluster HDD.

Jika nilai ini sering kali mencapai 100%, Anda mungkin akan mengalami peningkatan latensi. Tambahkan node ke cluster untuk mengurangi persentase beban disk.

Node untuk cluster yang direplikasi

Pada instance yang menggunakan replikasi, pastikan setiap cluster memiliki node yang cukup untuk mendukung kasus penggunaan Anda:

  • Jika Anda menggunakan replikasi untuk memberikan ketersediaan tinggi, atau jika Anda menggunakan perutean multi-cluster di salah satu profil aplikasi Anda, setiap cluster harus memiliki jumlah node yang sama. Selain itu, seperti yang ditunjukkan di atas pada bagian penggunaan CPU, pemakaian CPU yang direkomendasikan akan berkurang setengahnya.

    Konfigurasi ini membantu memastikan bahwa jika failover otomatis diperlukan, cluster responsif memiliki kapasitas yang cukup untuk menangani semua traffic Anda.

  • Jika semua profil aplikasi Anda menggunakan perutean cluster tunggal, setiap cluster dapat memiliki jumlah node yang berbeda. Ubah ukuran setiap cluster sesuai kebutuhan berdasarkan beban kerja cluster.

    Karena Bigtable menyimpan salinan data terpisah dengan setiap cluster, setiap cluster harus selalu memiliki node yang cukup untuk mendukung penggunaan disk dan untuk mereplikasi penulisan antar-cluster.

    Anda masih dapat menggagalkan secara manual dari satu cluster ke cluster lainnya jika perlu. Namun, jika satu cluster memiliki lebih banyak node daripada yang lain, dan Anda harus berpindah ke cluster dengan node yang lebih sedikit, Anda mungkin perlu menambahkan node terlebih dahulu. Tidak ada jaminan bahwa node tambahan akan tersedia saat Anda perlu membatalkan node—satu-satunya cara untuk mencadangkan node terlebih dahulu adalah dengan menambahkannya ke cluster Anda.

Langkah selanjutnya