Limites et considérations pour Snowpipe Streaming avec architecture hautes performances¶
Ce document décrit les limites connues et les principales considérations pour Snowpipe Streaming avec architecture hautes performances.
Limites générales et au niveau du service¶
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 table¶
Débit maximum : Une table peut atteindre un débit agrégé de 10 GBps sans compression.
Limites de canal¶
Canaux par canal : Par défaut, un seul canal peut avoir jusqu’à 2 000 canaux actifs. Contactez le Support Snowflake si vous avez besoin de plus de canaux pour votre cas d’utilisation.
Canaux pour Snowpipe Streaming Le nombre maximum d’objets PIPE configurés pour Snowpipe Streaming est limité à 1 000 par compte et 10 par table. Si vous avez besoin de plus de canaux, contactez le Support Snowflake.
Limites de canal¶
Chaque canal présente les limites souples suivantes. Si votre application nécessite un débit plus élevé par canal, contactez le Support Snowflake pour discuter de l’augmentation de ces limites.
Débit du SDK : 12 MBps sans compression
Débit des points de terminaison REST : 1 MBps sans compression
Limite de charge utile REST : 4 MB par requête.
Taux de requêtes : 10 requêtes par seconde (RPS).
Limites de l’ingestion et spécifiques aux données¶
L’option ON_ERROR de Snowpipe Streaming avec architecture hautes performances ne prend en charge que CONTINUE.
Des pics soudains dans le débit de données peuvent entraîner de brèves augmentations de la latence de bout en bout, car le service s’adapte de manière flexible pour prendre en charge le nouveau niveau de débit.
Les tables Iceberg partitionnées ne sont pas prises en charge.
MATCH_BY_COLUMN_NAME n’est pas pris en charge avec les colonnes par défaut, les colonnes d’incrément automatique ou les colonnes d’identité :
L’option MATCH_BY_COLUMN_NAME n’est pas prise en charge lorsque vous chargez des données dans des tables contenant des colonnes définies avec les propriétés DEFAULT, AUTOINCREMENT, ou IDENTITY. Lorsque vous utilisez cette option, le processus d’ingestion en streaming insère explicitement des valeurs NULL pour ces colonnes, remplaçant ainsi la valeur par défaut prévue ou le mécanisme de génération automatique.
Solution de contournement : Pour utiliser les propriétés de ces colonnes, vous devez omettre MATCH_BY_COLUMN_NAME. Au lieu de cela, vous définissez le canal en utilisant une instruction COPY INTO qui répertorie explicitement et uniquement les colonnes pour lesquelles les données sources fournissent des valeurs. Les colonnes avec les propriétés d’auto-génération doivent être omises dans la liste de colonnes cibles pour s’assurer que le moteur de table applique la logique de génération des valeurs définies.
Limites du SDK et architecturales¶
Architectures prises en charge (Rust Core) : ARM64 Mac, Windows, ARM64-Linux et x86_64-Linux.
Exigences Linux : Si vous utilisez le SDK sous Linux, votre système doit disposer de la version 2.26 de glibc ou d’une version supérieure.
Fuseau horaire : Le SDK utilise automatiquement UTC, et ce paramètre ne peut pas être modifié par l’utilisateur.
L’OAuth et les jetons d’accès personnel ne sont pas pris en charge.