O AnalyticDB for PostgreSQL oferece diversos métodos para mover dados para dentro e para fora da instância, além de mantê-los sincronizados com bancos de dados upstream. Esta página ajuda a encontrar o método mais adequado com base no sistema de origem, no volume de dados e nos requisitos de latência.
Escolha um método
Selecione um método considerando três fatores: origem dos dados, volume a ser movido e frequência da transferência.
|
Fator |
Opções |
|
Tipo de origem |
Arquivos, bancos de dados relacionais, data warehouses, clusters Hadoop, bancos de dados em nuvem |
|
Requisito de latência |
Migração única — métodos em lote; Sincronização contínua — Data Transmission Service (DTS) |
Recomendado para a maioria dos casos de uso: Use tabelas externas do OSS (recurso gpossext) para cargas em massa de grande escala. Todos os nós de computação leem do OSS em paralelo, tornando essa abordagem altamente eficiente para bulk loads. Para sincronização contínua a partir de bancos de dados em nuvem, como o ApsaraDB RDS for MySQL, use o DTS.
Para consultar dados externos sem carregá-los: Tabelas externas do OSS e do Hadoop (gphdfs) permitem análises federadas. Nesse cenário, as consultas são executadas diretamente nos dados que permanecem no OSS ou no HDFS, sem necessidade de movê-los fisicamente para o AnalyticDB for PostgreSQL.
Carregue dados no AnalyticDB for PostgreSQL
Escreva dados
|
Método |
Quando usar |
Serverless |
|
Realize upsert de linhas por chave primária. Se uma linha inserida entrar em conflito com uma chave primária existente, a linha atual será atualizada em vez de gerar erro. |
No |
|
|
Carregue arquivos em massa quando houver previsão de conflitos de restrição. Estende a instrução COPY padrão para tratar conflitos sem interromper toda a importação. |
No |
|
|
Crie pipelines de escrita personalizados que exijam alto throughput. O SDK gerencia o processamento paralelo internamente, oferecendo desempenho de escrita significativamente superior ao COPY ou INSERT, sem necessidade de gerenciar pool de conexões ou cache. |
Yes |
Importe dados de tabela
| Método | Quando usar | Serverless |
|---|---|---|
| Tabela externa do OSS (gpossext) | Importe grandes conjuntos de dados do Object Storage Service (OSS). Todos os nós de computação leem do OSS em paralelo, tornando esta uma opção de alta velocidade para cargas em massa. | Yes |
| Data Integration | Sincronize dados em lote de fontes heterogêneas em diferentes ambientes de rede. Recurso central do DataWorks, oferece ampla variedade de conectores de origem. Consulte os tipos de fontes de dados e plug-ins compatíveis. | Yes |
Comando \copy |
Importe arquivos de texto diretamente da máquina local. Adequado para conjuntos de dados menores, em que uma única conexão de cliente é suficiente. | Yes |
| Tabela externa do Hadoop (gphdfs) | Acesse ou migre dados de um cluster Hadoop usando o protocolo gphdfs. Permite análises federadas sem mover os dados fisicamente. | Yes |
Migre dados de warehouse
O AnalyticDB for PostgreSQL V6.0 baseia-se no Greenplum 6.0 e utiliza a mesma API do Greenplum Community Edition, simplificando a migração de sistemas compatíveis.
|
Origem |
Método |
Observações |
Serverless |
|
Tabelas externas ou redirecionamento de aplicação |
A versão V6.0 suporta computação vetorial e processamento de transações com múltiplos nós coordenadores. Permite migrar aplicações e dados. |
No (tabelas externas suportadas) |
|
|
Migração via SQL |
Compatível com a sintaxe do Teradata. |
No (tabelas externas suportadas) |
|
|
Exportação e posterior importação |
Descarregue os dados do Redshift e importe-os para o AnalyticDB for PostgreSQL. |
No (tabelas externas suportadas) |
|
|
Migração via SQL |
Compatível com a sintaxe do Oracle. |
No (tabelas externas suportadas) |
|
|
Data Transmission Service (DTS) |
Use o DTS para migração automatizada e gerenciada. |
Yes |
Exporte dados do AnalyticDB for PostgreSQL
|
Método |
Quando usar |
Serverless |
|
Exporte grandes conjuntos de dados para o OSS em paralelo. Suporta compressão GZIP para reduzir o tamanho dos arquivos e os custos de armazenamento. |
Yes |
|
|
Exporte resultados de consultas para um arquivo local na máquina. |
Yes |
Sincronize dados de outros bancos de dados
De bancos de dados em nuvem
Todos os métodos nesta seção usam o DTS para sincronizar dados de bancos de dados em nuvem com o AnalyticDB for PostgreSQL.
|
Origem |
Guia |
Serverless |
|
ApsaraDB RDS for MySQL |
Yes |
|
|
ApsaraDB RDS for SQL Server |
Yes |
|
|
ApsaraDB RDS for PostgreSQL |
Yes |
|
|
PolarDB for MySQL |
Yes |
De bancos de dados autogerenciados
O DTS suporta sincronização incremental em tempo real para a maioria das origens autogerenciadas. Para migração open source sem o DTS, use o rds_dbsync.
|
Origem |
Guia |
Ferramenta |
Serverless |
|
MySQL no Elastic Compute Service (ECS) |
DTS |
Yes |
|
|
MySQL via Express Connect, VPN Gateway ou Smart Access Gateway |
DTS |
Yes |
|
|
SQL Server (autogerenciado) |
DTS |
Yes |
|
|
SQL Server no ECS |
DTS |
Yes |
|
|
PostgreSQL (autogerenciado) |
DTS |
Yes |
|
|
Oracle (autogerenciado) |
DTS |
Yes |
|
|
Db2 for LUW |
DTS |
Yes |
|
|
MySQL (open source) |
Migrar dados do MySQL com rds_dbsync — o recurso mysql2pgsql conecta-se a ambos os bancos de dados, lê da origem e transmite os dados para o destino usando COPY, sem armazenamento intermediário. |
rds_dbsync |
No |
|
PostgreSQL (open source) |
Migrar dados do PostgreSQL com rds_dbsync — o recurso pgsql2pgsql migra tabelas entre AnalyticDB for PostgreSQL, Greenplum Database e PostgreSQL. |
rds_dbsync |
No |