Dokumen ini mendefinisikan konsep inti dan topologi deployment untuk Spanner Omni. Bagian ini mencakup hubungan hierarkis antara region, zona, dan server, serta menjelaskan bagaimana komponen ini terkait dengan replikasi dan penyimpanan data dalam deployment.
Konsep Spanner Omni
Bagian berikut memberikan definisi mendetail tentang terminologi yang digunakan di seluruh dokumentasi Spanner Omni. Mengenal konsep-konsep ini akan memastikan pemahaman yang jelas tentang arsitektur dan perilaku operasional sistem.
Deployment
Penerapan Spanner Omni, yang memungkinkan Anda menggunakan database di pusat data atau akun cloud publik. Anda membuat penerapan sesuai dengan parameter yang ditentukan dalam konfigurasi penerapan. Penerapan Spanner Omni setara dengan instance Spanner| diGoogle Cloud.
Konfigurasi deployment
Menyediakan penempatan dan spesifikasi region, zona, dan server untuk deployment Spanner Omni Anda. Anda dapat memilih konfigurasi deployment server tunggal, region tunggal, atau multi-region.
Lokasi
Setara dengan region dalam istilah Google Cloud . Latensi jaringan antara dua region tidak sepele. Untuk deployment lokal, Anda dapat menentukan region Anda sendiri. Untuk deployment cloud, region harus selaras dengan region di masing-masing penyedia cloud. Satu region dapat memiliki beberapa zona.
Proses
Server Spanner melakukan fork dan mengelola beberapa proses. Misalnya, TimeServer, spanserver adalah semua proses di Spanner. Setiap proses dapat memiliki statistik pemantauan seperti penggunaan CPU dan memori. Proses dapat membuka port untuk berkomunikasi dengan server lain dalam deployment.
Replika
Spanner mereplikasi data untuk menyediakan ketersediaan data dan lokalitas geografis. Secara umum, Spanner mengatur semua data ke dalam baris. Spanner membuat beberapa salinan, atau replika baris ini, lalu menyimpan replika ini di berbagai area geografis. Spanner menggunakan skema replikasi sinkron berbasis Paxos, yang di dalamnya replika voting memberikan suara pada setiap permintaan penulisan sebelum melakukan penulisan ke database. Seperti di Spanner, ada tiga jenis replika di Spanner Omni: baca-tulis, baca saja, dan saksi. Untuk mengetahui informasi selengkapnya, lihat jenis replika di dokumentasi Spanner.
Server
Server adalah resource komputasi, seperti VM atau container, tempat server Spanner Omni berjalan. Setiap server memiliki resource sistemnya sendiri: CPU, memori, dan penyimpanan. Server menyediakan kemampuan Spanner Omni dengan menyimpan dan menyajikan data pengguna.
Server root
Server root menyimpan metadata penting untuk mendukung zona. Misalnya, server root menyimpan informasi keanggotaan server dan informasi konfigurasi zona lainnya.
Jumlah server root per zona harus berupa bilangan ganjil antara satu dan sembilan, inklusif, untuk memastikan kuorum demi konsistensi. Jika jumlah server adalah bilangan genap, deployment mungkin gagal. Saat mengonfigurasi zona, tetapkan server sebagai server root. Sebaiknya gunakan satu untuk pengembangan atau pengujian dan tiga untuk zona produksi dengan ketersediaan tinggi.
Pertimbangkan jumlah server root dengan cermat saat merencanakan deployment. Meskipun Anda dapat mengubah jumlah server root dalam deployment setelah membuatnya, sebaiknya jangan lakukan hal ini.
Server non-root
Server non-root menyimpan dan menyajikan data pengguna serta menyediakan cara untuk menskalakan kapasitas komputasi dan penyimpanan zona. Anda dapat menambahkan server non-root sebanyak yang diperlukan workload ke deployment Anda. Anda dapat mengubah jumlah server non-root setelah membuat deployment.
Bagi
Pemisahan Spanner menyimpan rentang baris data yang berdekatan, dengan Spanner mengurutkan baris berdasarkan kunci utama. Spanner membuat replika setiap pemisahan yang disimpan di setiap zona.
Penyimpanan
Penyimpanan permanen yang terpasang ke server.
Zona
Grup yang terdiri dari satu atau beberapa server. Untuk replikasi data, Anda harus membuat satu zona per replika. Untuk deployment lokal, sebaiknya minimalkan berbagi infrastruktur (VM, disk) antar-zona. Untuk deployment cloud, selaraskan zona dengan zona ketersediaan di AWS, atau zona di Google Cloud.