Questo documento definisce i concetti di base e le topologie di deployment per Spanner Omni. Descrive la relazione gerarchica tra regioni, zone e server e spiega come questi componenti sono correlati alla replica e all'archiviazione dei dati all'interno di un deployment.
Concetti di Spanner Omni
Le sezioni seguenti forniscono definizioni dettagliate della terminologia utilizzata nella documentazione di Spanner Omni. La conoscenza di questi concetti garantisce una chiara comprensione dell'architettura e del comportamento operativo del sistema.
Deployment
Un deployment di Spanner Omni, che ti consente di utilizzare i database nei data center o negli account cloud pubblico. Crea il deployment in base ai parametri specificati nella configurazione del deployment. Un deployment di Spanner Omni è equivalente a un' istanza Spanner| in Google Cloud.
Configurazione del deployment
Fornisce il posizionamento e la specifica di regioni, zone e server per il deployment di Spanner Omni. Puoi scegliere una configurazione di deployment a server singolo, a regione singola o multiregionale.
Località
L'equivalente di regione in Google Cloud termini. La latenza di rete tra due regioni non è banale. Per i deployment on-premise, puoi definire le tue regioni. Per i deployment cloud, la regione deve essere allineata alle regioni del rispettivo cloud provider. Una regione può avere più zone.
Processo
Il server Spanner esegue il fork e gestisce più processi. Ad esempio, TimeServer e spanserver sono tutti processi in Spanner. I singoli processi possono avere statistiche di monitoraggio come l'utilizzo di CPU e memoria utilizzata. Un processo può aprire le porte per comunicare con altri server nel deployment.
Replica
Spanner replica i dati per fornire disponibilità e località geografica. A livello generale, Spanner organizza tutti i dati in righe. Spanner crea più copie, o repliche, di queste righe, quindi le archivia in diverse aree geografiche. Spanner utilizza uno schema di replica sincrono basato su Paxos, in cui le repliche di voto votano su ogni richiesta di scrittura prima di eseguire il commit della scrittura nel database. Come in Spanner, in Spanner Omni esistono tre tipi di repliche: lettura-scrittura, di sola lettura e di testimonianza. Per ulteriori informazioni, consulta la sezione Tipi di repliche nella documentazione di Spanner.
Server
Un server è una risorsa di computing, ad esempio una VM o un container, in cui viene eseguito il server Spanner Omni. Ogni server ha le proprie risorse di sistema: CPU, memoria e spazio di archiviazione. Il server fornisce le funzionalità di Spanner Omni archiviando e pubblicando i dati utente.
Server root
I server root archiviano metadati critici per supportare la zona. Ad esempio, il server root archivia l'appartenenza al server e altre informazioni di configurazione della zona. I server root utilizzano algoritmi di quorum per la coerenza, quindi in una zona deve essere presente un numero dispari di server root: uno per le zone molto piccole e da tre a cinque per le zone più grandi. Valuta attentamente il numero di server root durante la pianificazione del deployment. Sebbene sia possibile modificare il numero di server root nel deployment dopo averlo creato, non è consigliabile.
Server non root
I server non root archiviano ed erogano i dati utente e forniscono un modo per scalare la capacità di computing e lo spazio di archiviazione di una zona. Puoi aggiungere al deployment tutti i server non root necessari per il carico di lavoro. Puoi modificare il numero di server non root dopo aver creato il deployment.
Suddividi
Una suddivisione di Spanner contiene un intervallo di righe di dati contigue, in cui Spanner ordina le righe in base alla chiave primaria. Spanner crea repliche di ogni suddivisione che archivia in ogni zona.
Archiviazione
Lo spazio di archiviazione permanente collegato al server.
Zona
Un gruppo di uno o più server. Per la replica dei dati, devi creare una zona per ogni replica. Per i deployment on-premise, ti consigliamo di ridurre al minimo la condivisione dell'infrastruttura (VM, dischi) tra le zone. Per i deployment cloud, allinea le zone alle zone di disponibilità in AWS o alle zone in Google Cloud.