É possível importar e exportar uma grande quantidade de dados para dentro ou fora do Spanner usando um dos seguintes métodos:
- Importe ou exporte qualquer banco de dados do Spanner usando o Dataflow.
- Exporte qualquer banco de dados do Spanner para um Cloud Storage usando os formatos de arquivo Avro ou CSV.
- Importar dados do Avro ou arquivos CSV para um novo banco de dados do Spanner.
Casos de uso
Você pode usar a importação e exportação do Spanner para os seguintes casos de uso:
- Carregamento em massa: é possível importar dados em massa para o Spanner.
Backup e arquivamento de longo prazo: é possível exportar o banco de dados a qualquer momento e armazená-lo em um bucket do Cloud Storage de sua escolha para backup ou arquivamento de longo prazo. Além disso, é possível usar a recuperação pontual para exportar um banco de dados de um carimbo de data/hora específico do passado. Se você está procurando técnicas de recuperação de desastres que ofereçam uma restauração mais rápida, mas tenham períodos de retenção mais curtos, use backups ou recuperação pontual (PITR, na sigla em inglês).
Cópia de bancos de dados para projetos de desenvolvimento ou teste: é possível exportar um de um projeto de produção e importá-lo para o ambiente de desenvolvimento ou projeto de teste para usar em testes de integração ou outros experimentos.
Ingestão para análise: é possível exportar um banco de dados para ingerir dados operacionais em massa para serviços de análise como o BigQuery. O BigQuery pode ingerir dados automaticamente no formato Avro de um bucket do Cloud Storage, facilitando a execução de análises nos dados operacionais. Se você quiser usar o BigQuery para análises em tempo real dos dados do Spanner sem copiar ou mover os dados, use as consultas federadas do Spanner.
Comparar a importação e exportação com backup e restauração
A importação e exportação do Spanner é semelhante ao backup e à restauração em muitos aspectos. A tabela a seguir descreve semelhanças e diferenças entre elas para ajudar você a decidir qual usar.
Backup e restauração | Importar e exportar | |
---|---|---|
Consistência de dados | Os backups e os bancos de dados exportados são consistentes de maneira transacional e externa. | |
Impacto no desempenho | Os backups não afetam o desempenho de uma instância. O Spanner executa backups usando jobs dedicados que não se baseiam nos recursos do servidor de uma instância. | As exportações são executadas como uma tarefa de prioridade média para minimizar o impacto no desempenho do banco de dados. Para mais informações, consulte prioridade de tarefas. |
Formato de armazenamento | Usa um formato reservado e criptografado projetado para restauração rápida. | Compatível com os formatos de arquivo CSV e Avro. |
Portabilidade | Você cria backups na mesma instância do banco de dados de origem. Depois que um backup é criado, é possível copiar o backup para uma instância em uma região ou projeto diferente, se você precisar de um backup entre regiões ou projetos. Em seguida, é possível restaurar um backup como um novo banco de dados para qualquer instância no mesmo projeto. A instância para a qual você está restaurando deve ter a mesma configuração de instância que a instância em que o backup está armazenado. |
Os bancos de dados exportados ficam no Cloud Storage e os dados podem ser migrados para qualquer sistema compatível com CSV ou Avro. |
Retenção | Os backups podem ser mantidos por até um ano. | Os bancos de dados exportados são armazenados no Cloud Storage, onde, por padrão, são retidos até serem excluídos. Você pode personalizar as políticas de ciclo de vida e retenção. |
Preços | Os backups são cobrados no projeto do Spanner com base no armazenamento usado por unidade de tempo. Para mais detalhes, consulte a seção Preços. | O faturamento para importação e exportação é mais complicado devido ao uso do Cloud Storage e do Dataflow. Para mais informações, consulte Preços de exportação e importação de banco de dados. |
Tempo de restauração | A restauração acontece em duas operações: restaurar e otimizar. A operação de restauração oferece velocidade para o primeiro byte, porque o backup do banco de dados é montado diretamente sem copiar os dados. Após a conclusão da operação de restauração, o banco de dados estará pronto para uso, embora a latência de leitura possa ser um pouco maior durante a otimização. Para mais informações, consulte Como a restauração funciona. | A importação é mais lenta. Você precisa aguardar a gravação de todos os dados no banco de dados. |
Comparar formatos de arquivo
A tabela a seguir compara as diferenças de recursos entre o Avro e o CSV ao importar e exportar dados do Spanner.
Capacidade | Formato Avro | Formato CSV |
---|---|---|
Importar ou exportar um banco de dados inteiro | Sim | Não |
Capacidade de exportar somente tabelas selecionadas em um banco de dados | Sim | Sim |
Importação de tabelas exportadas anteriormente | Sim | Sim |
Exportar em um carimbo de data/hora anterior | Sim | Sim |
Importar ou exportar usando a Google Cloud CLI | Sim | Sim |
Importar ou exportar usando o Dataflow | Sim | Sim |
Importar ou exportar usando o Spanner | Sim | Não |
Arquivos Avro
Ao exportar para o formato Avro, você pode especificar uma lista de tabelas a exportar. Qualquer um tabelas filhas exportados dessa forma precisam estar acompanhados por suas tabelas pai. O Spanner mantém todo o esquema do banco de dados nos arquivos exportados.
Ao fazer a importação do formato Avro, o Spanner recria o arquivo exportado o esquema inteiro do banco de dados, incluindo todas as tabelas. As tabelas incluídas na exportação original recebem todos os dados exportados. Todas as outras tabelas permanecem vazias.
A página do Spanner no console do Google Cloud oferece acesso Opções de importação e exportação no formato Avro. Por exemplo, não é possível definir opções de rede e subrede. Para um conjunto mais amplo de opções, use o página do Dataflow.
Arquivos CSV
Você só pode exportar uma única tabela do Spanner no formato CSV por vez. Na exportação, o esquema não é exportado, apenas os dados é exportado.
Antes de importar de arquivos CSV, é necessário criar um arquivo de manifesto JSON.
Preços
Não há cobranças extras do Spanner pelo uso das ferramentas de exportação ou importação. Você paga as taxas padrão para armazenamento de dados ao importar um banco de dados para o Spanner. No entanto, há outros custos potenciais associados à importação e exportação de bancos de dados. Para mais informações, consulte Preços de exportação e importação de banco de dados.
A seguir
- Exportar bancos de dados do Spanner para o Avro
- Importar arquivos Avro do Spanner
- Importar e exportar dados no formato CSV
- Importar dados de bancos de dados que não sejam do Spanner