- Che cos'è Database Migration Service?
- Quali origini sono supportate?
- Quali destinazioni sono supportate?
- È disponibile il supporto per più versioni?
- Di quali componenti di dati, schema e metadati viene eseguita la migrazione?
- Quali modifiche vengono replicate durante la migrazione continua?
- Di cosa non viene eseguita la migrazione?
- 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 consente di eseguire il lift and shift dei carichi di lavoro PostgreSQL in Cloud SQL.
- Quali origini 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 del database di origine.
- Di quali componenti di dati, schema e metadati viene eseguita la migrazione?
- Database Migration Service esegue la migrazione di schema, dati e metadati dall'origine alla destinazione. Di tutti i seguenti componenti di dati, schema e metadati viene eseguita la migrazione 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, solo le modifiche DML vengono aggiornate automaticamente. 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 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
- Di cosa non viene eseguita la migrazione?
-
Per aggiungere utenti all'istanza di destinazione Cloud SQL, vai all'istanza e aggiungi gli utenti dalla scheda Utenti o dal client PostgreSQL. Scopri di più sulla creazione e sulla 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 la migrazione manuale delle istruzioniUPDATEeDELETE.Database Migration Service non esegue la migrazione dei dati dalle viste materializzate, ma solo dello schema della vista. Per popolare le viste, esegui il comando seguente:
REFRESH MATERIALIZED VIEW view_name.Gli stati
SEQUENCE(ad esempio,last_value) nella nuova destinazione Cloud SQL 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 Lista consentita IP Funziona configurando il server del database di origine in modo che accetti le connessioni dall'IP pubblico di l'istanza Cloud SQL. Se scegli questo metodo, Database Migration Service ti guida nella procedura di configurazione durante la creazione della migrazione. - Facile da configurare.
- Opzione consigliata per scenari di migrazione di breve durata (migrazioni di database POC o di piccole dimensioni).
- 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 con hosting 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.
- Opzione consigliata per scenari di migrazione di breve durata (migrazioni di database POC o di piccole dimensioni).
- La VM bastion è di tua proprietà e la gestisci tu.
- Potrebbero essere addebitati costi aggiuntivi.
Peering VPC Questo metodo funziona configurando le VPC in modo che comunichino tra loro. È applicabile solo se sia l'origine che la destinazione sono ospitate in Google Cloud. Opzione consigliata per migrazioni di lunga durata o di grandi dimensioni. - Google Cloud soluzione.
- Facile da configurare.
- Banda larga
Disponibile solo quando l'origine è ospitata in Google Cloud. VPN Configura un tunnel VPN IPsec che collega la rete interna e Google Cloud 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.
- Banda medio-alta.
- Sicurezza integrata.
- Offerta di Google Cloud soluzioni o di altre terze parti.
- Costo aggiuntivo.
- Configurazione non banale (se non già in atto).
Cloud Interconnect Utilizza una connessione a disponibilità elevata e a bassa latenza tra la rete on-premise e Google Cloud. Banda più alta, ideale per migrazioni di lunga durata e di grandi dimensioni. - Costo aggiuntivo.
- Per impostazione predefinita, la connessione non è sicura.
- Configurazione non banale (se non già in atto).
- Quali sono le limitazioni note?
- Consulta Limitazioni note.