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.
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.
Uma implementação do Snowflake define funções, warehouses, fluxos de carregamento e controlo de custos
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
-
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.
-
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.
-
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?
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.

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
Desenvolvimento de NegócioStef é 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.
E-mail info@datasciencelab.nl
Telefone +31 (0)20 3636 724
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.
Mensagem enviada
Obrigado pela sua mensagem. Entraremos em contacto consigo o mais rapidamente possível.
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.
Haverá também uma camada de transformação ou outra plataforma além do Snowflake?
- Plataforma de dados e IAComo construímos uma plataforma central única em que os relatórios e a IA utilizam os mesmos dados.
- Implementação de dbtTransformações como código, com testes e documentação, no Snowflake ou noutro data warehouse.
- Implementação de DatabricksSe notebooks, Spark e machine learning forem o núcleo da sua plataforma de dados.