Blog/Data engineering/Un percorso più semplice dai producer di dati a Snowflake: Elastic Channels supportano fino a 20 GB/s
16 settembre 2026/Lettura: 8 minData engineering

Un percorso più semplice dai producer di dati a Snowflake: Elastic Channels supportano fino a 20 GB/s

Oggi annunciamo la disponibilità generale di Elastic Channels per Snowpipe Streaming, semplificando il trasferimento diretto dei dati da applicazioni, dispositivi e servizi alle tabelle Snowflake o alle tabelle Apache Iceberg™ gestite da Snowflake. I team possono eliminare i sistemi di ingestion che servono solo a depositare i dati, semplificando le operazioni, riducendo la latenza e abbassando potenzialmente il TCO.

Per le organizzazioni che gestiscono prodotti connessi, sistemi industriali e app digitali, questa semplicità conta. I dispositivi inviano telemetria in modo continuo, le app generano eventi utente e i servizi scalano in modo indipendente. Rendere disponibili questi segnali per analytics e AI può richiedere un sistema di ingestion quasi complesso quanto le app che li producono.

Gli Elastic Channels semplificano questo lavoro: scegli una tabella di destinazione, aggiungi righe o batch di righe e ricevi un durable acknowledgment quando Snowflake ha reso persistenti i dati in modo durevole, ma prima che siano disponibili per l’esecuzione di query nella tabella. L’SDK raggruppa automaticamente in batch le operazioni di append e ritenta i guasti transitori, mentre Snowflake gestisce lo scaling dell’ingestion e il ciclo di vita dei canali. Questo riduce la necessità di un message bus separato o di una pipeline di staging il cui unico scopo è depositare i dati in Snowflake.

Questa esperienza più semplice supporta anche i workload più esigenti. Con la GA, Elastic Channels supportano fino a 20 GB/s per tabella. I dati possono diventare disponibili per l’esecuzione di query in soli 5 secondi, a seconda del workload. Nei test interni abbiamo spinto ulteriormente il throughput, raggiungendo fino a 40 GB/s su una singola tabella. Il prossimo post analizzerà quei risultati di benchmark e il modo in cui li abbiamo misurati; un terzo post, dedicato agli aspetti ingegneristici, esplorerà l’architettura e il design di Elastic Channels.

Per saperne di più o iniziare a usare Elastic Channels, consulta la nostra documentazione su Elastic Channels.

Performance metrics diagram showing Snowflake throughput of 40 GB/s and query latency as low as 5 seconds
Figure 1: Throughput performance and limits of Elastic Channels.

Dalla sfida per i clienti al percorso diretto per i dati

Snowflake ha sviluppato Elastic Channels insieme a clienti che affrontavano due sfide di streaming distinte. Yuvital, che offre alle aziende un framework di app per premi e incentivi, sta testando Elastic Channels per semplificare le proprie pipeline e trasmettere gli analytics degli utenti e gli eventi di clickstream direttamente in Snowflake. HighByte, leader nel software per il DataOps industriale, aveva bisogno di un modo più semplice per supportare migliaia di connessioni e trasmettere dati industriali e IoT direttamente in Snowflake con disponibilità quasi in tempo reale. Questi design partner illustrano l’esigenza di un’ingestion più semplice sia nelle app digitali sia nei sistemi industriali.

Gli Elastic Channels semplificano l’ingestion riducendo la necessità di più sistemi il cui unico scopo è depositare i dati in una tabella. Se usi già un message bus come Kafka per più consumer, replay condiviso o retention, puoi mantenerlo e trasmettere una copia in Snowflake tramite i nostri Named Channels.

Con Elastic Channels, i clienti creano una tabella di destinazione, collegano i producer tramite un SDK o REST e iniziano ad aggiungere righe. Snowflake gestisce il percorso di ingest lato server man mano che le flotte di dispositivi e il traffico crescono.

Quote Icon

“In Yuvital, utilizziamo premi e incentivi per aiutare le organizzazioni a coinvolgere i propri membri e incoraggiare comportamenti più sani. Generiamo un flusso continuo di attività dei membri e di eventi di coinvolgimento che trasferiamo in Snowflake per comprendere l'attività dei membri, personalizzare le esperienze e orientare le decisioni aziendali. Confluent era il modo più rapido per inserire eventi append-only in Snowflake, ma era decisamente troppo complesso e costoso per un obiettivo così semplice. Con Elastic Channels, abbiamo aggiunto solo un paio di righe di codice e abbiamo iniziato a inviare eventi direttamente dal nostro backend Node.js, il che ha reso l'espansione estremamente semplice.”

Yaron Levi
Chief Architect e Co-Founder, Yuvital
Diagram comparing traditional multi-hop data pipeline to Snowpipe Streaming Elastic Channels architecture for Snowflake
Figure 2: Simplify your data pipelines with Elastic Channels.

Semplice per i producer, durevole per il business

Gli Elastic Channels sono progettati per i workload in cui molti producer indipendenti condividono una destinazione:

  • Un unico percorso di ingest condiviso: i producer scrivono attraverso un singolo Elastic Channel implicito per la pipe e la tabella di destinazione.
  • Nessun coordinamento tra i producer: le app non devono assegnare, monitorare o riequilibrare i canali di ingestion al variare delle flotte di dispositivi e del traffico.
  • Scaling automatico lato server: Snowflake distribuisce il workload al variare del numero di producer e del loro traffico.
  • Durable acknowledgment: un producer riceve la conferma dopo che Snowflake ha reso persistenti in modo durevole i dati inviati all’interno del servizio di ingestion.

Dopo aver ricevuto l’acknowledgment, il producer può rilasciare la copia che ha conservato: Snowflake ha reso i dati persistenti in modo durevole. L’elaborazione e la disponibilità per le query seguono; l’acknowledgment non significa che ogni riga abbia superato l’elaborazione a valle. Il dato di latenza indicato sopra misura il tempo dall’ingest alla query, non il tempo dell’acknowledgment.

I producer dovrebbero mantenere disponibili per il retry gli eventi non confermati. Durante le interruzioni possono sospendere l’acquisizione oppure, quando la raccolta deve continuare, usare un outbox esistente o un buffer durevole locale al producer. Per una retention a prova di crash, rendi persistenti gli eventi prima di assumerne la responsabilità e rimuovili dopo l’acknowledgment. Il buffer in memoria dell’SDK non è uno spool persistente.

I team possono considerare Snowflake una destinazione condivisa ed elastica per i dati operativi di un’intera flotta di dispositivi o di un parco applicativo, senza dover integrare la logica di coordinamento in ogni producer.

Da dati continui a risultati di business

Lo stesso modello di ingestion diretta si applica in tutti i casi in cui un gran numero di producer genera dati in modo continuo:

  • Prodotti connessi e IoT: monitora lo stato di dispositivi e reti su flotte di grandi dimensioni, accorcia il percorso dalla telemetria all’intelligence sul prodotto e integra nuovi producer senza assegnare canali a ogni dispositivo.
  • Operazioni industriali: porta i segnali dei macchinari e della produzione in Snowflake per un rilevamento delle anomalie più rapido, manutenzione predittiva e ottimizzazione operativa.
  • Sicurezza e osservabilità: trasmetti log, metriche, tracce ed eventi comportamentali dagli agenti distribuiti per accelerare il rilevamento delle minacce e la risposta agli incidenti.
  • App digitali: acquisisci eventi di clickstream e di prodotto da servizi che scalano in modo indipendente per supportare personalizzazione, sperimentazione e customer analytics quasi in tempo reale.
Quote Icon

“HighByte Intelligence Hub aiuta i produttori a raccogliere e contestualizzare i dati provenienti da apparecchiature, sensori e sistemi industriali all'edge e a renderli utilizzabili in Snowflake. Con Elastic Channels, i clienti possono aumentare il throughput e semplificare la gestione inviando flussi di dati continui attraverso percorsi di acquisizione condivisi, senza coordinare i canali tra le singole fabbriche e i produttori. Le conferme persistenti sono particolarmente importanti per i dati industriali, dove la perdita di dati non è accettabile, poiché consentono ai clienti di memorizzare in modo affidabile i dati nel buffer all'edge e di consegnarli a Snowflake quando la connettività viene ripristinata.”

Jeffrey Schroeder
Director of Product Management, HighByte

Semantiche flessibili senza complessità inutile

Snowpipe Streaming può offrire funzionalità di streaming diverse a seconda del caso d’uso. Gli Elastic Channels offrono una consegna at-least-once senza ordinamento. I retry o il replay possono generare duplicati: usa ID evento stabili quando la deduplicazione è importante. I Named Channels già disponibili in Snowpipe Streaming servono i workload che richiedono ordinamento per canale e consegna exactly-once. Scegli il modello di ingestion più adatto ai requisiti della tua app.

Nativo nella piattaforma dati Snowflake

I dati arrivano direttamente in Snowflake, dove le organizzazioni possono applicare controlli di accesso coerenti, governance, trasformazione, analytics e funzionalità di AI. Eliminare i livelli di transito può ridurre le copie duplicate e accorciare il periodo in cui i dati operativi si trovano al di fuori del perimetro di governance della piattaforma.

Scegli l’interfaccia client e la tabella di destinazione più adatte alla tua app:

  • SDK Python, Java e Node.js: aggiungi gli eventi man mano che arrivano. L’SDK raggruppa automaticamente in batch le operazioni di append usando soglie di tempo e dimensione e ritenta i guasti transitori. Le app controllano quanti dati restano non confermati e attendono periodicamente la conferma di durabilità.
  • API REST: ideale per servizi leggeri, app edge, funzioni serverless, webhook e linguaggi senza un SDK dedicato. I client REST diretti gestiscono batching e compressione NDJSON. Una risposta con esito positivo conferma l’accettazione durevole.
  • Destinazioni di ingestion: tabelle Snowflake e Iceberg Tables gestite da Snowflake.

Scegli una tabella, aggiungi righe o batch di righe e ricevi un durable acknowledgment. L’SDK gestisce il batching a livello di trasporto; l’esempio di codice qui sotto mostra un singolo append con il relativo acknowledgment.

Diagram showing three-step process for data ingestion: choosing a Snowflake table, appending rows via SDK or REST, and receiving durable acknowledgement
Figure 3: Simplified developer model.

 

Elastic Channels e i durable acknowledgment sono in GA in tutte le region commerciali AWS, GCP e Azure.

Gli Elastic Channels possono essere usati senza costi aggiuntivi. Snowpipe Streaming è fatturato in base ai dati non compressi caricati: 0,0037 crediti per GB. Per maggiori dettagli, consulta Understand your costs nella documentazione di Snowpipe Streaming.

Iniziare a usare Snowflake CoCo

Per iniziare, chiedi a CoCo di aiutarti a sviluppare una pipeline con Elastic Channels.

Chiedi a CoCo: “aiutami a iniziare con Snowpipe Streaming Elastic Channels, usando la documentazione più recente https://docs.snowflake.com/en/user-guide/snowpipe-streaming/data-load-snowpipe-streaming-overview”

CoCo può impostare la struttura degli oggetti Snowflake, il profilo di autenticazione, il codice del producer e i passaggi di verifica.

Questo esempio Python minimale illustra un append con il relativo acknowledgment. Le app di produzione conservano gli eventi non confermati e attendono ai checkpoint di durabilità, anziché dopo ogni riga:

from datetime import datetime, timezone
from snowflake.ingest.streaming import StreamingIngestClient

client = StreamingIngestClient.from_table(
    client_name="sensor_producer",
    db_name="MY_DATABASE",
    schema_name="MY_SCHEMA",
    table_name="SENSOR_READINGS",
    profile_json="profile.json",
)

channel = client.get_elastic_channel()
ack = channel.append_row_with_wait({
    "DEVICE_ID": 1,
    "READING_TS": datetime.now(timezone.utc),
    "TEMPERATURE": 21.5,
})
ack.result()  # Data has been durably accepted by Snowflake.

Puoi anche:

Crea una tabella, collega un producer, aggiungi righe o batch di righe e lascia che Snowflake gestisca lo scaling dell’ingestion e il ciclo di vita dei canali.

Scopri di più su chi ha scritto questo articolo

Chase Thomas

Senior Product Manager
Condividi questo post

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

Where DataDoes More