Architettura di streaming (nota anche come Kappa) e diversi tipi di dati

1

Sto cercando di verificare la mia comprensione della architettura kappa . Il punto principale che sto tentando di risolvere è come, se del caso, si unisca l'elaborazione dei dati in analisi e altre parti di dati, come un utente che modifica un'impostazione che potrebbe successivamente influenzare l'analisi dei dati.

Ad esempio, supponiamo che i dati dell'IoT relativi all'uso elettrico nelle abitazioni vengano inviati a un registro immutabile come Kafka. Desideriamo eseguire varie analisi su tali dati per produrre alcune visualizzazioni dei dati per gli utenti finali (la quantità di elettricità utilizzata, i confronti di coorte, ecc.).

Ora supponiamo che ci siano impostazioni che un amministratore può comporre su e giù per determinare le soglie per alcune analisi. Se voglio abilitare la riproduzione dei dati reali, avrei bisogno di acquisire anche questi cambiamenti. Quindi il mio registro finirebbe per qualcosa di simile.

D=data event
S=settings event
T=time

  [D5,S3,S2,D4,D3,D2,S1,D1,D0,S0]
Tn<------------------------------T0

Quindi gli eventi D {0,1} vengono elaborati usando le impostazioni S0. Quindi l'utente modifica le impostazioni e S1 viene generato e aggiunto al log (e infine elaborato). D {2,3,4} vengono elaborati con le nuove modifiche alle impostazioni da S1. Ecc.

Se volessi riprodurre tutto e rigenerare le mie visualizzazioni, avrei bisogno di elaborare i dati in ordine. E poiché gli eventi dei dati dipendono dagli eventi delle impostazioni, mi sembra che non sia stato possibile parallelizzare l'elaborazione.

La mia comprensione è corretta? La mia comprensione dell'orientamento dell'architettura kappa è che non prescrive necessariamente un particolare approccio all'elaborazione dei dati, che dipende in gran parte dal tuo caso d'uso, sì?

Sto cercando di capire come potrei estrarre le efficienze dall'usare questo approccio, ma garantisco comunque l'elaborazione degli ordini, soprattutto perché i nuovi eventi possono dipendere da eventi precedenti.

Almeno nello scenario che ho delineato, non penso ci sia un modello con il quale potrei parallelizzare l'elaborazione e comunque garantire nell'elaborazione degli ordini.

Aggiornamento 30-mar-2017 Quindi questo non ha mai avuto risposta, ma i commenti sono sufficienti per discernere una possibile architettura. Suggerirei anche a chiunque fosse interessato a consultare questo vecchio articolo di Microsoft su CQRS e Event Sourcing.

link

Sì, è del 2012 ma i fondamentali sono piuttosto buoni.

    
posta Mike 13.02.2017 - 14:25
fonte

0 risposte

Leggi altre domande sui tag