Limitações e considerações para Snowpipe Streaming com arquitetura de alto desempenho

Este documento descreve as limitações conhecidas e as principais considerações para o Snowpipe Streaming com arquitetura de alto desempenho.

Limitações gerais e de nível de serviço

  • The service is available in all Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP) regions except for government-specific regions and regions in China.

Limites de tabela

  • Taxa de transferência máxima: uma tabela pode atingir uma taxa de transferência agregada de 10 GBps descompactados.

Limites de canal

  • Canais por canal: por padrão, um único canal pode ter até 2.000 canais ativos. Entre em contato com o suporte Snowflake se precisar de mais canais para seu caso de uso.

  • Canais para o Snowpipe Streaming: O número máximo de objetos PIPE configurados para o Snowpipe Streaming é limitado a mil por conta e dez por tabela. Se precisar de mais canais, entre em contato com o Suporte Snowflake.

Limites de canal

Cada canal tem os limites flexíveis a seguir. Se seu aplicativo exigir maior rendimento por canal, entre em contato com o suporte Snowflake para discutir o aumento desses limites.

  • Taxa de transferência do SDK: 12 MBps não compactados

  • Taxa de transferência do ponto de extremidade REST: 1 MBps não compactado

  • Limite de carga útil de REST: 4 MB por solicitação.

  • Taxa de solicitação: 10 solicitações por segundo (RPS).

Ingestão e limitações específicas de dados

  • A opção ON_ERROR no Snowpipe Streaming com arquitetura de alto desempenho oferece suporte apenas a CONTINUE.

  • Picos repentinos na taxa de transferência de dados podem causar breves aumentos na latência de ponta a ponta, pois o serviço está se adaptando elasticamente para suportar o novo nível de taxa de transferência.

  • Não há suporte para tabelas Iceberg particionadas.

  • MATCH_BY_COLUMN_NAME não é compatível com colunas padrão, de incremento automático ou de identidade:

    A opção MATCH_BY_COLUMN_NAME não é compatível ao carregar dados em tabelas que contêm colunas definidas com as propriedades DEFAULT, AUTOINCREMENT ou IDENTITY. Quando essa opção é utilizada, o processo de ingestão de streaming insere explicitamente valores NULL para essas colunas, substituindo o valor padrão pretendido ou o mecanismo de geração automática.

    Solução alternativa: Para usar essas propriedades de coluna, você deve omitir MATCH_BY_COLUMN_NAME. Em vez disso, você define o canal usando uma instrução COPY INTO que lista explicitamente apenas as colunas para as quais os dados de origem fornecem valores. As colunas com as propriedades de geração automática devem ser omitidas da lista de colunas de destino para garantir que o mecanismo de tabela aplique a lógica de geração de valores definida.

Limitações arquitetônicas e do SDK

  • Arquiteturas compatíveis (Rust Core): ARM64 Mac, Windows, ARM64-Linux e x86_64-Linux.

  • Requisitos do Linux: se você usa o SDK no Linux, seu sistema deve ter a versão 2.26 ou posterior do glibc.

  • Fuso horário: O SDK usa automaticamente UTC, e essa configuração não pode ser alterada pelo usuário.

  • OAuth e tokens de acesso pessoal não são compatíveis.