Sviluppare con Spanner Omni

Sviluppa applicazioni con Spanner Omni utilizzando le funzionalità di Spanner supportate. Sebbene molte funzionalità siano condivise con Spanner, Spanner Omni presenta differenze nelle librerie client, nell'interfaccia a riga di comando (CLI) e nella funzionalità della console.

Le funzionalità di sviluppo di Spanner supportate includono:

Differenze principali

Sebbene gran parte dell'esperienza di sviluppo di Spanner sia applicabile, le seguenti aree differiscono in Spanner Omni:

  • Librerie client supportate: Spanner Omni supporta le librerie client Java, Go e Python.

  • Interfaccia a riga di comando (CLI): la CLI di Spanner Omni è uno strumento dedicato distinto da Google Cloud CLI. Sebbene condivida una sintassi simile, non è necessario fornire il flag --instance quando esegui i comandi.

  • Limitazioni della console: la console di Spanner Omni è di sola lettura, quindi non puoi utilizzarla per modificare i deployment o i database.

Le seguenti funzionalità e best practice di Spanner si applicano a Spanner Omni.

Best practice e casi di utilizzo

Segui queste best practice e questi casi di utilizzo per progettare e ottimizzare le tue applicazioni per Spanner Omni.

  • Spanner come database per i videogiochi: utilizza la scalabilità e la coerenza di Spanner per i backend dei videogiochi.

  • Best practice per SQL: ottimizza le query per prestazioni ed efficienza. La maggior parte dei concetti si applica a Spanner Omni. Poiché Spanner Omni non supporta l'archiviazione a livelli, concetti come il push-down del predicato del timestamp potrebbero non essere completamente applicabili. Inoltre, Spanner Omni non dispone di funzionalità di visualizzazione del piano di query.

Framework di linguaggio

Integra Spanner Omni con i framework di linguaggio più diffusi:

Hibernate ORM

Utilizza Hibernate Object-Relational Mapping (ORM) per mappare gli oggetti Java alle tabelle di Spanner Omni. Per ulteriori informazioni, consulta le seguenti risorse:

GORM

Integra Spanner Omni con GORM, uno strumento di mappatura relazionale degli oggetti (ORM) per il linguaggio di programmazione Go. Per utilizzare le funzionalità di mappatura relazionale degli oggetti di GORM nelle applicazioni Go. Per ulteriori informazioni, consulta le seguenti risorse:

Transazioni e concorrenza

Spanner Omni supporta le seguenti funzionalità di gestione delle transazioni:

Livelli di isolamento

Scopri i diversi livelli di isolamento supportati da Spanner Omni per garantire la coerenza dei dati.

Ottimizzazione

Utilizza queste tecniche per ottimizzare il rendimento e il throughput delle transazioni.

Chiusura della serratura

Scopri come utilizzare il blocco esplicito per gestire l'accesso simultaneo ai dati.

Accesso e modifica dei dati

Accedi e modifica i dati utilizzando i metodi standard di Spanner, tra cui le librerie client, la CLI e DML.

Per scoprire come le librerie client gestiscono le sessioni, consulta Sessioni. Sebbene i concetti di sessione sottostanti si applichino a Spanner Omni, quest'ultimo supporta solo le sessioni multiplexate.

Lettura dei dati

Leggi i dati da Spanner Omni utilizzando vari metodi, tra cui le letture obsolete e le letture dirette.

Modifica dei dati

Modifica i dati utilizzando DML, mutazioni o la CLI.

Tipi di dati

Spanner Omni supporta i seguenti tipi di dati per rappresentare i dati della tua applicazione:

Sviluppo e test

Configura l'ambiente di sviluppo e il comportamento dell'applicazione per garantire prestazioni affidabili e gestione degli errori.

Trasmetti in streaming le modifiche dei dati

I flussi di modifiche di Spanner monitorano le modifiche del database, come inserimenti, aggiornamenti ed eliminazioni, quasi in tempo reale. Gestiti tramite DDL, acquisiscono dettagli come chiavi primarie e timestamp di commit per interi database o tabelle specifiche. Sebbene la funzionalità sia quasi identica tra Spanner e Spanner Omni, Dataflow non è supportato in Spanner Omni.

Per saperne di più, consulta:

Utilizza la ricerca a testo intero (FTS) di Spanner per cercare parole, frasi o numeri nelle tabelle. FTS legge gli ultimi dati di cui è stato eseguito il commit.

Le funzionalità principali di FTS includono:

Per utilizzare FTS, crea indici di ricerca sulle colonne in cui vuoi eseguire la ricerca. Spanner suddivide i dati in queste colonne in singole parole. Aggiorna immediatamente l'indice quando vengono aggiunti nuovi dati.

Le ricerche FTS offrono funzionalità avanzate oltre alla corrispondenza del testo standard, ad esempio:

La funzionalità FTS è coerente tra Spanner e Spanner Omni.

Differenze di testo intero in Spanner

Spanner supporta la funzionalità FTS principale presente in Spanner con le seguenti differenze:

Passaggi successivi