- O que é o Database Migration Service?
 - Quais fontes são compatíveis?
 - Há suporte para várias versões?
 - Quais componentes de dados, esquema e metadados são migrados?
 - Quais mudanças são replicadas durante a migração contínua?
 - O que não é migrado?
 - Quais métodos de rede são usados?
 - Quais são as limitações conhecidas?
 
- O que é o Database Migration Service? O
 - Database Migration Service é um serviço que facilita a migração de dados para o Google Cloud. O Database Migration Service ajuda a fazer a migração lift-and-shift das suas cargas de trabalho do PostgreSQL para o AlloyDB.
 - Quais fontes são aceitas?
 - 
  
  
- Amazon RDS 9.6.10+, 10.5+, 11.1+, 12, 13, 14, 15, 16 e 17
 - Amazon Aurora 10.11+, 11.6+, 12.4+, 13.3+, 14, 15, 16 e 17
 - PostgreSQL 9.4, 9.5, 9.6, 10, 11, 12, 13, 14, 15, 16 e 17 autogerenciado (no local ou em qualquer VM de nuvem totalmente controlada por você).
 - Cloud SQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17
 
 - Quais destinos são compatíveis?
 - 
  
  
- AlloyDB para PostgreSQL 14, 15, 16, 17
 
 - Há suporte para várias versões?
 - O Database Migration Service oferece suporte a migrações do PostgreSQL para o AlloyDB de qualquer uma das versões de banco de dados de origem compatíveis.
 - Quais componentes de dados, esquema e metadados são migrados?
 - O Database Migration Service migra esquema, dados e metadados da origem para o destino. Todos os componentes de dados, esquema e metadados a seguir são migrados como parte da migração do banco de dados:
Migração de dados
- Todos os esquemas e tabelas do banco de dados selecionado.
 
- Nomenclatura
 - Chave primária
 - Tipo de dado
 - Posição ordinal
 - Valor padrão
 - Nulidade
 - Atributos de incremento automático
 - Índices secundários
 
- Procedimentos armazenados
 - Funções
 - Gatilhos
 - Visualizações
 - Restrições de chave externa
 
 - Quais mudanças são replicadas durante a migração contínua?
 - 
Apenas as mudanças de DML são atualizadas automaticamente durante a migração. Gerenciar a DDL para que os bancos de dados de origem e de destino permaneçam compatíveis é responsabilidade do usuário e pode ser feito de duas maneiras:
- Interrompa as gravações na origem e execute comandos DDL na origem e no destino. Antes de executar comandos DDL no destino, conceda a função 
alloydbexternalsyncao usuário do Cloud SQL que aplica as mudanças de DDL. Para ativar consultas ou alterações dos dados, conceda o papelalloydbexternalsyncaos usuários relevantes do Cloud SQL. Use o
pglogical.replicate_ddl_commandpara executar a DDL na origem e no destino em um ponto consistente. O usuário que executa esse comando precisa ter o mesmo nome de usuário na origem e no destino e ser o superusuário ou o proprietário do artefato que está sendo migrado (por exemplo, a tabela, a sequência, a visualização ou o banco de dados).Confira alguns exemplos de como usar o
pglogical.replicate_ddl_command.Para adicionar uma coluna a uma tabela de banco de dados, execute o seguinte comando:
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] add column surname varchar(20)', '{default}');Para mudar o nome de uma tabela de banco de dados, execute o seguinte comando:
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] RENAME TO [table_name]','{default}');Para criar uma tabela de banco de dados, execute os seguintes comandos:
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]');
 - Interrompa as gravações na origem e execute comandos DDL na origem e no destino. Antes de executar comandos DDL no destino, conceda a função 
 - O que não é migrado?
 - 
Para adicionar usuários à instância de destino do AlloyDB, faça isso no cliente PostgreSQL. Saiba mais sobre como criar e gerenciar usuários do PostgreSQL.
Objetos grandes não podem ser replicados porque o recurso de decodificação lógica do PostgreSQL não é compatível com a decodificação de mudanças em objetos grandes. Para tabelas que têm tipo de coluna oid referenciando objetos grandes, as linhas ainda são sincronizadas, e as novas linhas são replicadas. No entanto, tentar acessar o objeto grande no banco de dados de destino (leitura usando lo_get, exportação usando lo_export ou verificação do catálogo
pg_largeobjectpara o oid especificado) falha com uma mensagem informando que o objeto grande não existe.Para tabelas sem chaves primárias, o Database Migration Service oferece suporte à migração do snapshot inicial e das instruções
INSERTdurante a fase de captura de dados alterados (CDC). Migre as instruçõesUPDATEeDELETEmanualmente.O Database Migration Service não migra dados de visualizações materializadas, apenas o esquema da visualização. Para preencher as visualizações, execute o seguinte comando:
REFRESH MATERIALIZED VIEW view_name.Os estados
SEQUENCE(por exemplo,last_value) no novo destino do AlloyDB podem variar dos estadosSEQUENCEde origem. - Quais métodos de rede são usados?
 - Para criar uma migração no Database Migration Service, é necessário estabelecer conectividade
entre a origem e a instância de destino do Cloud SQL. Há vários métodos compatíveis.
Escolha a opção mais adequada para a carga de trabalho específica.
Método de rede Descrição Prós Contras Túnel SSH reverso por meio de uma VM hospedada na nuvem Estabelece a conectividade do destino com a origem por um túnel SSH reverso seguro. Requer uma VM Bastion Host no projeto Google Cloud e uma máquina (por exemplo, um laptop na rede) com conectividade à origem. O Database Migration Service coleta as informações necessárias no momento da criação da migração e gera automaticamente o script para configurar. - Fácil de configurar.
 - Não requer nenhuma configuração personalizada de firewall.
 - Recomendado para cenários de migração de curta duração (POC ou migrações de banco de dados pequenos).
 
- Você é proprietário e gerencia a VM bastion.
 - Pode gerar custos adicionais.
 
Proxy TCP por uma VM hospedada na nuvem Estabelece a conectividade do destino com a origem por um proxy TCP via VM hospedada na nuvem. O Database Migration Service coleta as informações necessárias no momento da criação da migração e gera automaticamente o script para configuração. Relevante em migrações do AlloyDB em que a origem está na arquitetura de rede antiga. - Fácil de configurar.
 - Não requer nenhuma configuração personalizada de firewall.
 
- A VM bastião é de sua propriedade e gerenciamento e pode gerar custos extras.
 
Peering de VPC Esse método funciona configurando as VPCs para se comunicarem entre si. - Solução Google Cloud nativa.
 - Fácil de configurar.
 - Alta largura de banda
 - Recomendado para migrações de longa duração ou de alto volume.
 
Isso só é aplicável se os bancos de dados de origem e destino estiverem hospedados em Google Cloud. VPN Configura um túnel VPN IPSec que conecta a rede interna e a Google Cloud VPC por uma conexão segura na Internet pública. Use a VPN Google Cloud ou qualquer solução de VPN configurada para a rede interna. - Solução de conectividade robusta e escalonável.
 - Largura de banda média a alta.
 - Segurança integrada.
 - Oferecidos como soluções Google Cloud ou por outros terceiros.
 
- Custo adicional.
 - Configuração não trivial (a menos que já esteja no local).
 
Cloud Interconnect Usa uma conexão de baixa latência e alta disponibilidade entre a rede local e o Google Cloud. Maior largura de banda, ideal para migrações de alto volume e longa duração. - Custo adicional.
 - A conexão não é segura por padrão.
 - Configuração não trivial (a menos que já esteja no local).
 
 - Quais são as limitações conhecidas?
 - Consulte Limitações conhecidas.