Migração do Snowflake para o BigQuery: introdução
Este documento apresenta uma introdução à migração de dados do Snowflake para o BigQuery.
Para oferecer suporte a migrações para o BigQuery,o Trusted Cloud by S3NS oferece o serviço de migração do BigQuery como uma solução abrangente para migrar seu data warehouse para o BigQuery. O serviço de migração oferece recursos para apoiar cada fase da migração, incluindo avaliação e planejamento, tradução de SQL, transferência e validação de dados. Para mais informações, consulte Introdução ao serviço de migração do BigQuery.
Comparação do recurso
As seções a seguir destacam as principais diferenças e semelhanças entre o BigQuery e o Snowflake e apresentam vários recursos exclusivos do BigQuery.
Terminologia
A tabela a seguir correlaciona os termos do Snowflake com os equivalentes do BigQuery:
Snowflake | BigQuery |
---|---|
Banco de dados | Conjunto de dados |
Esquema | Esquema |
Ver | Visualização |
Visualizações seguras | Visualizações autorizadas |
Armazenamento virtual | Reserva |
Visualização materializada | Visualização materializada |
Micropartições | Particionamento |
Cluster | Cluster |
Funções definidas pelo usuário (UDFs) com segurança avançada | UDFs autorizadas |
Arquitetura do BigQuery
O BigQuery é um data warehouse analítico com uma arquitetura altamente escalonável. O BigQuery desacopla o armazenamento e a computação, permitindo que esses componentes sejam escalonados de maneira independente sob demanda. Para mais informações sobre a arquitetura no BigQuery, consulte Visão geral do BigQuery. Confira a seguir alguns recursos importantes do BigQuery relevantes para o processo de migração de dados:
O BigQuery usa tabelas gerenciadas e oferece opções flexíveis para transferência de dados de terceiros. Isso inclui a ingestão direta do Cloud Storage em formatos portáteis como Parquet, Avro, ORC e CSV.
- O BigQuery também é compatível com tabelas do Apache Iceberg. O Iceberg é um formato de tabela aberta que traz recursos de data lakehouse para o BigQuery, oferecendo evolução de esquema, viagem no tempo e transações ACID. Isso permite uma integração perfeita com outros sistemas que usam o Iceberg e oferece mais flexibilidade e controle sobre seus dados.
O BigQuery permite definir particionamento e clustering explícitos ao criar tabelas. Isso oferece controle granular sobre a organização dos dados, permitindo otimizar o desempenho da consulta, reduzir custos com particionamento e clustering estratégicos e adaptar o layout dos dados às suas necessidades analíticas específicas.
- Também é possível usar o recomendador de particionamento e clustering para que o BigQuery sugira configurações de particionamento e clustering com base na carga de trabalho do seu projeto.
O BigQuery processa os recursos de computação automaticamente. Não é necessário provisionar ou gerenciar máquinas virtuais.
- Para cargas de trabalho previsíveis, o BigQuery oferece reservas, permitindo que você reserve capacidade de computação com antecedência a um custo menor. Isso pode ser útil para cargas de trabalho consistentes com necessidades previsíveis de recursos.
- Durante a migração, analise seus padrões de uso do Snowflake para entender os requisitos de computação e determinar a abordagem mais econômica no BigQuery, seja com preços sob demanda ou usando reservas.
Interface do usuário do BigQuery
A interface do BigQuery é integrada ao console doTrusted Cloud .
O BigQuery também tem uma ferramenta de linha de comando baseada em Python chamada ferramenta de linha de comando bq.
Recursos de segurança do BigQuery
Ao migrar do Snowflake para o BigQuery, considere como o Trusted Cloud by S3NS processa a segurança de forma diferente do Snowflake.
A segurança no BigQuery está intrinsecamente ligada ao gerenciamento de identidade e acesso (IAM) no Trusted Cloud by S3NS. Os privilégios do IAM definem as operações permitidas em um recurso e são aplicados no nível Trusted Cloud by S3NS , oferecendo uma abordagem centralizada e consistente para o gerenciamento de segurança. Confira alguns dos principais recursos de segurança do Trusted Cloud by S3NS:
- Segurança integrada: o BigQuery usa os recursos de segurança do Trusted Cloud by S3NS. Isso inclui o IAM para controle de acesso granular e integração de segurança robusta e perfeita.
- Segurança no nível do recurso: o IAM se concentra no controle de acesso no nível do recurso, concedendo permissões a usuários e grupos para vários recursos e serviços do BigQuery. Essa abordagem permite o gerenciamento eficaz dos direitos de acesso para que os usuários tenham apenas as permissões necessárias para realizar as tarefas.
- Segurança de rede: o BigQuery se beneficia dos recursos robustos de segurança de rede do Trusted Cloud by S3NS, como a nuvem privada virtual e as conexões particulares.
Ao migrar do Snowflake para o BigQuery, considere os seguintes requisitos de migração relacionados à segurança:
- Configuração do IAM: configure os papéis e as permissões do IAM no BigQuery para corresponder às políticas de controle de acesso do Snowflake. Isso envolve mapear os papéis do Snowflake para os papéis e permissões do IAM do BigQuery adequados.
- Controle de acesso refinado: se você estiver usando segurança no nível da linha ou da coluna no Snowflake, será necessário implementar controles equivalentes no BigQuery usando visualizações autorizadas ou tags de política.
- Migração de visualizações e UDFs: ao migrar visualizações e UDFs, verifique se os controles de segurança associados foram traduzidos corretamente para visualizações autorizadas e UDFs autorizadas no BigQuery.
Criptografia
O BigQuery criptografa seus dados em repouso e em trânsito por padrão. Se você precisar de mais controle sobre as chaves de criptografia, o BigQuery aceita chaves de criptografia gerenciadas pelo cliente no Cloud Key Management Service. Também é possível usar a criptografia no nível da coluna.
Para manter segurança de dados durante e após a migração para o BigQuery, considere o seguinte:
- Gerenciamento de chaves: se você precisar de chaves gerenciadas pelo cliente, estabeleça uma estratégia de gerenciamento de chaves no Cloud Key Management Service e configure o BigQuery para usar essas chaves.
- Mascaramento/tokenização de dados: se dados sensíveis estiverem envolvidos, avalie se o mascaramento ou a tokenização de dados são necessários para protegê-los.
- Segurança no nível da linha: implemente a segurança no nível da linha usando visualizações autorizadas, filtros de segurança no nível da linha ou outros métodos adequados.
- Verificação de vulnerabilidades e teste de penetração: faça verificações de vulnerabilidades e testes de penetração regulares para verificar a postura de segurança do seu ambiente do BigQuery.
Papéis
Papéis são as entidades às quais privilégios podem ser concedidos e revogados em objetos protegidos.
No IAM, as permissões são agrupadas em papéis. O IAM fornece três tipos de papéis:
- Papéis básicos:
eles incluem os papéis de proprietário, editor e visualizador. É possível aplicar
esses papéis nos níveis de recurso ou serviço do projeto usando o
consoleTrusted Cloud , a API do Identity and Access Management ou a
gcloud CLI
. Em geral, para aumentar a segurança, recomendamos que você use papéis predefinidos para seguir o princípio de menor privilégio. - Papéis predefinidos: eles dão acesso mais granular aos recursos de um produto (como o BigQuery) e visam oferecer suporte a casos de uso comuns e padrões de controle de acesso.
- Papéis personalizados: são compostos por permissões especificadas pelo usuário.
Controle de acesso
Com o Snowflake, você pode atribuir outros papéis, criando uma hierarquia de papéis. O IAM não suporta uma hierarquia de papéis, mas implementa uma hierarquia de recursos. A hierarquia do IAM inclui os níveis da organização, da pasta, do projeto e do recurso. É possível definir papéis do IAM em qualquer nível da hierarquia, e os recursos herdam todas as políticas dos recursos pai.
O BigQuery é compatível com o controle de acesso no nível da tabela. As permissões no nível da tabela determinam os usuários, grupos e contas de serviço que podem acessar uma tabela ou visualização. É possível conceder a um usuário acesso a tabelas ou visualizações específicas sem expandir isso ao inteiro conjunto de dados.
Para um acesso mais granular, também é possível usar controle de acesso no nível da coluna ou segurança no nível da linha. Esse tipo de controle fornece acesso refinado a colunas confidenciais usando tags de política ou classificações de dados baseadas em tipo.
Também é possível criar visualizações autorizadas para limitar o acesso a dados para um controle de acesso mais refinado, de modo que usuários especificados possam consultar uma visualização sem ter acesso de leitura às tabelas subjacentes.
Migrar outros recursos do Snowflake
Considere os seguintes recursos do Snowflake ao planejar sua migração para o BigQuery. Em alguns casos, é possível usar outros serviços no Trusted Cloud para concluir a migração.
Viagem no tempo: no BigQuery, você pode usar a viagem no tempo para acessar dados de qualquer ponto nos últimos sete dias. Se você precisar acessar dados de mais de sete dias, considere exportar snapshots programados regularmente.
Fluxos: o BigQuery permite a captura de dados alterados (CDC, na sigla em inglês) com o Datastream. Também é possível usar um software de CDC, como Debezium, para gravar registros no BigQuery com o Dataflow. Para mais informações sobre como projetar manualmente um pipeline de CDC com o BigQuery, consulte Como migrar armazenamentos de dados para o BigQuery: captura de dados alterados (CDC).
Tarefas:o BigQuery permite programar consultas e fluxos ou integrar o fluxo em consultas com o Datastream.
Funções externas: o BigQuery aceita chamadas de função externas pelo Cloud Run functions. Também é possível usar funções definidas pelo usuário (UDF, na sigla em inglês), como a UDF de SQL, embora essas funções sejam executadas dentro do BigQuery.
Primeiros passos
As seções a seguir resumem o processo de migração do Snowflake para o BigQuery:
Executar uma avaliação de migração
Na migração do Snowflake para o BigQuery, recomendamos que você comece executando a ferramenta de avaliação de migração do BigQuery para avaliar a viabilidade e os possíveis benefícios de mover seu data warehouse do Snowflake para o BigQuery. Essa ferramenta oferece uma abordagem estruturada para entender seu ambiente atual do Snowflake e estimar o esforço envolvido em uma migração bem-sucedida.
A execução da ferramenta de avaliação de migração do BigQuery gera um relatório de avaliação com as seguintes seções:
- Relatório do sistema atual: um snapshot do sistema e uso atuais do Snowflake, incluindo o número de bancos de dados, esquemas, tabelas e tamanho total em TB. Ele também lista os esquemas por tamanho e aponta para um possível uso de recursos abaixo do ideal, como tabelas sem gravações ou poucas leituras.
- Sugestões de transformação de estado estável do BigQuery: mostram como o sistema vai ficar no BigQuery após a migração. Ele inclui sugestões para otimizar cargas de trabalho no BigQuery e evitar desperdício.
- Plano de migração: fornece informações sobre o próprio esforço de migração. Por exemplo, ir do sistema atual para o estado estável do BigQuery. Esta seção inclui a contagem de consultas que foram traduzidas automaticamente e o tempo esperado para mover cada tabela para o BigQuery.
Para mais informações sobre os resultados de uma avaliação de migração, consulte Analisar o relatório do Looker Studio.
Configurar um pipeline de migração do Snowflake para o BigQuery
Depois de analisar os resultados da avaliação de migração, você pode iniciar a migração do Snowflake configurando um pipeline de migração. Para mais informações, consulte Migração do Snowflake para o BigQuery: visão geral.
Validar sua migração
Depois de migrar os dados do Snowflake para o BigQuery, execute a Ferramenta de validação de dados (DVT) para realizar uma validação nos dados recém-migrados do BigQuery. A DVT valida várias funções, desde o nível da tabela até o da linha, para verificar se os dados migrados funcionam conforme o esperado.