- Che cos'è Database Migration Service?
- Quali origini 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?
- Che cosa non viene migrato?
- Quali metodi di rete 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 AlloyDB.
- Quali origini sono supportate?
-
- Amazon RDS 9.6.10+, 10.5+, 11.1+, 12, 13, 14, 15, 16, 17
- Amazon Aurora 10.11+, 11.6+, 12.4+, 13.3+, 14, 15, 16, 17
- PostgreSQL autogestito (on-premise o su qualsiasi VM cloud che controlli completamente) 9.4, 9.5, 9.6, 10, 11, 12, 13, 14, 15, 16, 17
- Cloud SQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17
- Quali destinazioni sono supportate?
-
- AlloyDB per PostgreSQL 14, 15, 16, 17, 18
- È disponibile il supporto per più versioni?
- Database Migration Service supporta le migrazioni da PostgreSQL ad AlloyDB da una qualsiasi delle versioni del database di origine supportate.
- 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?
-
Durante la migrazione vengono aggiornate automaticamente solo le modifiche DML. 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
alloydbexternalsyncall'utente Cloud SQL che applica le modifiche DDL. Per abilitare l'invio di query o la modifica dei dati, concedi il ruoloalloydbexternalsyncagli 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 sull'origine che sulla destinazione e deve essere il superutente o il proprietario dell'artefatto di cui viene eseguita la migrazione (ad esempio, la tabella, la sequenza, la visualizzazione o il database).Ecco alcuni esempi di utilizzo di
pglogical.replicate_ddl_command.Per aggiungere una colonna a una tabella di database, esegui il comando seguente:
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] add column surname varchar(20)', '{default}');Per modificare il nome di una tabella di database, esegui il comando seguente:
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] RENAME TO [table_name]','{default}');Per creare una tabella di database, esegui i comandi seguenti:
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
- Che cosa non viene migrato?
-
Per aggiungere utenti all'istanza di destinazione AlloyDB, aggiungili dal client PostgreSQL. Scopri di più sulla creazione e la gestione degli utenti PostgreSQL.
Non è possibile replicare gli oggetti di grandi dimensioni perché la funzionalità di decodifica logica di PostgreSQL non supporta la decodifica delle modifiche apportate a questi oggetti. 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 visualizzazioni materializzate, ma solo dello schema della visualizzazione. Per popolare le visualizzazioni, esegui il comando seguente:
REFRESH MATERIALIZED VIEW view_name.Gli stati
SEQUENCE(ad esempio,last_value) nella nuova destinazione AlloyDB potrebbero variare rispetto agli statiSEQUENCEdi origine. - Quali metodi di rete vengono utilizzati?
- Per creare una migrazione in Database Migration Service, è necessario stabilire la connettività tra l'origine e l'istanza di destinazione Cloud SQL. Sono supportati diversi metodi.
Scegli quello più adatto al carico di lavoro specifico.
Metodo di Networking Descrizione Vantaggi Svantaggi 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 collects the required information at migration creation time, and auto-generates the script for setting it up. - Facile da configurare.
- Non richiede alcuna configurazione personalizzata del firewall.
- Consigliato per scenari di migrazione di breve durata (migrazioni di database POC o di piccole dimensioni).
- La VM bastion è di tua proprietà e viene gestita da te.
- Potrebbero essere addebitati costi aggiuntivi.
Proxy TCP tramite una VM ospitata nel cloud Stabilisce la connettività dalla destinazione all'origine tramite un proxy TCP tramite VM ospitata nel cloud. Database Migration Service raccoglie le informazioni richieste al momento della creazione della migrazione e genera automaticamente lo script per la configurazione. Rilevante per le migrazioni di AlloyDB in cui l'origine si trova nella vecchia architettura di rete. - Facile da configurare.
- Non richiede alcuna configurazione personalizzata del firewall.
- La VM bastion è di tua proprietà e viene gestita da te e potrebbero essere addebitati costi aggiuntivi.
Peering VPC Questo metodo funziona configurando le VPC in modo che comunichino tra loro. - Soluzione nativa Google Cloud .
- Facile da configurare.
- Larghezza di banda elevata
- Consigliato per migrazioni di lunga durata o di volume elevato.
Applicabile solo se i database di origine e di destinazione sono ospitati in Google Cloud. VPN Configura un tunnel VPN IPSec che collega la rete interna e Google Cloud la VPC tramite una connessione sicura sulla rete internet pubblica. Utilizza Google Cloud VPN o qualsiasi soluzione VPN configurata per la rete interna. - Soluzione di connettività robusta e scalabile.
- Larghezza di banda medio-alta.
- Sicurezza integrata.
- Offerta come Google Cloud soluzioni o da altre terze parti.
- Costo aggiuntivo.
- Configurazione non banale (a meno che non sia già in vigore).
Cloud Interconnect Utilizza una connessione ad alta affidabilità e a bassa latenza tra la rete on-premise e Google Cloud. Larghezza di banda massima, ideale per migrazioni di lunga durata e di volume elevato. - Costo aggiuntivo.
- La connessione non è sicura per impostazione predefinita.
- Configurazione non banale (a meno che non sia già in vigore).
- Quali sono le limitazioni note?
- Consulta Limitazioni note.