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 multi-region menggunakan minimal lima server. 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 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 workload 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, penskalaan dapat memerlukan waktu hingga satu jam untuk selesai.
Dalam sebagian besar kasus, Anda juga dapat mengurangi kapasitas komputasi. Ada beberapa kasus ketika Anda tidak dapat mengurangi kapasitas komputasi:
- Menghapus kapasitas komputasi mengharuskan instance Anda menyimpan lebih dari 10 TiB data per 1.000 unit pemrosesan (1 node).
- Berdasarkan pola penggunaan historis Anda, Spanner telah membuat sejumlah besar pemisahan untuk data instance Anda, dan dalam beberapa kasus yang jarang terjadi, Spanner tidak dapat mengelola pemisahan setelah menghapus kapasitas komputasi.
Dalam kasus terakhir, Anda dapat mencoba mengurangi kapasitas komputasi dengan jumlah yang semakin kecil hingga Anda menemukan kapasitas minimum yang dibutuhkan Spanner untuk mengelola semua pemisahan instance. Jika instance tidak lagi memerlukan banyak pemisahan karena perubahan pola penggunaan, Spanner mungkin akan 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 Anda 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 Google Cloud konsol, 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. Meningkatkan kapasitas komputasi akan memberi setiap replika lebih banyak CPU dan RAM, yang akan meningkatkan throughput replika (yaitu, lebih banyak operasi baca dan tulis per detik dapat terjadi).
Langkah berikutnya
- Pelajari cara Membuat dan mengelola instance.