Halaman ini menjelaskan kapasitas komputasi Spanner dan dua unit pengukuran yang digunakan untuk mengukurnya: node dan unit pemrosesan.
Kapasitas komputasi
Saat membuat instance, Anda memilih konfigurasi instance dan jumlah kapasitas komputasi untuk instance Anda. Kapasitas komputasi instance Anda memiliki karakteristik berikut:
- Setelan ini menentukan jumlah resource server dan penyimpanan yang tersedia untuk database di instance Anda, termasuk beban disk. Beban disk hanya berlaku untuk beban kerja yang mengakses data yang disimpan di penyimpanan HDD. Untuk mengetahui informasi selengkapnya, lihat Ringkasan penyimpanan bertingkat.
Kapasitas ini diukur dalam unit pemrosesan (PU) atau node, dengan 1.000 PU sama dengan 1 node.
- Node atau 1.000 PU adalah unit logis kapasitas komputasi dan tidak merepresentasikan satu server fisik. Resource komputasi untuk setiap node didistribusikan di beberapa mesin fisik yang mendasarinya, atau server. Jumlah server per node bergantung pada konfigurasi instance Anda. Misalnya, instance regional menggunakan minimal tiga server per node, sedangkan instance multiregion menggunakan minimal lima. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi instance dan kapasitas komputasi.
- Saat menentukan atau mengubah kapasitas komputasi pada instance, Anda harus menentukan PU dalam kelipatan 100 (misalnya, 100, 200, 300). Jika jumlah PU mencapai 1000, Anda dapat menentukan jumlah yang lebih besar sebagai kelipatan 1000 PU (misalnya, 1000, 2000, 3000) atau sebagai node (misalnya, 1, 2, 3).
Spanner menyediakan kapasitas komputasi yang ditentukan (direplikasi) secara keseluruhan dalam setiap zona yang menghosting replika data Anda. Misalnya, jika Anda menyediakan 1.000 PU untuk instance regional, yang biasanya memiliki replika di tiga zona, setiap zona tersebut memiliki 1.000 PU penuh daya komputasi yang tersedia untuk melayani replikanya. Spanner tidak membagi atau mendistribusikan total PU di antara zona. Unit pengukuran yang Anda gunakan tidak menjadi masalah kecuali jika Anda membuat instance yang kapasitas komputasinya lebih kecil dari 1.000 PU (1 node). Dalam hal ini, Anda harus menggunakan PU untuk menentukan kapasitas komputasi instance.
Instance dengan kurang dari 1.000 PU dibuat untuk ukuran data, kueri, dan workload yang lebih kecil. Mereka memiliki resource komputasi terbatas, yang dapat mengakibatkan penskalaan non-linear dan masalah performa untuk beberapa workload. Instance ini juga mungkin mengalami peningkatan latensi secara terputus-putus.
Ketersediaan Spanner
Spanner didesain untuk ketersediaan tinggi. Karena kapasitas komputasi setiap instance tersebar di beberapa server di zona yang berbeda, Spanner tahan terhadap kegagalan salah satu server. Hilangnya server individual tidak menyebabkan kegagalan node. Spanner mengelola resource dasarnya secara otomatis untuk memberikan ketersediaan berkelanjutan bagi instance Anda.
Batas penyimpanan data
Seperti yang dijelaskan dalam Kuota & batas, untuk menyediakan 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 PU), Spanner mengalokasikan 1.024,0 GiB data untuk setiap 100 PU dalam database.
- Untuk instance 1 node dan yang lebih besar, Spanner mengalokasikan 10 TiB data untuk setiap node.
Misalnya, untuk membuat instance database 300 GB, Anda dapat menetapkan kapasitas komputasinya ke 100 PU. Kapasitas komputasi ini menjaga instance tetap di bawah batas hingga database bertambah menjadi lebih dari 1024,0 GiB. Setelah database mencapai ukuran ini, Anda perlu menambahkan 100 PU lagi agar database dapat berkembang. Jika tidak, Spanner mungkin menolak penulisan ke database. Untuk informasi selengkapnya, lihat Rekomendasi untuk penggunaan penyimpanan database.
Spanner menagih penyimpanan yang benar-benar digunakan instance, bukan total alokasi penyimpanannya.
Performa
Nilai throughput baca dan tulis puncak yang dapat disediakan oleh sejumlah 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 PU untuk ukuran data, kueri, dan workload yang lebih kecil. Untuk beban kerja yang lebih besar, resource komputasi yang terbatas dapat menghasilkan penskalaan dan performa non-linear, dengan peningkatan latensi yang tidak teratur.
Kapasitas komputasi dan konfigurasi instance
Seperti yang dijelaskan dalam Konfigurasi regional, dual-region, dan multi-region, Spanner mendistribusikan instance di seluruh zona dari satu atau beberapa region untuk memberikan performa tinggi dan ketersediaan tinggi. Oleh karena itu, Spanner juga mendistribusikan resource server yang disediakan oleh kapasitas komputasi instance.
Berikut adalah diagram yang menggambarkan distribusi resource server ini.
Diagram ini menggambarkan dua instance yang memiliki konfigurasi regional:
- Instance-A menunjukkan instance 1.000 PU (1 node) dengan distribusi kapasitas komputasinya yang menggunakan resource server di setiap tiga zona.
- Instance-B menampilkan instance 2000 PU (2 node) dengan distribusi kapasitas komputasi yang menggunakan resource server di setiap 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 menyinkronkan replika data ini, lihat Replikasi.
Resource server untuk Instance-A ditampilkan dalam kotak tunggal, sedangkan resource untuk Instance-B ditampilkan dalam kotak yang dibagi menjadi dua bagian. Perbedaan ini menunjukkan bahwa Spanner mengalokasikan resource server secara berbeda untuk instance berukuran berbeda:
- Untuk instance 1.000 PU (1 node) dan yang lebih kecil, Spanner mengalokasikan resource server dalam satu tugas server per zona.
- Untuk instance yang lebih besar dari 1.000 PU (1 node), Spanner mengalokasikan resource server dalam beberapa tugas server per zona, dengan satu tugas untuk setiap 1.000 PU. Menggunakan beberapa tugas server per zona memberikan performa yang lebih baik dan memungkinkan Spanner membuat pemisahan database dan memberikan performa yang lebih baik.
Mengubah kapasitas komputasi
Setelah membuat instance, Anda dapat meningkatkan kapasitas komputasinya nanti. Biasanya, permintaan selesai dalam beberapa menit. Terkadang, proses penskalaan dapat memerlukan waktu hingga satu jam untuk selesai.
Anda dapat mengurangi kapasitas komputasi instance Spanner, kecuali dalam skenario berikut:
Anda tidak dapat menyimpan lebih dari 10 TiB data per node (1.000 unit pemrosesan).
Ada banyak pemisahan untuk data instance Anda. Dalam skenario ini, Spanner mungkin tidak dapat mengelola pemisahan setelah Anda mengurangi kapasitas komputasi. Anda dapat mencoba mengurangi kapasitas komputasi dengan jumlah yang semakin kecil hingga Anda menemukan kapasitas minimum yang dibutuhkan Spanner untuk mengelola semua pemisahan instance.
Spanner dapat membuat sejumlah besar pemisahan untuk mengakomodasi pola penggunaan Anda. Jika pola penggunaan Anda berubah, setelah satu atau dua minggu, Spanner dapat menggabungkan beberapa pemisahan dan Anda dapat mencoba mengurangi kapasitas komputasi instance.
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 di instance multi-region. Anda mungkin mengalami peningkatan sementara latensi permintaan saat menghapus kapasitas komputasi.
Spanner tidak memiliki mode penangguhan. Kapasitas komputasi Spanner adalah resource khusus dan, meskipun Anda tidak menjalankan workload, Spanner sering melakukan pekerjaan di latar belakang untuk mengoptimalkan dan melindungi data Anda.
Anda dapat menggunakan konsolGoogle Cloud , Google Cloud CLI, atau library klien Spanner untuk mengubah kapasitas komputasi. Untuk mengetahui informasi selengkapnya, lihat Mengubah kapasitas komputasi.
Kapasitas komputasi versus replika
Jika Anda perlu meningkatkan skala resource server dan penyimpanan di instance Anda, 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. Peningkatan kapasitas komputasi memberikan lebih banyak CPU dan RAM untuk setiap replika, yang meningkatkan throughput replika (yaitu, lebih banyak operasi baca dan tulis per detik dapat terjadi).
Langkah berikutnya
- Pelajari cara Membuat dan mengelola instance.