Kapasitas komputasi, node, dan unit pemrosesan

Halaman ini menjelaskan kapasitas komputasi Spanner dan dua unit ukuran yang digunakan untuk mengukurnya: node dan unit pemrosesan.

Kapasitas komputasi

Kapasitas komputasi menentukan jumlah resource server dan penyimpanan yang tersedia untuk database dalam sebuah instance. Saat membuat instance, Anda menentukan kapasitas komputasinya sebagai jumlah unit pemrosesan atau sebagai jumlah node, dengan 1.000 unit pemrosesan yang sama dengan 1 node.

Unit pengukuran yang Anda gunakan tidak menjadi masalah kecuali Anda membuat instance yang kapasitas komputasinya lebih kecil dari 1.000 unit pemrosesan (1 node). Dalam hal ini, Anda harus menggunakan unit pemrosesan untuk menentukan kapasitas komputasi instance tersebut.

Saat menentukan atau mengubah kapasitas komputasi pada instance, Anda menentukan unit pemrosesan dalam kelipatan 100 (100, 200, 300, dan seterusnya). Jika jumlah unit pemrosesan mencapai 1.000, Anda dapat menentukan jumlah yang lebih besar sebagai kelipatan 1.000 unit pemrosesan (1.000, 2000, 3000, dan seterusnya) atau sebagai node (1, 2, 3, dan seterusnya).

Instance dengan kurang dari 1.000 unit pemrosesan dibuat untuk ukuran data, kueri, dan beban kerja yang lebih kecil. Model tersebut memiliki resource komputasi yang terbatas dan mungkin mengakibatkan penskalaan dan performa non-linear untuk beberapa workload, dan mungkin akan mengalami peningkatan latensi yang terputus-putus.

Batas penyimpanan data

Sebagaimana dijelaskan dalam Kuota & batas, untuk memberikan ketersediaan tinggi dan latensi rendah saat mengakses database, Spanner menggunakan kapasitas komputasi instance sebagai dasar untuk menentukan batas penyimpanan, dengan mengikuti panduan berikut:

  • Untuk instance yang lebih kecil dari 1 node (1.000 unit pemrosesan), Spanner akan mengalokasikan 409,6 GB data untuk setiap 100 unit pemrosesan dalam database.
  • Untuk instance 1 node dan yang lebih besar, Spanner akan mengalokasikan 4 TB data untuk setiap node. Peningkatan kapasitas penyimpanan (10 TB per node) tersedia dalam konfigurasi instance Spanner regional dan multi-region tertentu. Untuk mengetahui informasi selengkapnya, lihat Peningkatan performa dan penyimpanan.

Misalnya, untuk membuat instance database berukuran 300 GB, Anda dapat menetapkan kapasitas komputasinya ke 100 unit pemrosesan. Jumlah kapasitas komputasi ini membuat instance tetap berada di bawah batas hingga database bertambah menjadi lebih dari 409,6 GB. Setelah database mencapai ukuran ini, Anda perlu menambahkan 100 unit pemrosesan lagi agar database dapat berkembang. Jika tidak, Spanner mungkin akan menolak penulisan ke database. Untuk mengetahui informasi selengkapnya, lihat Rekomendasi penggunaan penyimpanan database.

Spanner menagih penyimpanan yang benar-benar digunakan instance, dan bukan total alokasi penyimpanannya.

Performa

Puncak nilai throughput baca dan tulis yang dapat diberikan oleh jumlah kapasitas komputasi tertentu bergantung pada konfigurasi instance, serta desain skema dan karakteristik set data. Lihat bagian performa konfigurasi regional dan performa konfigurasi multi-region untuk mengetahui detailnya.

Anda menggunakan instance dengan kurang dari 1.000 unit pemrosesan untuk ukuran data, kueri, dan beban kerja yang lebih kecil. Untuk workload yang lebih besar, resource komputasinya yang terbatas dapat mengakibatkan penskalaan dan performa non-linear, dengan peningkatan latensi yang sesekali.

Kapasitas komputasi dan konfigurasi instance

Seperti yang dijelaskan dalam Konfigurasi regional dan multi-region, Spanner mendistribusikan instance ke zona dari satu atau beberapa region untuk memberikan performa dan ketersediaan tinggi. Akibatnya, Spanner juga mendistribusikan resource server yang disediakan oleh kapasitas komputasi instance.

Berikut adalah diagram yang menggambarkan distribusi sumber daya server.

Dua instance dibuat dalam konfigurasi instance regional

Diagram ini menggambarkan dua instance yang memiliki konfigurasi regional:

  • Instance-A menampilkan instance 1.000 unit pemrosesan (1 node) dengan distribusi kapasitas komputasinya yang menggunakan resource server di masing-masing dari tiga zona.
  • Instance-B menampilkan instance 2.000 unit pemrosesan (2 node) dengan distribusi kapasitas komputasinya yang menggunakan resource server di ketiga zona.

Perhatikan hal-hal berikut dalam diagram ini:

  • Untuk setiap instance, Spanner mengalokasikan resource server di setiap zona konfigurasi regional. Setiap resource server per zona menggunakan replika data di zonanya. Untuk mengetahui informasi tentang replika data dalam konfigurasi instance, lihat Konfigurasi regional dan multi-region. Untuk mengetahui informasi tentang cara Spanner menjaga replika data ini tetap sinkron, lihat Replikasi.

  • Resource server untuk Instance-A ditampilkan dalam kotak sederhana, sedangkan resource untuk Instance-B ditampilkan dalam kotak yang dibagi menjadi dua bagian. Perbedaan ini menggambarkan bahwa Spanner mengalokasikan resource server secara berbeda untuk instance dengan ukuran berbeda:

    • Untuk instance 1.000 unit pemrosesan (1 node) dan yang lebih kecil, Spanner mengalokasikan resource server dalam satu tugas server per zona.
    • Untuk instance yang lebih besar dari 1.000 unit pemrosesan (1 node), Spanner mengalokasikan resource server dalam beberapa tugas server per zona, dengan satu tugas untuk setiap 1.000 unit pemrosesan. Penggunaan beberapa tugas server per zona akan memberikan performa yang lebih baik dan memungkinkan Spanner membuat pemisahan database dan memberikan performa yang lebih baik lagi.

Meningkatkan dan menurunkan kapasitas komputasi

Setelah membuat instance, Anda dapat meningkatkan kapasitas komputasinya nanti. Dalam sebagian besar kasus, Anda juga dapat mengurangi kapasitas komputasi. Ada beberapa kasus saat Anda tidak dapat mengurangi kapasitas komputasi:

  • Jika kapasitas komputasi dihapus, instance Anda harus menyimpan lebih dari 4 TB data per 1.000 unit pemrosesan (1 node).
  • Berdasarkan pola penggunaan historis Anda, Spanner telah membuat banyak pemisahan untuk data instance, dan dalam beberapa kasus yang jarang terjadi, Spanner tidak akan dapat mengelola pemisahan setelah menghapus kapasitas komputasi.

Dalam kasus terakhir, Anda dapat mencoba mengurangi kapasitas komputasi dengan jumlah yang lebih kecil secara bertahap sampai Anda menemukan kapasitas minimum yang diperlukan Spanner untuk mengelola semua bagian instance. Jika instance tidak lagi memerlukan begitu banyak pemisahan karena perubahan pola penggunaan, Spanner mungkin pada akhirnya akan menggabungkan beberapa pemisahan dan memungkinkan Anda untuk mencoba mengurangi kapasitas komputasi instance lebih lanjut setelah satu atau dua minggu.

Saat menghapus kapasitas komputasi, pantau pemakaian CPU dan latensi permintaan di Cloud Monitoring untuk memastikan pemakaian CPU tetap di bawah 65% untuk instance regional dan 45% untuk setiap region di instance multi-region. Anda mungkin mengalami peningkatan latensi permintaan untuk sementara waktu sekaligus menghapus kapasitas komputasi.

Anda dapat menggunakan Google Cloud Console, Google Cloud CLI, atau library klien untuk mengubah kapasitas komputasi.

Spanner tidak memiliki mode penangguhan. Kapasitas komputasi Spanner adalah resource khusus dan, meskipun Anda tidak menjalankan beban kerja, Spanner sering melakukan pekerjaan latar belakang untuk mengoptimalkan dan melindungi data Anda.

Kapasitas komputasi versus replika

Jika Anda perlu meningkatkan skala server dan resource penyimpanan di instance, tingkatkan kapasitas komputasi instance. Perhatikan bahwa peningkatan kapasitas komputasi tidak meningkatkan jumlah replika (yang tetap untuk konfigurasi instance tertentu), tetapi meningkatkan resource yang dimiliki setiap replika dalam instance tersebut. Peningkatan kapasitas komputasi akan memberi setiap replika lebih banyak CPU dan RAM, sehingga meningkatkan throughput replika (yaitu, lebih banyak pembacaan dan penulisan per detik dapat terjadi).

Langkah selanjutnya