- Che cos'è Database Migration Service?
- Quali fonti sono supportate?
- Quali destinazioni sono supportate?
- È disponibile il supporto per più versioni?
- Quali componenti di dati, schema e metadati vengono migrati?
- Quali modifiche vengono replicate durante la migrazione continua?
- Elementi di cui non viene eseguita la migrazione
- Quali metodi di networking vengono utilizzati?
- Quali sono le limitazioni note?
- Che cos'è Database Migration Service?
- Database Migration Service è un servizio che semplifica la migrazione dei dati a Google Cloud. Database Migration Service ti aiuta a eseguire il lift and shift dei carichi di lavoro PostgreSQL in Cloud SQL.
- Quali fonti sono supportate?
-
- Amazon RDS 9.6.10+, 10.5+, 11.1+, 12, 13, 14, 15, 16, 17, 18.
- Amazon Aurora 10.11+, 11.6+, 12.4+, 13.3+, 14.6+, 15.2+, 16, 17, 18.
- PostgreSQL autogestito (on-premise o su qualsiasi VM cloud di cui hai il controllo totale) 9.4, 9.5, 9.6, 10, 11, 12, 13, 14, 15, 16, 17, 18.
- Cloud SQL per PostgreSQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17, 18.
- Database di Microsoft Azure per il server flessibile PostgreSQL: 11+
- Quali destinazioni sono supportate?
-
- Cloud SQL per PostgreSQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17, 18.
- È disponibile il supporto per più versioni?
- Database Migration Service supporta le migrazioni da PostgreSQL a Cloud SQL in qualsiasi versione principale, in cui la destinazione è la stessa o una versione successiva rispetto al database di origine.
- Quali componenti di dati, schema e metadati vengono migrati?
- Database Migration Service esegue la migrazione di schema, dati e metadati dall'origine alla destinazione. Tutti i seguenti componenti di dati, schema e metadati vengono migrati nell'ambito della migrazione del database:
Migrazione dei dati
- Tutti gli schemi e tutte le tabelle del database selezionato.
- Denominazione
- Chiave primaria
- Tipo di dati
- Posizione ordinale
- Valore predefinito
- Supporto di valori Null
- Attributi di incremento automatico
- Indici secondari
- Stored procedure
- Funzioni
- Trigger
- Visualizzazioni
- Vincoli di chiave esterna
- Quali modifiche vengono replicate durante la migrazione continua?
-
Solo le modifiche DML vengono aggiornate automaticamente durante la migrazione. La gestione di DDL in modo che i database di origine e di destinazione rimangano compatibili è responsabilità dell'utente e può essere eseguita in due modi:
- Interrompi le scritture sull'origine ed esegui i comandi DDL sia sull'origine che sulla destinazione. Prima di eseguire i comandi DDL sulla destinazione, concedi il ruolo
cloudsqlexternalsyncall'utente Cloud SQL che applica le modifiche DDL. Per abilitare l'invio di query o la modifica dei dati, concedi il ruolocloudsqlexternalsyncagli utenti Cloud SQL pertinenti. Utilizza
pglogical.replicate_ddl_commandper eseguire DDL su origine e destinazione in un punto coerente. L'utente che esegue questo comando deve avere lo stesso nome utente sia nell'origine che nella destinazione e deve essere il superutente o il proprietario dell'artefatto di cui viene eseguita la migrazione (ad esempio, la tabella, la sequenza, la vista o il database).Ecco alcuni esempi di utilizzo di
pglogical.replicate_ddl_command.Per aggiungere una colonna a una tabella del database, esegui questo comando:
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] add column surname varchar(20)', '{default}');Per modificare il nome di una tabella del database, esegui questo comando:
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] RENAME TO [table_name]','{default}');Per creare una tabella del database, esegui questi comandi:
select pglogical.replicate_ddl_command(command := 'CREATE TABLE [schema].[table] (id INTEGER PRIMARY KEY, name VARCHAR);', replication_sets := ARRAY['default'']);select pglogical.replication_set_add_table('default', '[schema].[table]');
- Interrompi le scritture sull'origine ed esegui i comandi DDL sia sull'origine che sulla destinazione. Prima di eseguire i comandi DDL sulla destinazione, concedi il ruolo
- Elementi di cui non viene eseguita la migrazione
-
Per aggiungere utenti all'istanza di destinazione Cloud SQL, vai all'istanza e aggiungi utenti dalla scheda Utenti oppure aggiungili dal client PostgreSQL. Scopri di più su come creare e gestire gli utenti PostgreSQL.
Gli oggetti di grandi dimensioni non possono essere replicati perché la funzionalità di decodifica logica di PostgreSQL non supporta la decodifica delle modifiche agli oggetti di grandi dimensioni. Per le tabelle con tipo di colonna oid che fa riferimento a oggetti di grandi dimensioni, le righe vengono comunque sincronizzate e le nuove righe vengono replicate. Tuttavia, il tentativo di accedere all'oggetto di grandi dimensioni nel database di destinazione (lettura tramite lo_get, esportazione tramite lo_export o controllo del catalogo
pg_largeobjectper l'oid specificato) non riesce e viene visualizzato un messaggio che indica che l'oggetto di grandi dimensioni non esiste.Per le tabelle senza chiavi primarie, Database Migration Service supporta la migrazione degli snapshot iniziali e delle istruzioni
INSERTdurante la fase Change Data Capture (CDC). Devi eseguire manualmente la migrazione delle istruzioniUPDATEeDELETE.Database Migration Service non esegue la migrazione dei dati dalle viste materializzate, ma solo dello schema della vista. Per popolare le visualizzazioni, esegui il comando seguente:
REFRESH MATERIALIZED VIEW view_name.Gli stati
SEQUENCE(ad esempiolast_value) nella nuova destinazione Cloud SQL potrebbero variare rispetto agli statiSEQUENCEdell'origine. - Quali metodi di networking vengono utilizzati?
- Per creare una migrazione in Database Migration Service, è necessario stabilire la connettività
tra l'origine e l'istanza Cloud SQL di destinazione. Sono supportati diversi metodi.
Scegli quella più adatta al carico di lavoro specifico.
Metodo di networking Descrizione Vantaggi Svantaggi Lista consentita IP Funziona configurando il server del database di origine in modo che accetti connessioni dall'IP pubblico dell'istanza Cloud SQL. Se scegli questo metodo, Database Migration Service ti guida nella procedura di configurazione durante la creazione della migrazione. - Facile da configurare.
- Consigliato per scenari di migrazione di breve durata (POC o migrazioni di piccoli database).
- La configurazione del firewall potrebbe richiedere l'assistenza del reparto IT.
- Espone il database di origine a un IP pubblico.
- Per impostazione predefinita, la connessione non è criptata. Richiede l'abilitazione di SSL sul database di origine per criptare la connessione.
Tunnel SSH inverso tramite VM ospitata nel cloud Stabilisce la connettività dalla destinazione all'origine tramite un tunnel SSH inverso sicuro. Richiede una VM bastion host nel Google Cloud progetto e una macchina (ad esempio, un laptop sulla rete) che abbia la connettività all'origine. Database Migration Service raccoglie le informazioni richieste al momento della creazione della migrazione e genera automaticamente lo script per la configurazione. - Facile da configurare.
- Non richiede alcuna configurazione firewall personalizzata.
- Consigliato per scenari di migrazione di breve durata (POC o migrazioni di piccoli database).
- La VM Bastion è di tua proprietà e la gestisci tu.
- Potrebbero essere applicati costi aggiuntivi.
Peering VPC Questo metodo funziona configurando i VPC in modo che comunichino tra loro. Questa opzione è applicabile solo se sia l'origine che la destinazione sono ospitate in Google Cloud. Consigliato per migrazioni di lunga durata o di grandi volumi. - Google Cloud soluzione.
- Facile da configurare.
- Larghezza di banda elevata
Disponibile solo quando l'origine è ospitata in Google Cloud. VPN Configura un tunnel VPN IPSec che connette la rete interna e Google Cloud VPC tramite una connessione sicura su internet pubblico. Utilizza Google Cloud una VPN o qualsiasi soluzione VPN configurata per la rete interna. - Soluzione di connettività solida e scalabile.
- Larghezza di banda medio-alta.
- Sicurezza integrata.
- Offerte come soluzioni Google Cloud o da altre terze parti.
- Costi aggiuntivi.
- Configurazione non banale (se non già in atto).
Cloud Interconnect Utilizza una connessione a disponibilità elevata e bassa latenza tra la rete on-premise e Google Cloud. Larghezza di banda più elevata, ideale per migrazioni di grandi volumi di lunga durata. - Costi aggiuntivi.
- Per impostazione predefinita, la connessione non è sicura.
- Configurazione non banale (se non già in atto).
- Quali sono le limitazioni note?
- Vedi Limitazioni note.