Spanner Omni è una versione scaricabile di Spanner che ti consente di eseguire il deployment della 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 software-defined.
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 gli ambienti, portabilità delle applicazioni e uno stack di sviluppo coerente in vari ambienti. Spanner Omni supporta le seguenti opzioni di deployment:
- Macchine virtuali
- Container Linux
- Cluster Kubernetes
Limitazioni della versione di anteprima di Spanner Omni
La versione di anteprima di Spanner Omni include le funzionalità di base di Spanner con le seguenti eccezioni importanti:
Le funzionalità di sicurezza aziendale e la crittografia TLS non sono supportate.
Spanner Omni smette di scrivere dati 90 giorni dopo la creazione di un deployment.
I backup e i ripristini non sono supportati.
Per l'accesso anticipato alla versione con funzionalità complete, 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 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 multi-zona e multi-cluster per garantire un'alta affidabilità in caso di guasti a livello di zona o cluster.
Coerenza esterna elevata: Spanner Omni fornisce una coerenza transazionale globale utilizzando TrueTime basato su software che può essere eseguito il deployment in qualsiasi ambiente.
Multi-modello 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 tra modelli e transazioni conformi ad ACID su diversi modelli di dati.
Interfaccia familiare: interagisci con i tuoi dati utilizzando la CLI di 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 di 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 (o zonale) : 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 guasto a livello di zona singola può causare un'interruzione.
Multi-zona (o regionale) : Spanner Omni distribuisce i server in più zone. Tutte le zone si trovano in un'unica località. Per i deployment multi-zona, utilizza almeno 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 a zona singola.
Multi-cluster (o multi-regionale) : i server Spanner Omni si trovano in più zone in più cluster. Per un'alta affidabilità, utilizza tre zone in due o più cluster e configura ogni zona con tre o più server.
Requisiti di sistema
Per ottimizzare le prestazioni, utilizza i seguenti requisiti minimi consigliati per i deployment dei server:
| Ambiente | Sistema operativo o piattaforma | Consigli sull'hardware |
|---|---|---|
| On-premise | Linux (RHEL 9, Ubuntu 22) | 4 GB di RAM per vCPU, 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 desktop) | macOS (M1, M2, M3) | 4 GB di RAM, 10 GB di spazio su disco |
Per lo spazio di archiviazione, è consigliato lo spazio di archiviazione SSD (Solid State Drive) dedicato 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 wire PostgreSQL standard.
Diagnostica: un comando
spanner admin diagnostics creatededicato raccoglie log, tracce e stack di thread per la risoluzione dei problemi.