Ir para o conteúdo

Implementação do Snowflake

Configuramos o Snowflake com funções definidas, warehouses eficientes em termos de custos e modelos dbt, como os que criámos para a análise de churn da DPG Media.

Na DPG Media, combinámos dados de diferentes tabelas com SQL e dbt para a análise de churn

Para a DPG Media, analisámos o churn entre os assinantes digitais de duas marcas com Python, SQL e dbt. O artigo técnico do blog sobre este caso de estudo descreve a abordagem: Snowflake como repositório central das tabelas e dbt para transformar esses dados de forma consistente e repetível.

Leia o caso de estudo

Como configurar o Snowflake sem perder o controlo dos custos e das permissões?

Criar uma conta é rápido. Depois, warehouses, roles e scripts de carregamento isolados multiplicam-se em paralelo, até deixar de ser claro quem tem ACCOUNTADMIN ou que query está a consumir os créditos. Uma implementação estabelece esta fundação antes de os relatórios começarem a funcionar sobre ela.

Agende uma conversa

Uma implementação do Snowflake define funções, warehouses, fluxos de carregamento e controlo de custos

Fale connosco sobre os seus planos para Snowflake

Camadas e funções

Bases de dados para dados brutos, tratados e de reporting, com funções específicas para cada equipa, organizadas numa hierarquia. A função ACCOUNTADMIN fica reservada a um pequeno número de administradores.

Warehouses para cada tarefa

Warehouses separados para carregamento, transformação e reporting, cada um dimensionado apenas para o necessário, com auto-suspend e auto-resume para não continuarem ativos quando estão inativos.

Carregamento e transformação

Carregar dados dos sistemas de origem através de stages ou Snowpipe e transformá-los em modelos dbt com testes. Para a DPG Media, trabalhámos com SQL e dbt.

Custos e recuperação

Resource monitors que enviam alertas ou suspendem warehouses quando é atingido um limite de créditos, e Time Travel para recuperar uma tabela eliminada ou alterada.

Configuramos o Snowflake em função dos relatórios e modelos que irão consultar os seus dados

  1. Identificar as fontes e a utilização

    Identificar as fontes, os relatórios e modelos que as irão consultar, quem precisa de acesso e qual a região da cloud mais adequada.

  2. Configurar a conta e criar a primeira camada

    Configurar perfis de acesso, warehouses e bases de dados, carregar os dados das primeiras fontes e implementar modelos dbt com testes.

  3. Entrada em produção e transferência

    Colocar a monitorização, as permissões e os agendamentos de carregamento em produção, com documentação para que a sua equipa possa assumir a gestão.

Snowflake é a escolha certa para nós ou basta uma solução mais simples?

Avalie a opção numa conversa

Adequado se

Os seus dados estão dispersos por um sistema ERP, bases de dados separadas e folhas de cálculo. Pretende um único data warehouse SQL na cloud para relatórios e análises, e a sua equipa trabalha com SQL.

Não é adequado se

Tem poucas fontes e uma pequena base de dados que funciona bem. Ou a sua organização já utiliza outra plataforma de dados; acrescentar uma segunda traria sobretudo mais trabalho de gestão.

O que determina a dimensão

O número de fontes e a frequência com que são atualizadas, a necessidade de migrar um data warehouse existente, o número de equipas e funções envolvidas e quem ficará responsável pela gestão após a passagem de responsabilidade.

Os custos do Snowflake não se tornam imprevisíveis?

Paga pelo armazenamento e pelo tempo de funcionamento dos warehouses. Com auto-suspend, warehouses pequenos e resource monitors, pode acompanhar esses custos. Pode monitorizar as funções serverless com um orçamento.

Snowflake, um lakehouse ou um data warehouse num servidor próprio: qual é a melhor opção para os seus dados?

Snowflake

Escolha esta opção se pretende sobretudo criar relatórios e analisar dados estruturados com SQL, sem gerir servidores. O nosso conselho: defina os perfis de acesso e os warehouses antes de a primeira equipa começar.

Um lakehouse

Escolha esta opção se os notebooks, o Spark e o machine learning forem centrais para trabalhar com grandes volumes de dados, incluindo dados não estruturados. Leia sobre a implementação do Databricks.

Um data warehouse num servidor próprio

Escolha esta opção se os dados tiverem de permanecer na sua própria rede ou se o volume for pequeno. Leia sobre a criação de um data warehouse.

Escolhemos a plataforma de dados para cada organização e desenvolvemos em Snowflake quando faz sentido

A Data Science Lab trabalha com dados e IA desde 2016. Para a Athlon, utilizámos Snowflake, Python e R Shiny na gestão de stocks. Somos parceiros da Databricks e da Microsoft; não somos parceiros da Snowflake.

Agende uma reunião de apresentação

Uma visão geral das suas fontes de dados e dos seus relatórios torna a primeira conversa sobre o Snowflake mais concreta

Stef Stoelwinder

Stef Stoelwinder

Desenvolvimento de Negócio

Stef é o seu primeiro ponto de contacto. Na primeira conversa, falamos sobre as suas fontes de dados, os seus relatórios, os seus planos para o Snowflake e por onde começar.

Com que fonte pretende começar no Snowflake?

Indique que fontes e relatórios tem e se já existe uma conta Snowflake. Responderemos por e-mail ou agendaremos uma primeira conversa.

Introduza um endereço de e-mail válido.

Diga-nos como podemos ajudar.

Perguntas frequentes

A conta é configurada para que várias equipas possam trabalhar nela em segurança e com custos controlados: uma região na cloud, bases de dados e esquemas por camada, uma hierarquia de funções, virtual warehouses por tarefa, processos de carregamento para as fontes de dados, transformações em dbt e monitorização do consumo de créditos.

Fazemos isto no âmbito da plataforma de dados e IA, para que os relatórios e os modelos usem os mesmos dados.

Um consultor Snowflake desenha as funções, os warehouses e os processos de carregamento, e configura as transformações e a monitorização dos custos. O próprio Snowflake recomenda uma hierarquia de funções personalizadas e aconselha a não juntar, na mesma função, permissões de administração da conta e permissões de acesso aos dados.

ACCOUNTADMIN é a função mais elevada e, segundo o Snowflake, deve ser atribuída a um número limitado de utilizadores. Não existe nenhuma função que contorne todas as verificações de permissões.

O Snowflake funciona em Amazon Web Services, Google Cloud e Microsoft Azure. Escolhe-se uma região, como Azure West Europe ou Google Cloud europe-west4, ambas nos Países Baixos.

Para executar queries e carregar dados, é necessário um virtual warehouse: capacidade de processamento que se ativa separadamente. A dimensão determina a capacidade de processamento de cada cluster, e cada aumento de dimensão duplica o consumo de créditos por hora.

O Snowflake cobra a utilização dos warehouses ao segundo, com um mínimo de um minuto por cada ativação. Com auto-suspend, um warehouse é desativado após um período de inatividade; auto-resume volta a ativá-lo na query seguinte.

Um resource monitor acompanha uma quota de créditos e pode emitir avisos ou suspender warehouses. Só ACCOUNTADMIN pode criar estes monitores; para as funcionalidades serverless, utiliza-se um orçamento.

O Snowflake armazena as tabelas, enquanto o dbt as transforma em modelos com testes. Na nossa análise de churn, descrevemos esta combinação: modelos que selecionam colunas, fazem cálculos e produzem um conjunto de dados combinado.

Atenção: por predefinição, o dbt cria tabelas transient no Snowflake, sem Fail-safe. É possível escolher um warehouse específico para cada modelo. Saiba também mais sobre a implementação do dbt.

Em lotes, com COPY INTO a partir de um stage, num warehouse à escolha, cobrado pelo tempo de funcionamento. Ou continuamente, com Snowpipe: os ficheiros são carregados assim que chegam a um stage, usando capacidade de processamento do Snowflake e com cobrança baseada na quantidade de dados carregados.

Para fontes como um sistema ERP ou CRM, normalmente utiliza-se antes uma ferramenta de carregamento ou uma pipeline que fornece os ficheiros ou as tabelas.

Com Time Travel, é possível recuperar dados anteriores. O período de retenção predefinido é de um dia; para objetos permanentes, pode ser prolongado, exceto na Standard Edition. Uma tabela apagada pode ser restaurada com UNDROP. Depois desse período, os dados passam para Fail-safe e já não é possível recuperá-los diretamente.

Com um zero-copy clone, cria-se um ambiente de testes que só gera custos de armazenamento quando se fazem alterações.

Não. Segundo a nossa página de parceiros, somos Databricks Partner e Microsoft Partner. Trabalhamos com Snowflake quando se adequa a uma organização ou quando já está implementado, como na Athlon.

Se estiver a ponderar entre plataformas, apresentamos as diferenças de forma objetiva. Leia também sobre a implementação do Databricks; a decisão é sua.