Kapasitas komputasi, node, dan unit pemrosesan

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

Kapasitas komputasi

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

Unit pengukuran yang Anda gunakan tidak masalah kecuali jika 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.

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, 2.000, 3.000, 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. Server tersebut memiliki resource komputasi terbatas dan hal ini dapat menyebabkan skalabilitas dan performa non-linear untuk beberapa workload, dan mungkin mengalami peningkatan latensi yang terputus-putus.

Batas penyimpanan data

Seperti yang 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, menggunakan panduan berikut:

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

Misalnya, untuk membuat instance database 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 lainnya agar database dapat bertambah. Jika tidak, Spanner mungkin menolak penulisan ke database. Untuk mengetahui informasi selengkapnya, lihat Rekomendasi untuk penggunaan penyimpanan database.

Spanner menagih penyimpanan yang sebenarnya digunakan instance, bukan alokasi penyimpanan totalnya.

Performa

Nilai throughput baca dan tulis puncak yang dapat diberikan oleh jumlah kapasitas komputasi tertentu bergantung pada konfigurasi instance, serta desain skema dan karakteristik set data. Untuk informasi selengkapnya, lihat Ringkasan performa.

Anda menggunakan instance dengan kurang dari 1.000 unit pemrosesan untuk ukuran data, kueri, dan beban kerja yang lebih kecil. Untuk beban kerja yang lebih besar, resource komputasi yang terbatas mungkin menghasilkan penskalaan dan performa non-linear, dengan peningkatan latensi yang intermiten.

Konfigurasi instance dan kapasitas komputasi

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

Berikut adalah diagram yang menggambarkan distribusi resource server ini.

Dua instance yang 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 setiap dari tiga zona.
  • Instance-B menunjukkan instance 2.000 unit pemrosesan (2 node) dengan distribusi kapasitas komputasinya yang menggunakan resource server di setiap dari tiga zona.

Perhatikan 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, dual-region, dan multi-region. Untuk mengetahui informasi tentang cara Spanner menjaga sinkronisasi replika data ini, lihat Replikasi.

  • Resource server untuk Instance-A ditampilkan dalam satu kotak, 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 yang berbeda:

    • Untuk instance dengan 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. Menggunakan beberapa tugas server per zona akan memberikan performa yang lebih baik dan memungkinkan Spanner membuat pemisahan database serta memberikan performa yang lebih baik lagi.

Mengubah kapasitas komputasi

Setelah membuat instance, Anda dapat meningkatkan kapasitas komputasinya nanti. Dalam sebagian besar kasus, permintaan akan selesai dalam beberapa menit. Terkadang, perlu waktu hingga satu jam untuk menyelesaikan skalasi.

Dalam sebagian besar kasus, Anda juga dapat mengurangi kapasitas komputasi. Ada beberapa kasus saat Anda tidak dapat mengurangi kapasitas komputasi:

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

Dalam kasus kedua, Anda dapat mencoba mengurangi kapasitas komputasi dengan jumlah yang lebih kecil secara bertahap hingga 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 menggabungkan beberapa pemisahan dan memungkinkan Anda mencoba mengurangi kapasitas komputasi instance lebih lanjut setelah satu atau dua minggu.

Saat menghapus kapasitas komputasi, pantau penggunaan CPU dan latensi permintaan di Cloud Monitoring untuk memastikan penggunaan CPU tetap di bawah 65% untuk instance regional dan 45% untuk setiap region dalam instance multi-region. Anda mungkin mengalami peningkatan latensi permintaan sementara saat menghapus 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.

Anda dapat menggunakan konsol Google Cloud, Google Cloud CLI, atau library klien Spanner untuk mengubah kapasitas komputasi. Untuk informasi selengkapnya, lihat Mengubah kapasitas komputasi.

Kapasitas komputasi versus replika

Jika Anda perlu menskalakan resource server dan penyimpanan di instance, tingkatkan kapasitas komputasi instance. Perhatikan bahwa meningkatkan kapasitas komputasi tidak akan meningkatkan jumlah replika (yang tetap untuk konfigurasi instance tertentu), tetapi akan meningkatkan resource yang dimiliki setiap replika dalam instance. Meningkatkan kapasitas komputasi akan memberi setiap replika lebih banyak CPU dan RAM, yang meningkatkan throughput replika (yaitu, lebih banyak operasi baca dan tulis per detik yang dapat terjadi).

Langkah selanjutnya