Panoramica di Spanner Omni

Spanner Omni è una versione scaricabile di Spanner che ti consente di implementare la tecnologia di database distribuito di Google in data center on-premise, cloud pubblici e sul tuo laptop. Offre le funzionalità principali di Spanner, tra cui scalabilità orizzontale, alta disponibilità, conformità ACID e coerenza esterna elevata, utilizzando la replica basata su Paxos, lo sharding automatico e l'API TrueTime definita dal software.

Spanner Omni integra modelli di dati relazionali, grafici, vettoriali e coppia chiave-valore con funzionalità di analisi operativa e di ricerca a testo intero. Come Spanner, Spanner Omni supporta GoogleSQL, PostgreSQL e Spanner Graph Language. Puoi ottenere resilienza tra ambienti diversi, portabilità delle applicazioni e uno stack di sviluppo coerente in vari ambienti. Spanner Omni supporta opzioni di deployment che includono:

  • Macchine virtuali
  • Contenitori Linux
  • Cluster Kubernetes

La versione Anteprima di Spanner Omni include la funzionalità di base di Spanner, escluse le funzionalità di sicurezza e protezione dei dati di livello aziendale. Per l'accesso in anteprima alla versione con tutte le funzionalità, contatta Google.

Funzionalità principali

Spanner Omni offre le seguenti funzionalità:

  • Flessibilità di deployment: esegui Spanner Omni su Linux o macOS. Spanner Omni supporta ambienti cloud pubblico, come Google Cloud (Google Kubernetes Engine (GKE) e Cloud Storage) e Amazon Elastic Kubernetes Service (Amazon EKS) e Amazon Elastic Compute Cloud (Amazon EC2), on-premise e laptop.

  • Scalabilità elevata: Spanner Omni può partizionare orizzontalmente automaticamente i dati e bilanciare i partizionamenti per ottenere una scalabilità elastica per le letture e le scritture.

  • Alta affidabilità: Spanner Omni offre più topologie di deployment. Spanner Omni offre il deployment multizona e multicluster per fornire alta affidabilità in caso di errori di zona o cluster.

  • Coerenza esterna elevata: Spanner Omni fornisce una coerenza transazionale globale utilizzando TrueTime basato su software, che può essere implementato in qualsiasi ambiente.

  • Multimodello interoperabile: Spanner Omni supporta più modelli di dati (relazionali, coppia chiave-valore, grafici, vettoriali) e funzionalità (ricerca a testo intero, elaborazione analitica) e fornisce query cross-model e transazioni conformi ad ACID in diversi modelli di dati.

  • Interfaccia familiare: interagisci con i tuoi dati utilizzando la CLI Spanner, che include una shell SQL per le query interattive. Spanner Omni supporta i dialetti GoogleSQL, PostgreSQL e GQL, che ti consentono di eseguire la migrazione delle applicazioni esistenti.

Topologie di deployment

Spanner Omni utilizza una gerarchia di regioni, zone e server per definire la configurazione del deployment. Spanner Omni offre le seguenti configurazioni di deployment:

  • Server singolo: Spanner Omni viene eseguito su una singola macchina. Questa topologia è una buona opzione per lo sviluppo locale perché viene eseguita su una singola macchina. Gli upgrade a questa topologia causano tempi di inattività.

  • Zona singola: tutti i server Spanner Omni fanno parte di una zona. Utilizza almeno tre server per questa configurazione di deployment. Per un uptime ottimale, questa topologia ha target di disponibilità inferiori perché un errore in una singola zona può causare un'interruzione del servizio.

  • Multizona (o regionale): Spanner Omni distribuisce i server in più zone. Tutte le zone si trovano in un'unica posizione. Per i deployment multizona, utilizza un minimo di tre zone. Ogni zona deve avere almeno un server. Ti consigliamo di utilizzare tre server in ogni zona. Questa configurazione di deployment offre una disponibilità maggiore rispetto al deployment in una sola zona.

  • Multi-cluster (o multiregionale): i server Spanner Omni si trovano in più zone in più cluster. Per l'alta affidabilità, utilizza tre zone in due o più cluster e configura ogni zona con tre o più server.

Requisiti di sistema

Per ottimizzare il rendimento, utilizza i seguenti requisiti minimi consigliati per le implementazioni del server:

Ambiente Sistema operativo o piattaforma Consiglio sull'hardware
On-premise Linux (RHEL 9, Ubuntu 22) 4 GB di RAM per vCPU, oltre 20 GB di spazio su disco
Cloud (Google Cloud e AWS) VM o pod Kubernetes 4 vCPU, 16 GB di RAM per VM o pod Kubernetes
Sviluppatore (laptop, computer) macOS (M1, M2, M3) 4 GB di RAM, 10 GB di spazio su disco

Per lo spazio di archiviazione, è consigliabile utilizzare un'unità a stato solido (SSD) dedicata con un file system ext4.

Connettività e sviluppo

Per connetterti a Spanner Omni e sviluppare applicazioni, prendi in considerazione i seguenti strumenti:

  • Librerie client: puoi utilizzare le librerie client Spanner esistenti per Java e Go specificando l'endpoint Spanner Omni. Ad esempio, in Java imposta setExperimentalHost("http://localhost:15000").

  • PGAdapter: questo proxy consente alle applicazioni PostgreSQL esistenti di connettersi ai database di dialetti PostgreSQL di Spanner Omni utilizzando il protocollo di trasferimento PostgreSQL standard.

  • Diagnostica: un comando spanner admin diagnostics create dedicato raccoglie log, tracce e stack di thread per la risoluzione dei problemi.