Tabelas híbridas

Uma tabela híbrida é um tipo de tabela Snowflake otimizada para cargas de trabalho transacionais e operacionais híbridas que exigem baixa latência e alto rendimento em leituras e gravações de pequenos pontos aleatórios. Uma tabela híbrida oferece suporte à aplicação de restrições de integridade referencial e exclusiva, que é crítica para cargas de trabalho transacionais. Você pode usar uma tabela híbrida junto com outras tabelas e recursos do Snowflake para potencializar cargas de trabalho Unistore que reúnem dados transacionais e analíticos em uma única plataforma.

Os casos de uso que podem se beneficiar das tabelas híbridas incluem:

  • Criar um grupo para uma campanha de marketing direcionada por meio de uma interface de usuário interativa.

  • Manter um estado de fluxo de trabalho central para coordenar grandes pipelines paralelos de transformação de dados.

  • Fornecer um tratamento promocional pré-computado para usuários que visitam seu site ou aplicativo móvel.

Arquitetura

As tabelas híbridas são perfeitamente integradas à arquitetura Snowflake existente. Os clientes se conectam ao mesmo serviço de banco de dados Snowflake. As consultas são compiladas e otimizadas na camada de serviços de nuvem e executadas no mesmo mecanismo de consulta em warehouses virtuais. Isso oferece vários benefícios importantes:

  • Os recursos da plataforma Snowflake, como governança de dados, funcionam com tabelas híbridas prontas para uso.

  • Você pode executar cargas de trabalho híbridas combinando consultas operacionais e analíticas.

  • Você pode unir tabelas híbridas com outras tabelas Snowflake e a consulta é executada de forma nativa e eficiente no mesmo mecanismo de consulta. Nenhuma federação é necessária.

  • Você pode executar uma transação atômica em tabelas híbridas e outras tabelas Snowflake. Não há necessidade de orquestrar sua própria confirmação em duas fases.

Arquitetura Unistore

As tabelas híbridas utilizam um armazenamento de linhas como armazenamento de dados primário para fornecer excelente desempenho de consulta operacional. Quando você grava em uma tabela híbrida, os dados são gravados diretamente no rowstore. Os dados são copiados de forma assíncrona no armazenamento de objetos para fornecer melhor desempenho e isolamento de carga de trabalho para grandes verificações sem afetar suas cargas de trabalho operacionais contínuas. Alguns dados também podem ser armazenados em cache em formato colunar no seu warehouse para fornecer melhor desempenho em consultas analíticas. Você simplesmente executa instruções SQL na tabela híbrida lógica e o otimizador de consulta do Snowflake decide de onde ler os dados para fornecer o melhor desempenho. Você obtém uma exibição consistente dos seus dados sem precisar se preocupar com a infraestrutura subjacente.

Recursos

As tabelas híbridas fornecem alguns recursos adicionais que não são suportados por outros tipos de tabela Snowflake.

Recurso

Tabelas híbridas

Tabelas padrão

Layout de dados primários

Orientado a linhas, com colunarização secundária

Micropartições colunares

Bloqueio

Bloqueio de linha

Bloqueio de partição ou tabela

Chaves primárias

Obrigatório; exclusividade imposta

Opcional, não obrigatório

Chaves estrangeiras

Integridade referencial opcional e imposta

Opcional, não obrigatório

Restrições

Oferece suporte à aplicação de restrições exclusivas e restrições de integridade referencial

Sem suporte

Índices

Suportado para desempenho; os índices são atualizados de forma síncrona na gravação

A otimização de pesquisa indexa colunas para melhor desempenho de pesquisa pontual; lote atualizado/mantido de forma assíncrona

Determinação sobre quando usar uma tabela híbrida

Embora você deva esperar que as tabelas padrão do Snowflake ofereçam melhor desempenho em grandes consultas analíticas, as tabelas híbridas permitem resultados mais rápidos em consultas operacionais de curta duração. Os seguintes tipos de consultas têm maior probabilidade de se beneficiar das tabelas híbridas:

  • Leituras pontuais aleatórias de alta simultaneidade versus leituras de grande intervalo.

  • Gravações aleatórias de alta simultaneidade versus grandes gravações sequenciais (por exemplo, carregamento em massa).

  • Recuperação de um pequeno número de registros inteiros (por exemplo, objeto de cliente) versus projeções restritas com funções analíticas (por exemplo, agregações ou agrupamento por).

Se suas consultas se enquadrarem em um desses modelos, as tabelas híbridas podem ser a escolha preferida para armazenar seus dados.