Questo documento descrive il processo di migrazione dei tuoi dati e dell'applicazione a Grafico Spanner. Descriviamo le fasi della migrazione e gli strumenti consigliati per ogni fase, a seconda del database di origine e di altri fattori.
La migrazione del grafico a Spanner Graph prevede le seguenti fasi fondamentali:
- Raccogliere i requisiti dell'applicazione.
- Progetta lo schema di Spanner Graph.
- Esegui la migrazione dell'applicazione in Spanner Graph.
- Testa e ottimizza Spanner Graph.
- Esegui la migrazione dei dati in Spanner Graph.
- Convalida la migrazione dei dati.
- Configura il meccanismo di passaggio e failover.
Per ottimizzare le prestazioni dello schema e dell'applicazione, potrebbe essere necessario progettare iterativamente il tuo schema, creare la tua applicazione, testare e ottimizzare Grafico Spanner.
Raccogliere i requisiti dell'applicazione
Per progettare uno schema che soddisfi le esigenze della tua applicazione, raccogli le informazioni i seguenti requisiti:
- Modellazione dei dati
- Pattern di query comuni
- Requisiti di latenza e velocità in bit
Progetta lo schema del grafico di Spanner
Per scoprire come progettare uno schema di Spanner Graph, consulta Panoramica dello schema di Spanner per i concetti di base e vediamo Creare, aggiornare o rilasciare uno schema di grafico Spanner per altri esempi. Per ottimizzare lo schema per pattern di query comuni, consulta Best practice per la progettazione di uno schema di Spanner Graph.
Esegui la migrazione dell'applicazione a Spanner Graph
Innanzitutto, leggi le linee guida generali di Spanner sulla migrazione dell'applicazione, quindi leggi le linee guida in questa sezione per conoscere le linee guida per la migrazione delle applicazioni di Spanner Graph.
Connettiti al grafico Spanner
Per scoprire come connetterti in modo programmatico con Spanner Graph, consulta Creare, aggiornare o rilasciare uno schema di grafico Spanner e Panoramica delle query di Spanner.
Esegui la migrazione delle query
L'interfaccia di query del grafico di Spanner è compatibile ISO GQL e include ulteriori il supporto della sintassi openCypher. Per ulteriori informazioni, consulta Documentazione di riferimento di Spanner Graph per gli utenti di openCypher.
Esegui la migrazione delle mutazioni
Per eseguire la migrazione della logica di mutazione dell'applicazione, puoi utilizzare i meccanismi di mutazione delle tabelle Spanner. Per saperne di più, consulta Inserire, aggiornare o eliminare il grafico di Spanner i tuoi dati.
Testa e ottimizza il grafico di Spanner
Le indicazioni di Spanner su come testare e ottimizzare le prestazioni di schema e applicazioni al grafico Spanner. Per conoscere le best practice per l'ottimizzazione delle prestazioni di Spanner Graph, consulta le best practice per la progettazione di uno schema di Spanner Graph e le best practice per l'ottimizzazione delle query di Spanner Graph.
Esegui la migrazione dei dati al grafico Spanner
Per spostare i dati da un database relazionale, vedi Eseguire la migrazione dei dati.
Per spostare i dati da un database grafico o non relazionale, puoi rendere caricare i dati dal database di origine in file, caricarli in Cloud Storage e quindi importare i file utilizzando Dataflow. Formati file consigliati includono AVRO e CSV. Per ulteriori informazioni, consulta Formati consigliati per gli acquisti collettivi migrazione.
Gestisci i vincoli
Se lo schema contiene vincoli definiti nelle tabelle di input, assicurati che questi vincoli non vengano violati durante l'importazione dei dati. I vincoli includono seguenti:
- Chiavi esterne: un vincolo di chiave esterna potrebbe essere definito per il riferimento di un bordo a un nodo.
- Interlacciamento: una tabella di input di edge potrebbe essere interlacciata in una tabella di input di nodi. Questa interfoliazione definisce una relazione genitore-figlio, con vincolo implicito secondo cui l'elemento principale deve esistere prima della creazione di quella secondaria.
L'entità principale in un'organizzazione interlacciata e l'entità a cui si fa riferimento nel vincolo di chiave esterna devono essere caricate per prime. Ciò significa che devi prima caricare nodi nel grafico e quindi caricare i bordi. Quando carichi gli angoli prima del caricamento nodi a cui si connettono gli archi, potresti riscontrare errori durante processo di caricamento che indica che alcune chiavi non esistono.
Per ottenere l'ordine di importazione corretto, utilizza i modelli forniti da Google per definire job Dataflow separati per ogni fase ed eseguili in sequenza. Ad esempio, puoi eseguire un job Dataflow per importare i nodi e un altro job Dataflow per importare gli archi. In alternativa, puoi scrivere un job Dataflow personalizzato che gestisce la sequenza di importazione.
Per ulteriori informazioni sui modelli forniti da Google, consulta quanto segue:
Se esegui l'importazione nell'ordine sbagliato, il job potrebbe non riuscire o la migrazione potrebbe essere eseguita solo su parte dei dati. Se viene eseguita la migrazione solo di una parte dei dati, eseguila di nuovo.
Migliora l'efficienza del caricamento dei dati
Per migliorare l'efficienza del caricamento dei dati, crea indici secondari e definisci dopo l'importazione dei dati in Spanner. Questo approccio è solo possibili per il caricamento iniziale in blocco o durante la migrazione con tempi di inattività.
Convalidare la migrazione dei dati
Dopo aver eseguito la migrazione dei dati, esegui query di base per verificare la loro correttezza. Esegui le seguenti query su database di origine e di destinazione per verificare che i risultati corrispondano:
- Conta il numero di nodi e spigoli.
- Conta il numero di nodi ed archi per etichetta.
- Statistiche di calcolo (conteggio, somma, media, min, max) su ciascun nodo e proprietà perimetrale.
Configura il meccanismo di passaggio e failover
Configura i meccanismi di cutover e failover.