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 suportar as migrações para o BigQuery, Google Cloud oferece o serviço de migração do BigQuery como uma solução abrangente para migrar o seu armazém de dados para o BigQuery. O serviço de migração oferece funcionalidades para suportar cada fase da sua migração, incluindo avaliação e planeamento, tradução de SQL, transferência de dados e validação de dados. Para mais informações, consulte o artigo Introdução ao serviço de migração do BigQuery.
Comparação de funcionalidades
As secções seguintes realçam as principais diferenças e semelhanças entre o BigQuery e o Snowflake, e apresentam várias funcionalidades exclusivas do BigQuery.
Terminologia
A tabela seguinte mapeia os termos do Snowflake para os termos equivalentes do BigQuery:
Floco de neve | BigQuery |
---|---|
Bases de dados | Conjunto de dados |
Esquema | Esquema |
Ver | Ver |
Vistas seguras | Vistas autorizadas |
Armazém virtual | Reserva |
Vista materializada | Vista materializada |
Micropartições | Partição |
Clustering | Clustering |
Funções definidas pelo utilizador (FDUs) com segurança melhorada | FDUs autorizadas |
Arquitetura do BigQuery
O BigQuery é um armazém de dados analíticos com uma arquitetura altamente escalável. O BigQuery desassocia o armazenamento e a computação, o que permite que estes componentes sejam dimensionados de forma independente a pedido. Para mais informações sobre a arquitetura no BigQuery, consulte o artigo Vista geral do BigQuery. Seguem-se várias funcionalidades importantes no BigQuery relevantes para o processo de migração de dados:
O BigQuery usa tabelas geridas e oferece opções flexíveis para a transferência de dados de terceiros. Isto inclui a carregamento direto do Cloud Storage em formatos portáteis, como Parquet, Avro, ORC e CSV.
- O BigQuery também suporta tabelas Apache Iceberg. O Iceberg é um formato de tabela aberto que traz capacidades de data lake house para o BigQuery, oferecendo evolução do esquema, viagens no tempo e transações ACID. Isto permite uma integração perfeita com outros sistemas que usam o Iceberg e oferece maior flexibilidade e controlo sobre os seus dados.
O BigQuery permite-lhe definir a criação de partições e a agrupamento explícitos quando cria tabelas. Isto dá-lhe um controlo detalhado sobre a organização dos dados, permitindo-lhe otimizar o desempenho das consultas, reduzir os custos através da partição e da agrupamento estratégicos, e adaptar a disposição dos dados às suas necessidades analíticas específicas.
- Também pode usar o recomendador de partições e agrupamentos para que o BigQuery sugira configurações de particionamento e agrupamento com base na carga de trabalho do seu projeto.
O BigQuery processa os recursos de computação automaticamente. Não precisa de aprovisionar nem gerir máquinas virtuais.
- Para cargas de trabalho previsíveis, o BigQuery oferece reservas, o que lhe permite reservar capacidade de computação antecipadamente a um custo mais baixo. Isto pode ser benéfico para cargas de trabalho consistentes com necessidades de recursos previsíveis.
- Durante a migração, analise os seus padrões de utilização do Snowflake para compreender os seus requisitos de computação e ajudar a determinar a abordagem mais rentável no BigQuery, quer seja o preço a pedido ou a utilização de reservas.
Interface do utilizador do BigQuery
A interface do BigQuery está integrada na Google Cloud consola.
O BigQuery também tem uma ferramenta de linhas de comando baseada em Python denominada ferramenta de linhas de comando bq.
Funcionalidades de segurança do BigQuery
Quando migra do Snowflake para o BigQuery, considere como o BigQuery Google Cloud processa a segurança de forma diferente do Snowflake.
A segurança no BigQuery está intrinsecamente ligada à Identity and Access Management (IAM) no Google Cloud. Os privilégios da IAM definem as operações permitidas num recurso e são aplicados ao nível do recurso, oferecendo uma abordagem centralizada e consistente à gestão de segurança. Google Cloud Seguem-se algumas das principais funcionalidades de segurança do Google Cloud:
- Segurança integrada: o BigQuery tira partido das Google Cloudfuncionalidades de segurança do Google Cloud. Isto inclui a IAM para o controlo de acesso detalhado para uma integração de segurança robusta e perfeita.
- Segurança ao nível do recurso: o IAM centra-se no controlo de acesso ao nível do recurso, concedendo autorizações a utilizadores e grupos para vários recursos e serviços do BigQuery. Esta abordagem permite uma gestão eficaz dos direitos de acesso para que os utilizadores tenham apenas as autorizações necessárias para realizar as respetivas tarefas.
- Segurança de rede: o BigQuery beneficia das funcionalidades de segurança de rede robustas do Google Cloud, como a nuvem privada virtual e as ligações privadas.
Quando migra do Snowflake para o BigQuery, tenha em atenção os seguintes requisitos de migração relacionados com a segurança:
- Configuração da IAM: tem de configurar as funções e as autorizações da IAM no BigQuery para corresponderem às políticas de controlo de acesso do Snowflake existentes. Isto envolve o mapeamento das funções do Snowflake para as autorizações e funções do IAM do BigQuery adequadas.
- Controlo de acesso detalhado: se estiver a usar segurança ao nível da linha ou da coluna no Snowflake, tem de implementar controlos equivalentes no BigQuery através de vistas autorizadas ou etiquetas de políticas.
- Migração de vistas e FDU: quando migrar vistas e FDU, verifique se os controlos de segurança associados são traduzidos corretamente para vistas autorizadas e FDU autorizadas no BigQuery.
Encriptação
O BigQuery encripta os seus dados em repouso e em trânsito por predefinição. Se precisar de mais controlo sobre as chaves de encriptação, o BigQuery suporta chaves de encriptação geridas pelo cliente no Cloud Key Management Service. Também pode usar a encriptação ao nível da coluna.
Para manter a segurança dos dados durante e após a migração para o BigQuery, considere o seguinte:
- Gestão de chaves: se precisar de chaves geridas pelo cliente, estabeleça uma estratégia de gestão de chaves no Cloud Key Management Service e configure o BigQuery para usar essas chaves.
- Ocultação/tokenização de dados: se estiverem envolvidos dados confidenciais, avalie se é necessária a ocultação ou a tokenização de dados para os proteger.
- Segurança ao nível da linha: implemente a segurança ao nível da linha através de visualizações autorizadas, filtros de segurança ao nível da linha ou outros métodos adequados.
- Análise de vulnerabilidades e testes de penetração: realize regularmente análises de vulnerabilidades e testes de penetração para verificar a postura de segurança do seu ambiente do BigQuery.
Funções
As funções são as entidades às quais os privilégios em objetos protegidos podem ser concedidos e revogados.
No IAM, as autorizações estão agrupadas em funções. O IAM oferece três tipos de funções:
- Funções básicas:
Estas funções incluem as funções de proprietário, editor e leitor. Pode aplicar
estas funções ao nível do projeto ou do recurso de serviço através da
Google Cloud consola, da API Identity and Access Management ou da
gcloud CLI
. Em geral, para a segurança mais forte, recomendamos que use funções predefinidas para seguir o princípio do menor privilégio. - Funções predefinidas: estas funções oferecem um acesso mais detalhado às funcionalidades de um produto (como o BigQuery) e destinam-se a suportar exemplos de utilização comuns e padrões de controlo de acesso.
- Funções personalizadas: Estas funções são compostas por autorizações especificadas pelo utilizador.
Controlo de acesso
O Snowflake permite-lhe conceder funções a outras funções, criando uma hierarquia de funções. O IAM não suporta uma hierarquia de funções, mas implementa uma hierarquia de recursos. A hierarquia do IAM inclui o nível da organização, o nível da pasta, o nível do projeto e o nível do recurso. Pode definir funções da IAM em qualquer nível da hierarquia e os recursos herdam todas as políticas dos respetivos recursos principais.
O BigQuery suporta o controlo de acesso ao nível da tabela. As autorizações ao nível da tabela determinam os utilizadores, os grupos e as contas de serviço que podem aceder a uma tabela ou a uma vista. Pode conceder a um utilizador acesso a tabelas ou vistas específicas sem lhe conceder acesso ao conjunto de dados completo.
Para um acesso mais detalhado, também pode usar o controlo de acesso ao nível da coluna ou a segurança ao nível da linha. Este tipo de controlo fornece acesso detalhado a colunas confidenciais através de etiquetas de políticas ou classificações de dados baseadas em tipos.
Também pode criar visualizações autorizadas para limitar o acesso aos dados para um controlo de acesso mais detalhado, de modo que os utilizadores especificados possam consultar uma visualização sem ter acesso de leitura às tabelas subjacentes.
Migre outras funcionalidades do Snowflake
Considere as seguintes funcionalidades do Snowflake ao planear a sua migração para o BigQuery. Em alguns casos, pode usar outros serviços em Google Cloud para concluir a migração.
Viagem no tempo: no BigQuery, pode usar a viagem no tempo para aceder a dados de qualquer ponto nos últimos sete dias. Se precisar de aceder a dados com mais de sete dias, considere exportar capturas de ecrã agendadas regularmente.
Streams: o BigQuery suporta a captura de dados de alterações (CDC) com o Datastream. Também pode usar software de CDC, como o Debezium, para escrever registos no BigQuery com o Dataflow. Para mais informações sobre como criar manualmente um pipeline de CDC com o BigQuery, consulte o artigo Migrar armazéns de dados para o BigQuery: captura de dados de alterações (CDC).
Tarefas: o BigQuery permite-lhe agendar consultas e streams ou integrar streams em consultas com o Datastream.
Funções externas: o BigQuery suporta chamadas de funções externas através de funções do Cloud Run. Também pode usar funções definidas pelo utilizador (FDUs), como FDUs SQL, embora estas funções sejam executadas no BigQuery.
Começar
As secções seguintes resumem o processo de migração do Snowflake para o BigQuery:
Execute uma avaliação de migração
Na migração do Snowflake para o BigQuery, recomendamos que comece por executar a ferramenta de avaliação da migração do BigQuery para avaliar a viabilidade e as potenciais vantagens de mover o seu armazém de dados do Snowflake para o BigQuery. Esta ferramenta oferece uma abordagem estruturada para compreender o seu ambiente atual do Snowflake e estimar o esforço envolvido numa migração bem-sucedida.
A execução da ferramenta de avaliação da migração do BigQuery gera um relatório de avaliação que contém as seguintes secções:
- Relatório do sistema existente: uma imagem instantânea do sistema Snowflake existente e da utilização, incluindo o número de bases de dados, esquemas, tabelas e tamanho total em TB. Também lista os esquemas por tamanho e indica uma potencial utilização de recursos abaixo do ideal, como tabelas sem gravações ou com poucas leituras.
- Sugestões de transformação de estado estável do BigQuery: mostra o aspeto do sistema no BigQuery após a migração. Inclui sugestões para otimizar cargas de trabalho no BigQuery e evitar desperdícios.
- Plano de migração: fornece informações sobre o esforço de migração em si. Por exemplo, passar do sistema existente para o estado estável do BigQuery. Esta secção inclui a quantidade 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 o artigo Reveja o relatório do Looker Studio.
Configure um pipeline de migração do Snowflake para o BigQuery
Depois de rever os resultados da avaliação da migração, pode iniciar a migração do Snowflake configurando um pipeline de migração. Para mais informações, consulte o artigo Migração do Snowflake para o BigQuery: vista geral.
Valide a migração
Depois de migrar os seus dados do Snowflake para o BigQuery, execute a ferramenta de validação de dados (DVT) para fazer uma validação de dados nos dados do BigQuery recém-migrados. A DVT valida várias funções, desde o nível da tabela ao nível da linha, para verificar se os dados migrados funcionam conforme previsto.