Snowflake Kafka Connector versione 4.0 è ora GA. Ecco perché per noi è un upgrade importante

Eseguire Apache Kafka® su larga scala significa che il tuo connettore ha dovuto occuparsi di attività che non gli competevano: gestione dei buffer, validazione dello schema e tuning della Java Virtual Machine (JVM). Abbiamo creato Kafka Connector versione 4.0 (V4) per cambiare le cose. È una riscrittura completa di Snowflake Kafka Connector basata su Snowpipe Streaming High-Performance Architecture, un servizio di ingestion lato server che gestisce validazione, trasformazione e commit all’interno della piattaforma. Ora il processo del connettore è lineare. Invia le righe e Snowflake gestisce tutto il resto.

Snowpipe Streaming ha dimostrato la propria efficacia su larga scala, in esecuzione in produzione su migliaia di deployment cliente dalla sua general availability. Kafka Connector V4 ne sfrutta appieno i vantaggi, spostando la logica di ingestion lato server e rimuovendola completamente dai tuoi worker. Kafka Connector versione 3.0 (V3) è stato ampiamente collaudato in produzione per anni. Il percorso di upgrade a Kafka Connector V4 non richiede di ripartire da zero. Se oggi utilizzi V3, la tua Dead Letter Queue (DLQ) e i pattern di gestione degli errori continuano a funzionare senza modifiche fin dal primo giorno. Procedi con i tuoi tempi.

Con Kafka Connector V4 in general availability (GA) da oggi, abbiamo osservato fino a 10 GB/s di throughput per tabella e 5 secondi di latenza end‑to‑end dall’ingest alla disponibilità per le query. Per rendere molto più semplice prevedere la spesa, adotta lo stesso pricing di ingestion del modello Snowpipe Streaming basato sul throughput, sostituendo il modello a crediti legato alla capacità di calcolo serverless e alle connessioni client. Paghi 0,0037 crediti per GB, in modo costante. Sulla base di benchmark interni del rollout ai clienti dell’edizione Business Critical e Virtual Private Snowflake (BC/VPS) ad agosto 2025, i clienti stanno già ottenendo risparmi sui costi superiori al 50% grazie al nuovo modello di prezzo. E per semplificare più che mai, abbiamo creato una skill Cortex Code per Kafka Connector V4 e un set di skill che ti accompagnano dalla configurazione a una pipeline di streaming operativa in Snowflake.

Il cambio di architettura

In Kafka Connector V3, il connettore si portava dietro molte responsabilità: validazione lato client, gestione dei buffer, converter personalizzati specifici per Snowflake, gestione dello schema. Tutto questo consumava risorse e creava potenziali punti di errore nell’infrastruttura lato client.

Kafka Connector V4 ribalta questo modello. L’elaborazione si sposta lato server tramite oggetti PIPE, oggetti gestiti da Snowflake che definiscono come i dati streaming vengono validati, trasformati e sottoposti a commit prima di arrivare nella tua tabella. Il processo del connettore diventa semplice: Inviare le righe. Snowflake gestisce validazione, trasformazione, clustering e commit. Per i clienti che migrano o eseguono l’upgrade all’ultima versione, Kafka Connector V4 offre anche una compatibilità opzionale lato client con le funzionalità principali di V3, così puoi aggiornare senza preoccuparti del tempo di inattività.

Figure 1: Kafka Connect V3 and V4 architectures.
Figure 1: Kafka Connect V3 and V4 architectures.

Questo cambiamento semplifica tutto ciò che viene dopo:

  • Creazione automatica delle tabelle: Il connettore crea le tabelle di destinazione a partire dai tuoi dati. Non serve alcun preprovisioning.
  • Evoluzione dello schema lato server: Snowflake aggiunge nuove colonne man mano che i dati cambiano. Niente DDL lato client.
  • Converter standard della community: Kafka Connector V4 elimina SnowflakeJsonConverter e SnowflakeAvroConverter, specifici per Snowflake. Utilizza i converter standard JsonConverter, AvroConverter e ProtobufConverter che già conosci.

  • Configurazione semplificata: Abbiamo rimosso decine di parametri per buffer, streaming e ottimizzazione. Il server gestisce ciò che deve gestire il server.
  • Compatibilità di migrazione: Funzionalità come la validazione lato client con DLQ sono pienamente supportate. Esegui la migrazione della classe del connettore, mantieni i tuoi pattern di gestione degli errori e adotta le funzionalità di Kafka Connector V4 con i tuoi tempi.

Provalo in prima persona con Cortex Code. Se vuoi vedere con mano la configurazione semplificata, ti basta digitare ssv2 quickstart in Cortex Code per iniziare.

Prestazioni

Quando valuti le prestazioni dello streaming, raramente il collo di bottiglia è la rete. Più spesso, è l’overhead operativo di capacità di calcolo sui tuoi worker Kafka Connect. Abbiamo messo a confronto V3 e V4 con benchmark su un workload intenso (quattro CPU, 8 GB di RAM, otto partizioni, otto task per nodo, taglia dei messaggi di circa 10K e 250 colonne). I dati mostrano chiaramente perché passare a un’architettura lato server ci permette di spingere i limiti delle prestazioni più che mai.

throughput
Figure 2: Throughput scaling chart.

Come mostra il grafico di scalabilità del throughput, V3 gestisce in modo affidabile i workload standard. Tuttavia, quando le esigenze di throughput enterprise crescono fino a decine di megabyte al secondo, l’elaborazione lato client inizia a raggiungere i suoi limiti naturali. A 8 MB/s per partizione, V3 si ferma a circa 37,7 MB/s di throughput totale, perché deve elaborare tutti i dati in locale.

Al contrario, V4 gestisce senza sforzo lo stesso identico workload, mantenendo una latenza ingest‑to‑query di 7 secondi. Spingendo il sistema a 12 MB/s per partizione, V4 scala in modo fluido fino a 96 MB/s di throughput totale. Alla massima capacità, V4 può arrivare fino a 10 GB/s di throughput per tabella, con latenze end‑to‑end fino a soli 5 secondi.

cpu
Figure 3: Average CPU utilization at different throughputs.

Il grafico di utilizzo della CPU mostra esattamente come V4 raggiunge questa scala. Alla soglia di 8 MB/s per partizione, V3 porta al massimo le risorse di capacità di calcolo disponibili, arrivando al 96% di CPU per tenere il passo con trasformazione e serializzazione dei dati. V4, invece, elabora lo stesso identico workload utilizzando solo il 33% di CPU e consumando anche molta meno memoria. Questo si traduce in risparmi concreti sull’infrastruttura lato client per le organizzazioni che operano su larga scala.

Da cosa dipende una differenza così marcata? Primo: l’SDK V4 si basa sul lavoro precedente introducendo un core Rust condiviso e altamente ottimizzato. Il passaggio dall’implementazione interamente Java di V3 riduce l’impronta lato client: meno utilizzo di CPU, minori requisiti di memoria e meno pressione sulla Java Garbage Collection (GC). Il risultato è immediato: worker Kafka Connect più piccoli e un’infrastruttura più snella da gestire.

Secondo: V4 sfrutta gli oggetti PIPE Snowflake per spostare l’elaborazione lato server. Invece di utilizzare la capacità di calcolo dei worker per le trasformazioni lato client, V4 si limita a inviare le righe. Snowflake gestisce nativamente il clustering in‑flight, la ridenominazione delle colonne, il casting dei tipi e il filtraggio dei record in automatico man mano che i dati arrivano. Le tue query sono più veloci su dati freschi e ben clusterizzati, senza alcun overhead operativo aggiuntivo lato client.

Prezzi ed efficienza

Kafka Connector V4 utilizza il modello di prezzo basato sul throughput. di Snowpipe Streaming Paghi per ogni GB non compresso sottoposto a ingestion a 0,0037 crediti per GB, ovvero circa 0,01 $/GB, in base alla tua edizione Snowflake. Per i prezzi aggiornati, consulta la tabella del consumo di Snowflake. Questo sostituisce il precedente modello a crediti legato alla capacità di calcolo serverless e alle connessioni client. È più prevedibile e più facile da stimare.

Il modello di prezzo cambia quando esegui la migrazione da Kafka Connector V3. Risparmi di risorse lato client, prestazioni migliori quando interroghi dati clusterizzati e trasformazioni in‑flight che eliminano passaggi di elaborazione separati contribuiscono a ridurre il TCO.

È sul lato client che i risparmi diventano più tangibili. Il core Rust di Kafka Connector V4 e l’elaborazione lato server fanno sì che i tuoi worker Kafka Connect richiedano molte meno risorse. Un cliente ha segnalato una riduzione fino al 30% dei costi lato client. Istanze più piccole. Meno worker. Minore spesa per l’infrastruttura.

Gestione degli errori con registrazione degli errori

L’elaborazione lato server cambia il modo in cui fai troubleshooting dei record non riusciti. In Kafka Connector V3, fare troubleshooting dei record non riusciti significava cercare nei log client e nell’output dei worker Kafka Connect su un’infrastruttura distribuita. Con la validazione lato server di Kafka Connector V4, i record non riusciti finiscono in una tabella degli errori interrogabile via SQL all’interno di Snowflake. Messaggio di errore, offset, timestamp, contesto del canale: tutto ciò che ti serve per diagnosticare i problemi, accessibile con una query SELECT. Il troubleshooting passa dall’analisi dei log distribuiti a una console SQL.

La validazione lato server gestisce interamente il controllo dei tipi sul lato Snowflake. Ottieni codici di errore dettagliati e lo stato del canale in tempo reale.

Per i team che preferiscono un instradamento degli errori nativo Kafka, la validazione lato client con DLQ resta pienamente supportata. Stessa configurazione, stesso comportamento di Kafka Connector V3. Puoi mantenere i pattern esistenti e adottare le tabelle degli errori lato server quando sei pronto. Scegli ciò che si adatta alla tua pipeline, ma per la maggior parte dei team le tabelle degli errori sono la strada da seguire.

Migrazione: tre passaggi per Kafka Connector V4

Sappiamo che la migrazione è una decisione importante, soprattutto se gestisci decine di connector su centinaia di topic. Per questo abbiamo progettato Kafka Connector V4 mettendo la migrazione al centro.

Esegui l’upgrade passando alla nuova versione e alla nuova classe del connector (SnowflakeStreamingSinkConnector al posto di SnowflakeSinkConnector di Kafka Connector V3). Le configurazioni di compatibilità pronte per la migrazione sono disponibili subito e replicano il comportamento di Kafka Connector V3, così puoi partire con modifiche minime:

connector.class=com.snowflake.kafka.connector.SnowflakeStreamingSinkConnector
snowflake.validation=client_side
snowflake.compatibility.enable.autogenerated.table.name.sanitization=true
snowflake.compatibility.enable.column.identifier.normalization=true
snowflake.enable.schematization=true

Kafka Connector V4, di default, utilizza l’ingestion con schema, in cui ogni chiave JSON viene mappata sulla propria colonna di tabella. È più efficiente ed è l’approccio che consigliamo. Se vuoi mantenere la modalità di default a due colonne di Kafka Connector V3 (RECORD_CONTENT e RECORD_METADATA come VARIANT), imposta snowflake.enable.schematization=false.

Il percorso è incrementale:

  1. Aggiorna a Kafka Connector V4 con la nuova classe del connector e applica i flag di compatibilità sopra indicati.
  2. Testa con i dati esistenti in un ambiente non di produzione.
  3. Adotta le impostazioni di default di Kafka Connector V4 una alla volta: convalida lato server, denominazione nativa delle colonne e altro ancora.

La migrazione è fluida. Kafka Connector V4 gestisce il ripristino degli offset in base alle configurazioni che scegli. Integrità dei dati e consegna exactly-once restano garantite per tutta la durata del processo. Le tabelle esistenti continuano a funzionare e puoi eseguire Kafka Connector V3 e Kafka Connector V4 in parallelo su topic diversi durante un rollout graduale.

Puoi anche automatizzare la migrazione con Cortex Code. La skill Cortex Code Custom Kafka Consumer ti guida in configurazione, esecuzione e debug in pochi minuti. Per iniziare, digita kafka consumer or kafka to snowflake in Cortex Code.

Inizia subito

Kafka Connector V4 è ora generalmente disponibile. Kafka Connector V4 è disponibile su Maven ed è compatibile con Apache Kafka 2.x e 3.x, incluse Confluent Platform e Amazon Managed Streaming for Apache Kafka (Amazon MSK). Supporta l’integrazione con Schema Registry con modalità di convalida lato client e richiede Java 11+. Stiamo collaborando con i nostri partner per includere Kafka Connector V4 nelle loro offerte gestite di Kafka Connect.

Prova subito le skill Cortex Code

Cortex Code include tre skill progettate appositamente per Snowpipe Streaming, che ti portano dalla configurazione ai pattern di produzione in pochi minuti. Esplora tutte le skill Cortex Code su GitHub.

Per l’elenco completo delle limitazioni attuali, consulta la documentazione di Kafka Connector V4.

Condividi articolo

Subscribe to our blog newsletter

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

Where Data Does More

  • prova gratuita di 30 giorni
  • nessuna carta di credito
  • annulli quando vuoi