Unificare Batch e Streaming per l'integrazione dei dati

streaming_dati_integrazione

Finora, in questa serie di post, abbiamo illustrato le basi del calcolo batch e streaming e alcuni dei framework open source mirati al batch e allo streaming. Il vantaggio di un modello di programmazione batch e streaming unificato può tradursi in una maggiore produttività, perché gli utenti devono imparare e mantenere meno ambienti. In alcuni casi, è possibile anche un maggiore riutilizzo del codice, perché alcune delle computazioni applicate al batch possono essere applicate anche allo streaming. Allo stesso modo, il vantaggio di un motore di elaborazione dati unificato può ridurre la complessità operativa.

Progetti di elaborazione dati come Spark con Spark Streaming e Flink cercano di unificare la semantica dei dati batch e streaming. Questi motori si stanno evolvendo sia in termini di prestazioni che di flessibilità, quindi è necessario risolvere diversi problemi in termini di attività di integrazione dei dati.

  1. Semantica variabile per le diverse modalità: Mentre alcuni motori di elaborazione dei dati stanno cercando di diventare universali in termini di batch e streaming, ogni motore ha una semantica diversa per la modalità batch e la modalità streaming. Per alcune applicazioni può essere appropriato un micro batching con Spark Streaming, ma altre applicazioni potrebbero aver bisogno di elaborare ogni messaggio istantaneamente. Inoltre, questi motori di elaborazione dati hanno requisiti operativi diversi che possono avere implicazioni per l'implementazione all'interno di un'infrastruttura IT esistente.
  2. Robustezza e maturità: Questi motori di elaborazione dati sono ancora relativamente giovani in termini di robustezza e maturità. MapReduce ha beneficiato di molti più anni di utilizzo in produzione, di debugging e di sviluppo open source. Quindi, anche se i motori emergenti sono molto promettenti, ci saranno alcune lacune nella loro applicabilità e stabilità. L'adozione continua contribuirà ad aumentare il ciclo di feedback e, in ultima analisi, a rafforzare questi motori.
  3. Connettività di base: Infine, questi motori forniscono interfacce e API di livello relativamente basso per costruire i calcoli. Dal punto di vista dell'integrazione, molti tipi di operazioni possono essere specificati a un livello superiore. Inoltre, l'integrazione riguarda sia l'elaborazione dei dati che la connessione con un gran numero di endpoint di dati diversi. I motori di elaborazione dei dati forniscono solo la connettività di base agli endpoint di dati a un insieme limitato di endpoint.

In SnapLogic, vediamo che l'unificazione di batch e streaming avviene a più livelli. I motori di elaborazione dati emergenti forniscono una semantica unificata, ma questi motori sono di livello troppo basso per un uso diffuso dell'integrazione dei dati. La nostra Elastic Integration Platform sfrutta un motore di elaborazione dati unificato, fornendo al contempo un modello di programmazione di alto livello per l'interfacciamento con più tipi di motore. In questo modo le aziende possono sfruttare i moderni motori ibridi e collegare gli endpoint di dati utilizzando un modello di programmazione visuale di livello superiore.

Prossimi passi:

Categoria: Integrazione

Stiamo assumendo!

Scoprite la vostra prossima grande opportunità di carriera.