O que você vai aprender

Este guia apresenta duas otimizações recomendadas do Snowflake para a tabela de eventos da Klaviyo. Essas alterações têm como objetivo reduzir varreduras amplas da tabela e ajudar o Snowflake a se concentrar nos registros de eventos e intervalos de tempo relevantes durante a sincronização.

  • Ative a otimização de pesquisa para buscas de igualdade em id. Isso exige o Snowflake Enterprise Edition ou superior.
  • Agrupe a tabela de eventos pela data do evento. Isso funciona em todas as edições do Snowflake e deve ser feito independentemente de você também conseguir concluir a etapa de Otimização de pesquisa.

Antes de começar

Confirme o seguinte com sua equipe de plataforma de dados:

  • Se a sua conta do Snowflake estiver no Enterprise Edition ou superior, se você planeja concluir a Etapa 3 (Otimização de pesquisa). O clustering na Etapa 4 funciona em todas as edições do Snowflake e deve ser feito independentemente disso.
  • Você tem permissão para alterar a tabela de eventos e ativar recursos de otimização no nível da tabela.
  • Você sabe o nome totalmente qualificado da tabela de eventos do Klaviyo no seu ambiente.
  • A tabela de eventos contém uma coluna id, e a coluna de carimbo de data/hora do evento se chama DATETIME ou tem um nome equivalente.
  • Você tem uma janela de teste planejada, especialmente se uma sincronização histórica estiver em andamento no momento.

Os nomes das tabelas neste guia são exemplos. Substitua <EVENTS_TABLE> pelo nome exato do banco de dados, do esquema e da tabela na sua conta.

Etapa 1: identificar e validar a tabela de eventos

  1. Abra uma planilha do Snowflake usando uma função com as permissões necessárias.
  2. Confirme o identificador exato da tabela usado pela sua integração com o Klaviyo.
  3. Verifique se a tabela contém as colunas de pesquisa e de carimbo de data/hora esperadas.

Por exemplo:

text
DESCRIBE TABLE <EVENTS_TABLE>;

Confirme que:

  • id é o identificador do evento usado para consultas de igualdade.
  • DATETIME é o carimbo de data/hora do evento ou identifique a coluna de carimbo de data/hora equivalente para usar na expressão de clustering.

Etapa 2: capturar uma linha de base (opcional)

Antes de aplicar as alterações, registre informações suficientes para comparar os resultados depois:

  • Status e duração atuais da sincronização.
  • Se a sincronização é histórica ou incremental.
  • Warehouse do Snowflake usado pela integração.
  • Créditos aproximados ou computação usados pela atividade de sincronização recente.
  • Quaisquer IDs de consulta, mensagens de erro ou carimbos de data/hora relevantes do histórico de consultas do Snowflake.

Se uma sincronização histórica estiver sendo executada por um tempo anormalmente longo, coordene com a Klaviyo antes de pausá-la ou reiniciá-la.

Etapa 3: ativar a otimização de pesquisa no ID do evento (opcional)

A Otimização de pesquisa requer o Snowflake Enterprise Edition ou superior. Se sua conta estiver no Standard Edition, pule esta etapa e vá para a etapa 4 — o clustering não tem nenhum requisito de edição e deve ser feito de qualquer forma.

Execute a instrução a seguir depois de substituir o placeholder pelo nome real da sua tabela:

text
ALTER TABLE <EVENTS_TABLE>
ADD SEARCH OPTIMIZATION ON EQUALITY(id);

Por exemplo, se a tabela se chama klaviyo_events:

text
ALTER TABLE klaviyo_events
ADD SEARCH OPTIMIZATION ON EQUALITY(id);

Isso cria um caminho de acesso otimizado para predicados de igualdade em id, o que tem a intenção de reduzir a quantidade da tabela de eventos que o Snowflake precisa escanear em consultas direcionadas.

Se a Otimização de pesquisa já estiver ativada para id, não crie uma configuração duplicada. Em vez disso, confirme a configuração existente com seu administrador do Snowflake.

Etapa 4: Adicionar clustering com base em data à tabela de eventos

Aplique uma chave de clustering com base na parte da data do carimbo de data/hora do evento:

text
ALTER TABLE <EVENTS_TABLE>
CLUSTER BY (TO_DATE(DATETIME));

Por exemplo:

text
ALTER TABLE KLAVIYO_EVENT
CLUSTER BY (TO_DATE(DATETIME));

Use a coluna de carimbo de data/hora confirmada na Etapa 1. Se a sua coluna tiver um nome diferente, substitua essa coluna na expressão.

O agrupamento por data serve para ajudar o Snowflake a eliminar intervalos de tempo não relacionados, em vez de varrer a tabela de eventos inteira.

Etapa 5: permitir que a manutenção do Snowflake seja concluída

Após as duas instruções serem bem-sucedidas:

  1. Dê um tempo para o Snowflake criar ou manter as estruturas de pesquisa e clustering.
  2. Evite avaliar o resultado com base na primeira consulta imediatamente após as instruções DDL.
  3. Continue monitorando o uso do data warehouse e o desempenho das consultas enquanto a tabela estiver sendo mantida.

O tempo necessário depende do tamanho da tabela, do layout dos dados existentes e da carga de trabalho do Snowflake.

Etapa 6: notificar a Klaviyo

Envie à Klaviyo os seguintes detalhes:

  • O nome totalmente qualificado da tabela de eventos.
  • O registro de data e horário em que cada instrução foi aplicada.
  • Confirmação de que a Otimização de pesquisa foi ativada para o id.
  • Confirmação de que o agrupamento baseado em data foi aplicado.
  • A conta/região do Snowflake e o warehouse usado para a sincronização.
  • Qualquer ID de sincronização, ID de consulta ou detalhes de erro relevantes.

A Klaviyo vai verificar se alguma configuração do lado da exportação é necessária para aproveitar ao máximo a otimização da tabela de eventos.

Etapa 7: execute uma sincronização de validação controlada (opcional)

Quando possível, valide com uma sincronização incremental ou que seja limitada de alguma forma antes de reiniciar um grande preenchimento histórico.

Compare a nova execução com a linha de base da etapa 2:

  • Hora de começar o processamento.
  • Duração total da sincronização.
  • Comportamento do progresso na IU do Klaviyo.
  • Bytes verificados do Snowflake.
  • Créditos de warehouse consumidos.
  • Se a sincronização é concluída sem novas tentativas ou trabalho repetido.

O sinal mais forte é uma melhoria tanto na duração da sincronização quanto no compute do Snowflake, em vez de uma métrica isolada.

Etapa 8: monitorar as próximas sincronizações

Acompanhe várias sincronizações subsequentes em vez de depender de uma única execução. Procure por:

  • Computação estável ou em queda conforme a tabela de eventos cresce.
  • Menos varreduras amplas de dados históricos.
  • Duração da sincronização mais previsível.
  • Nenhum aumento em consultas com falha ou repetidas.

Compartilhe os resultados com a Klaviyo, incluindo os IDs de consulta antes e depois quando disponíveis.

Solução de problemas

A instrução de Otimização de pesquisa falha

Verifique se:

  • A conta do Snowflake é compatível com os recursos.
  • A função de execução tem permissão para alterar a tabela.
  • O nome da tabela e a coluna de ID estão corretos.
  • A Otimização de pesquisa ainda não está configurada para a coluna solicitada.

A instrução de clustering falha

Verifique se:

  • O nome da tabela está correto.
  • A coluna de carimbo de data/hora existe e é um valor de data ou carimbo de data/hora compatível.
  • A função em execução pode alterar a tabela.
  • A expressão de clustering corresponde ao campo de timestamp real do evento.

A sincronização ainda está lenta ou parece travada

Enviar para a Klaviyo:

  • As definições exatas das tabelas e as instruções usadas.
  • O horário em que cada mudança foi aplicada.
  • O horário de início da sincronização e o status atual.
  • IDs de consulta do Snowflake e uso do warehouse.
  • Qualquer evidência de que o status da UI não está progredindo.

Não remova as otimizações apenas porque a primeira sincronização não melhora. Primeiro, confirme que a Snowflake concluiu a manutenção relevante e que a Klaviyo verificou a configuração do lado da exportação.

Checklist de conclusão

  • Tabela de eventos correta identificada.
  • Colunas de id e carimbo de data/hora do evento confirmadas.
  • Sincronização de referência e métricas de computação registradas (opcional).
  • Otimização de pesquisa ativada para pesquisas de igualdade em id (opcional).
  • Tabela de eventos clusterizada por data do evento.
  • Klaviyo notificado sobre as alterações.
  • Sincronização de validação controlada concluída.
  • Desempenho da sincronização de acompanhamento e computação revisados (opcional).
Esse artigo foi útil?
Use esse formulário somente para dar feedback sobre os artigos. Saiba como entrar em contato com o suporte.

Saiba mais sobre a Klaviyo

Community
Conecte-se com colegas, parceiros e especialistas da Klaviyo para ter ideias, compartilhar insights e tirar dúvidas.
Parceiros
Contrate um especialista certificado pela Klaviyo para ajudá-lo com uma tarefa específica ou para gerenciamento contínuo de marketing.
Suporte

Acesse o suporte na sua conta.

Suporte por e-mail (teste gratuito e contas pagas) Disponível 24 horas

Chat/assistência virtual
A disponibilidade varia conforme o local e o tipo de plano