Penskalaan otomatis

Halaman ini menjelaskan cara kerja penskalaan otomatis. Sebelum membaca halaman ini, Anda harus memahami Ringkasan Bigtable dan Instance, cluster, dan node.

Di Bigtable, instance adalah container untuk cluster, yang merupakan resource khusus lokasi yang menangani permintaan. Setiap cluster memiliki satu atau beberapa node, yang merupakan resource komputasi yang digunakan untuk mengelola data Anda. Saat membuat cluster dalam instance, Anda memilih alokasi node manual atau penskalaan otomatis.

Dengan alokasi node manual, jumlah node dalam cluster tetap konstan hingga Anda mengubahnya. Jika penskalaan otomatis diaktifkan, Bigtable akan terus memantau cluster dan otomatis menyesuaikan jumlah node dalam cluster jika diperlukan. Penskalaan otomatis berfungsi di cluster HDD dan SSD, di semua region Bigtable.

Anda dapat mengonfigurasi penskalaan otomatis di konsol Google Cloud , menggunakan gcloud, atau menggunakan library klien Cloud Bigtable untuk Java.

Kapan harus menggunakan penskalaan otomatis

Sebaiknya aktifkan penskalaan otomatis dalam sebagian besar kasus. Manfaat penskalaan otomatis meliputi:

  • Biaya - Penskalaan otomatis dapat membantu Anda mengoptimalkan biaya karena Bigtable mengurangi jumlah node dalam cluster Anda jika memungkinkan. Hal ini dapat membantu Anda menghindari penyediaan berlebih.
  • Performa - Penskalaan otomatis memungkinkan Bigtable menambahkan node ke cluster secara otomatis saat workload berubah atau ada peningkatan persyaratan penyimpanan data. Hal ini membantu mempertahankan tujuan performa beban kerja dengan memastikan bahwa cluster memiliki cukup node untuk memenuhi target penggunaan CPU dan persyaratan penyimpanan.
  • Otomatisasi - Penskalaan otomatis mengurangi kompleksitas pengelolaan. Anda tidak perlu memantau dan menskalakan ukuran cluster secara manual atau menulis aplikasi untuk melakukan tugas ini, karena layanan Bigtable menanganinya untuk Anda.

Penskalaan otomatis saja mungkin tidak berfungsi dengan baik untuk jenis workload berikut, karena meskipun Bigtable menambahkan node dengan cepat saat traffic meningkat, penyeimbangan node tambahan dapat memakan waktu.

  • Traffic yang bergejolak
  • Workload batch mendadak

Jika lonjakan penggunaan dapat diprediksi atau dijadwalkan secara rutin, Anda dapat menggunakan penskalaan otomatis dan menyesuaikan setelan sebelum lonjakan yang direncanakan. Lihat Penundaan saat node menyeimbangkan ulang untuk mengetahui detailnya.

Cara kerja penskalaan otomatis

Penskalaan otomatis adalah proses menskalakan, atau mengubah ukuran cluster secara otomatis dengan menambahkan atau menghapus node. Saat Anda mengaktifkan penskalaan otomatis, Bigtable akan otomatis menyesuaikan ukuran cluster Anda. Saat kebutuhan workload atau penyimpanan cluster Anda berfluktuasi, Bigtable akan melakukan penskalaan, dengan menambahkan node ke cluster, atau melakukan penurunan skala, dengan menghapus node dari cluster.

Penskalaan otomatis Bigtable menentukan jumlah node yang diperlukan, berdasarkan dimensi berikut:

  • Target penggunaan CPU
  • Target pemanfaatan penyimpanan
  • Jumlah minimum node
  • Jumlah maksimum node

Setiap dimensi penskalaan menghasilkan jumlah node yang direkomendasikan, dan Bigtable akan otomatis menggunakan yang tertinggi. Artinya, misalnya, jika cluster Anda memerlukan 10 node untuk memenuhi target penggunaan penyimpanan, tetapi 12 node untuk memenuhi target penggunaan CPU, Bigtable akan menskalakan cluster menjadi 12 node.

Saat jumlah node berubah, Bigtable terus mengoptimalkan penyimpanan, menyeimbangkan kembali data di seluruh node, untuk memastikan traffic didistribusikan secara merata dan tidak ada node yang kelebihan beban.

Setelah cluster di-scale up, Bigtable akan otomatis menyeimbangkan ulang node di cluster Anda untuk performa yang optimal. Semua permintaan terus mencapai cluster saat penskalaan dan penyeimbangan ulang sedang berlangsung. Lihat Batasan penskalaan untuk mengetahui informasi selengkapnya.

Jika cluster telah di-scale up hingga jumlah maksimum node dan target pemakaian CPU terlampaui, permintaan mungkin memiliki latensi tinggi atau gagal. Jika cluster telah di-scale up ke jumlah maksimum node dan batas penggunaan penyimpanan terlampaui, permintaan tulis akan gagal. Lihat Penyimpanan per node untuk mengetahui detail selengkapnya tentang batas penyimpanan.

Saat node ditambahkan ke cluster kecil, seperti cluster satu node, Anda mungkin melihat peningkatan latensi sementara saat cluster menyeimbangkan ulang. Hal ini karena node tambahan secara proporsional menggandakan ukuran cluster. Demikian pula, jika ukuran cluster berkurang dari dua node menjadi satu node, beberapa latensi mungkin terjadi.

Saat cluster diturunkan skalanya, node dihapus dengan kecepatan yang lebih lambat daripada saat menaikkan skala, untuk mencegah dampak pada latensi. Lihat batasan penskalaan untuk mengetahui detail selengkapnya.

Parameter penskalaan otomatis

Saat membuat atau mengedit cluster dan memilih penskalaan otomatis, Anda menentukan nilai untuk target pemakaian CPU, node min, dan node maks. Anda dapat mengonfigurasi target pemakaian penyimpanan atau membiarkannya pada default, yaitu 50% (2,5 TB untuk SSD dan 8 TB untuk HDD).

Parameter Deskripsi
Target pemakaian CPU

Persentase kapasitas CPU cluster. Dapat berkisar dari 10% hingga 80%. Jika pemakaian CPU cluster melebihi target yang telah Anda tetapkan, Bigtable akan segera menambahkan node ke cluster. Jika pemakaian CPU jauh lebih rendah daripada target, Bigtable akan menghapus node. Untuk mendapatkan panduan, lihat Menentukan target penggunaan CPU.

Jumlah minimum node

Jumlah node terendah yang akan digunakan Bigtable untuk menurunkan skala cluster. Jika penskalaan node 2x diaktifkan, nilai ini harus berupa bilangan genap. Nilai ini harus lebih besar dari nol dan tidak boleh lebih rendah dari 10% nilai yang Anda tetapkan untuk jumlah maksimum node. Misalnya, jika jumlah maksimum node adalah 40, jumlah minimum node harus minimal 4. Persyaratan 10% adalah batas yang ketat. Untuk panduan, lihat Menentukan jumlah minimum node.

Jumlah node maksimum

Jumlah node tertinggi yang Anda inginkan untuk menskalakan cluster. Jika penskalaan node 2x diaktifkan, nilai ini harus berupa bilangan genap. Nilai ini harus lebih besar dari nol dan sama dengan atau lebih besar dari jumlah minimum node. Nilai tidak boleh lebih dari 10 kali jumlah yang Anda pilih untuk jumlah minimum node. Persyaratan 10x adalah batas yang tegas. Untuk mendapatkan panduan, lihat Menentukan jumlah maksimum node.

Target pemanfaatan penyimpanan

Jumlah maksimum terabyte per node yang dapat Anda simpan di cluster SSD atau HDD sebelum Bigtable melakukan penskalaan. Target ini memastikan bahwa Anda selalu memiliki node yang cukup untuk menangani fluktuasi jumlah data yang Anda simpan. Untuk mengetahui informasi selengkapnya, lihat Menentukan target pemanfaatan penyimpanan. Target ini tidak mencakup tingkat akses yang jarang.

Penggunaan gabungan SSD dan akses jarang

Jumlah maksimum terabyte per node yang dapat Anda simpan di cluster SSD dan akses jarang sebelum Bigtable melakukan penskalaan. Target ini memastikan bahwa Anda selalu memiliki node yang cukup untuk menangani fluktuasi jumlah data yang Anda simpan. Untuk mengetahui informasi selengkapnya, lihat bagian Penyimpanan bertingkat dan penskalaan otomatis dalam dokumen ini.

Konfigurasi penskalaan otomatis

Bagian ini menjelaskan cara memilih parameter penskalaan otomatis. Setelah menetapkan nilai awal, pantau cluster dan sesuaikan jumlahnya jika perlu.

Menentukan target pemakaian CPU

Dasarkan target pemakaian CPU pada beban kerja unik Anda. Target optimal untuk cluster Anda bergantung pada persyaratan latensi dan throughput beban kerja Anda. Untuk mengetahui informasi selengkapnya, lihat Merencanakan kapasitas Bigtable.

Secara umum, jika Anda mengamati latensi yang sangat tinggi dan tidak dapat diterima, Anda harus menurunkan target penggunaan CPU.

Menentukan target pemanfaatan penyimpanan

Jika aplikasi Anda sensitif terhadap latensi, jaga pemanfaatan penyimpanan di bawah 60%. Jika aplikasi Anda tidak sensitif terhadap latensi, Anda dapat memilih target pemanfaatan penyimpanan sebesar 70% atau lebih. Untuk informasi selengkapnya, lihat Merencanakan kapasitas Bigtable.

Untuk penskalaan otomatis, pemanfaatan penyimpanan dinyatakan sebagai jumlah byte penyimpanan per node, bukan sebagai persentase. Target pemakaian penyimpanan ditentukan per node, tetapi diterapkan ke seluruh cluster. Batas kapasitas untuk node adalah 5 TB per node untuk penyimpanan SSD dan 16 TB per node untuk penyimpanan HDD.

Tabel berikut menunjukkan jumlah target untuk persentase target penggunaan penyimpanan umum. Konsol Google Cloud menerima nilai dalam TB per node, dan gcloud CLI, API, serta library klien Cloud Bigtable menerima nilai bilangan bulat dalam GiB per node.

Persentase SSD HDD
80% 4 TB atau 4.096 GiB 12,8 TB atau 13.107 GiB
70% 3,5 TB atau 3.584 GiB 11,2 TB atau 11.468 GiB
60% 3 TB atau 3.072 GiB 9,6 TB atau 9.830 GiB
50% 2,5 TB atau 2.560 GiB 8 TB atau 8.192 GiB

Penyimpanan bertingkat dan penskalaan otomatis

Penyimpanan bertingkat (Pratinjau) tidak memengaruhi penskalaan otomatis SSD yang dijelaskan di bagian Menentukan target pemanfaatan penyimpanan dalam dokumen ini. Saat Anda mengaktifkan akses jarang sebagai bagian dari penyimpanan bertingkat, penskalaan otomatis juga memastikan bahwa gabungan SSD dan penyimpanan akses jarang tidak melebihi batas 32 TB per node. Saat batas tercapai, Bigtable akan otomatis melakukan penskalaan.

Misalnya, pada cluster SSD, jika Anda menetapkan target penggunaan penyimpanan sebesar 2,5 TB (50%) per node, dan penggunaan akses jarang Anda cukup tinggi untuk mendorong penggunaan penyimpanan dengan penyimpanan bertingkat melebihi batas, Bigtable akan menambahkan node. Hal ini terjadi meskipun penggunaan SSD Anda tetap dalam target 50%.

Tabel berikut membantu Anda memahami cara penskalaan otomatis merekomendasikan jumlah node berdasarkan penggunaan SSD dan penggunaan akses yang jarang:

Skenario Target pemanfaatan penyimpanan Persentase pemakaian Penggunaan SSD Penggunaan akses jarang Gabungan SSD dan penyimpanan akses jarang Jumlah node yang direkomendasikan
Penggunaan SSD berada dalam rentang target dan tidak ada penggunaan akses yang jarang. 5 TB 100% Kurang dari 5 TB 0 TB Kurang dari 5 TB 1
Penggunaan SSD melebihi batas penyimpanan per node. 5 TB 100% 6 TB 0 TB 6 TB 2
Penggunaan SSD dan penggunaan akses jarang berada dalam batas penyimpanan bertingkat. 5 TB 100% 5 TB 27 TB 32 TB 1
Penggunaan penyimpanan bertingkat melebihi batas penyimpanan bertingkat. 5 TB 100% 5 TB 28 TB 33 TB 2
Penggunaan SSD hampir melampaui target penggunaan SSD, dan tidak ada penggunaan akses jarang. 3 TB 60% 3 TB 0 TB 3 TB 1
Penggunaan SSD hampir melebihi target penggunaan SSD, dan penggunaan bertingkat hampir melebihi batas penyimpanan bertingkat. 3 TB 60% 3 TB 29 TB 32 TB 1
Penggunaan SSD melebihi target penyimpanan SSD, dan tidak ada penggunaan akses jarang. 2,5 TB 50% 4 TB 0 TB 4 TB 2
Penggunaan bertingkat melebihi batas penyimpanan bertingkat. 2,5 TB 50% 2 TB 31 TB 33 TB 2

Untuk mengetahui informasi selengkapnya tentang penyimpanan bertingkat, lihat Ringkasan penyimpanan bertingkat.

Tentukan jumlah maksimum node

Nilai yang Anda pilih sebagai jumlah maksimum node harus berupa jumlah node yang dibutuhkan cluster untuk menangani traffic terberat beban kerja Anda, meskipun Anda tidak memperkirakan akan mencapai volume tersebut hampir sepanjang waktu. Bigtable tidak pernah melakukan penskalaan ke lebih banyak node daripada yang diperlukan. Anda juga dapat menganggap angka ini sebagai jumlah node tertinggi yang bersedia Anda bayar. Untuk mengetahui detail tentang nilai yang diterima, lihat Parameter penskalaan otomatis.

Jumlah maksimum harus memungkinkan target pemakaian CPU yang ditetapkan oleh Anda dan target pemakaian penyimpanan yang ditetapkan oleh Bigtable.

Jika Anda mengubah cluster dari alokasi manual ke penskalaan otomatis, temukan jumlah node tertinggi yang dimiliki cluster selama sebulan terakhir. Jumlah maksimum penskalaan otomatis Anda harus minimal sama dengan jumlah tersebut.

Jika Anda mengaktifkan penskalaan otomatis untuk cluster baru dalam instance yang ada, gunakan metrik dari cluster lain dalam instance sebagai panduan Anda.

Jika Anda memiliki workload baru dan tidak yakin bagaimana pertumbuhannya, Anda dapat memperkirakan jumlah node yang diperlukan untuk memenuhi target penggunaan penyimpanan bawaan, lalu menyesuaikan jumlahnya nanti.

Jika Anda mengaktifkan penyimpanan bertingkat, Anda harus memperhitungkan batas penyimpanan sebesar 32 TB per node. Meskipun penggunaan SSD Anda rendah, volume data yang besar di tingkat akses jarang dapat memicu penskalaan node.

Untuk mendapatkan angka ini, perkirakan jumlah data yang akan Anda simpan di cluster, lalu bagi jumlah tersebut dengan target pemanfaatan penyimpanan untuk jenis penyimpanan yang Anda gunakan.

Misalnya, jika Anda menyimpan 10 TB di cluster SSD, Anda dapat membagi 10 TB dengan 2,5 TB, yang merupakan target pemanfaatan penyimpanan yang ditetapkan secara default untuk cluster SSD yang menggunakan penskalaan otomatis. Hasilnya adalah 4, yang berarti bahwa 4 adalah jumlah node yang dapat menangani jumlah data tersebut, dan maksimumnya harus berupa angka yang lebih tinggi dari itu.

Dengan menggunakan formula yang sama, contoh berikut menunjukkan jumlah node yang mungkin Anda perlukan untuk beberapa contoh jumlah penyimpanan:

Penyimpanan SSD per cluster Jumlah node maksimum terkecil
25 TB 10
35 TB 14
50 TB 20

Setelah cluster Anda aktif dan berjalan dengan penskalaan otomatis diaktifkan, pantau cluster dan pastikan nilai yang Anda pilih untuk jumlah maksimum node setidaknya sama tingginya dengan recommended number of nodes for CPU target dan recommended number of nodes for storage target.

Menentukan jumlah minimum node

Anda dapat menetapkan minimum serendah 1 untuk memastikan Bigtable Anda dapat diskalakan ke ukuran terkecil dan paling hemat biaya jika memungkinkan. Cluster tidak akan pernah menjadi terlalu kecil karena Bigtable secara otomatis mencegah jumlah node turun di bawah minimum yang diperlukan untuk mempertahankan target pemakaian CPU dan penyimpanan. Lihat Parameter penskalaan otomatis untuk mengetahui detail nilai yang diterima.

Namun, dalam banyak kasus, Anda akan ingin menetapkan nilai ini ke lebih dari satu. Pilih jumlah yang lebih tinggi atau naikkan jumlah minimum node untuk situasi berikut:

  • Anda memiliki acara skala puncak mendatang, saat Anda memperkirakan traffic akan meningkat sementara, dan Anda ingin memastikan Anda memiliki kapasitas yang cukup.
  • Aplikasi Anda mengirimkan lonjakan traffic. Saat node baru ditambahkan, Bigtable akan otomatis menyeimbangkan ulang ke node baru. Karena proses ini dapat memakan waktu beberapa menit, sebaiknya Anda mengambil pendekatan konservatif dan memilih nilai minimum yang lebih tinggi agar cluster Anda dapat mengakomodasi lonjakan dengan lancar.
  • Anda meningkatkan jumlah maksimum node. Jumlah minimum harus selalu sepuluh persen atau kurang dari jumlah maksimum node. Misalnya, jika Anda menetapkan maksimum ke 30, Anda harus menetapkan minimum ke setidaknya 3.

Jika Anda meningkatkan nilai untuk jumlah minimum node cluster, Bigtable akan segera mencoba menskalakan cluster ke jumlah minimum yang baru. Batasan standar berlaku, namun; jika zona kehabisan node, node tambahan tidak akan disediakan untuk memenuhi minimum yang dikonfigurasi. Bigtable akan terus mencoba menambahkan node dan membuat entri log audit untuk setiap upaya yang gagal hingga berhasil menskalakan kluster ke jumlah minimum node yang baru. Bigtable tidak mengubah nilai yang dikonfigurasi dalam situasi ini. Akibatnya, Anda mungkin mengamati bahwa jumlah node cluster kurang dari minimum hingga penskalaan selesai.

Menyesuaikan setelan Anda

Setelah mengaktifkan penskalaan otomatis, Anda harus memantau perilakunya dan menyesuaikan setelan sesuai kebutuhan. Gunakan metrik pemantauan untuk mengamati hal berikut:

  • Jumlah node yang direkomendasikan: Perhatikan metrik recommended_node_count_for_cpu dan recommended_node_count_for_storage. Metrik ini menunjukkan jumlah node yang ideal berdasarkan target penggunaan CPU dan penyimpanan Anda.
  • Jumlah node yang disediakan: Bandingkan jumlah node yang direkomendasikan dengan jumlah node sebenarnya yang disediakan. Jika cluster Anda secara konsisten menggunakan lebih banyak node daripada yang direkomendasikan, Anda dapat mempertimbangkan untuk mengurangi jumlah minimum node untuk menurunkan biaya.
  • Jumlah node maksimum: Pastikan jumlah node maksimum Anda cukup tinggi agar cluster dapat di-scale up untuk memenuhi permintaan. Jika Anda mengamati bahwa cluster Anda sering mencapai jumlah node maksimum, tingkatkan jumlah node untuk memberikan kapasitas yang lebih besar.

Anda juga dapat menyesuaikan target penggunaan CPU untuk performa. Jika Anda mengamati masalah latensi, Anda mungkin perlu menurunkan target penggunaan CPU untuk memastikan cluster Anda melakukan penskalaan secara lebih agresif saat permintaan meningkat. Sebaliknya, jika cluster Anda terus-menerus kelebihan alokasi dan latensi dapat diterima, Anda dapat mempertimbangkan untuk meningkatkan target CPU.

Akun untuk replikasi

Dalam instance yang menggunakan replikasi, setelan dan aktivitas penskalaan otomatis setiap cluster sepenuhnya independen dari cluster lain dalam instance. Anda harus mengonfigurasi mode penskalaan untuk setiap cluster dalam instance.

Secara umum, untuk instance yang direplikasi, Anda harus mengaktifkan penskalaan otomatis untuk setiap cluster di instance. Konfigurasi penskalaan otomatis Anda akan sering kali sama untuk setiap cluster dalam instance, tetapi mungkin berbeda bergantung pada kasus penggunaan, workload, dan persyaratan performa untuk setiap cluster.

Karena cluster dalam instance yang direplikasi melakukan beberapa pekerjaan tambahan untuk mengelola replikasi, Anda harus memilih jumlah maksimum node yang lebih tinggi untuknya daripada yang akan Anda lakukan untuk instance cluster tunggal. Untuk mempelajari lebih lanjut, lihat Replikasi dan performa.

Kontrol akses

Untuk mengonfigurasi penskalaan otomatis, Anda harus menjadi prinsipal dalam peran yang memiliki izin create dan update untuk cluster dan instance yang Anda konfigurasi.

Pemantauan

Bigtable menyediakan beberapa metrik untuk membantu Anda memahami cara kerja penskalaan otomatis Bigtable saat melakukan peningkatan dan penurunan skala untuk memenuhi persyaratan beban kerja. Metrik ini juga dapat membantu Anda mengukur apakah setelan Anda sudah optimal untuk memenuhi persyaratan biaya dan workload bisnis Anda. Misalnya, jika Anda mengamati bahwa jumlah node untuk cluster sering kali mendekati jumlah maksimum node, Anda dapat mempertimbangkan untuk menaikkan jumlah maksimumnya. Untuk mempelajari lebih lanjut cara memantau resource Bigtable, lihat Memantau instance.

Metrik berikut ditampilkan dalam grafik di halaman ringkasan cluster di konsol Google Cloud . Anda juga dapat melihat metrik ini menggunakan Cloud Monitoring.

  • bigtable.googleapis.com/cluster/autoscaling/min_node_count
  • bigtable.googleapis.com/cluster/autoscaling/max_node_count
  • bigtable.googleapis.com/cluster/autoscaling/recommended_node_count_for_cpu
  • bigtable.googleapis.com/cluster/autoscaling/recommended_node_count_for_storage

Logging

Bigtable memancarkan log audit peristiwa sistem setiap kali menskalakan cluster. Entri lognya mirip dengan berikut ini:

Grew from 9 to 10 nodes to maintain CPU utilization at 60%.

Anda dapat melihat log peristiwa sistem penskalaan otomatis di halaman ringkasan cluster Bigtable di Google Cloud konsol. Anda juga dapat melihatnya menggunakan Logs Explorer:

  1. Buka Logs Explorer:

    Buka Logs Explorer

    Pilih project Google Cloud yang sesuai.

  2. Di kolom Query, masukkan kode berikut:

    resource.type="audited_resource" resource.labels.service="bigtableadmin.googleapis.com"
    resource.labels.method="AutoscaleCluster"
    
  3. Klik Run query.

    Panel Query results menampilkan log untuk satu jam terakhir.

Untuk mempelajari lebih lanjut cara melihat log, lihat Cloud Logging.

Langkah berikutnya