L'evoluzione dell'elaborazione dei fatti: uno sfondo in vaso
Pubblicato: 2022-03-14Come si è sviluppata l'elaborazione dei dettagli (fornitura aperta)? E come sono progrediti i sistemi distintivi nel tempo man mano che le strutture di elaborazione dei dati sono diventate estremamente raffinate e il volume e il ritmo della conoscenza prodotta si sono amplificati di ora in ora?
Permettici di fare dei test per rispondere ai prossimi due problemi: come possiamo elaborare i dettagli e quali sono le tecniche di elaborazione della conoscenza prontamente disponibili al giorno d'oggi? Perché procediamo con le informazioni?
Questo è abbastanza chiaro se si pensa alla notevole quantità di gadget correlati, sensori e visite alle pagine web. Per non parlare di tutti i dettagli prodotti da esseri umani e attrezzature. È evidente che l'elaborazione delle informazioni esiste da quando abbiamo inventato i sistemi informatici e abbiamo sperimentato l'acquisizione di informazioni.
All'inizio...
La creazione di personal computer ha prodotto una chiara necessità di elaborazione di informazioni e fatti. In questi tempi incredibilmente precoci, gli esperti di laptop o computer hanno sperimentato la creazione di applicazioni personalizzate per l'elaborazione delle informazioni e molto probabilmente sono state salvate su una scheda perforata.
Le azioni successive hanno portato il linguaggio assembly e altri linguaggi di programmazione mirati come Fortran, adottato da C e Java. Per tutto lo spazio preistorico dei fatti massicci, gli ingegneri dei programmi software userebbero questi linguaggi per scrivere corsi appositamente realizzati per lavori di elaborazione delle informazioni unici.
D'altra parte, questo paradigma di elaborazione dei dettagli era accessibile solo a un paio di selezionati che avevano un background di programmazione che impediva un'adozione più ampia da parte degli analisti dell'informazione o della più ampia comunità aziendale che desiderava sistemare i dati e trarre conclusioni specifiche.
L'azione successiva, puramente naturale, ha notato l'invenzione del database, negli anni '70 e in tutto il mondo. Le unità di database relazionali standard, come i database di IBM, abilitavano SQL e miglioravano l'adozione dell'elaborazione dei dati da parte di un pubblico più ampio. SQL è un linguaggio di domande standardizzato ed espressivo che si legge piuttosto come l'inglese.
Ha consentito a più persone di accedere all'elaborazione dei fatti che quindi non hanno sperimentato per un periodo più lungo di contare sui programmatori per produrre pacchetti esclusivi circostanza per situazione e analizzare i dati. SQL ha anche ampliato la varietà e la forma degli scopi relativi all'elaborazione delle conoscenze come programmi aziendali, analisi sui costi di abbandono, dimensioni comuni del paniere, dati di sviluppo di 12 mesi e così via.
Alba di informazioni importanti
L'era di Huge Information è iniziata con la carta MapReduce, prodotta da Google, che spiega un prodotto semplice che dipende da due primitive: Map e Cut down.
Queste primitive consentivano calcoli paralleli su una grande quantità di macchine parallele. Certamente, i calcoli paralleli erano fattibili già prima dell'era MapReduce per mezzo di numerosi computer, supercomputer e dispositivi MPI. Tuttavia, MapReduce lo ha progettato a disposizione di un pubblico più ampio.
Apache Hadoop è arrivato in seguito come implementazione open-source del framework (inizialmente implementato in Yahoo!) Che era ampiamente disponibile nell'area open source e ottenibile da un pubblico più ampio. Hadoop è stato adottato da un assortimento di società e diversi giocatori di Significant Facts hanno avuto origine all'interno del framework Hadoop.
Hadoop ha introdotto un nuovo paradigma nella casa di elaborazione dati: la capacità di raccogliere informazioni sui punti vendita al dettaglio in una procedura o archiviazione di file dispersi (come HDFS per Hadoop) che potrebbe quindi essere interrogata / interrogata a un livello successivo.
Hadoop ha aperto una strada paragonabile ai database relazionali in base al quale iniziare con una programmazione personalizzata in bundle da parte di un "cast" distinto di persone che sono state pronte a creare programmi per poi mettere in pratica query SQL sulla conoscenza in una tecnica di file distribuito, questo tipo di come Hive o altri framework di archiviazione.

Connesso: informazioni enormi e i 5 grandi vantaggi di Hadoop .
L'elaborazione in batch riceve un'accelerazione
La fase futura in Huge Facts ha notato l'introduzione di Apache Spark. Spark ha consentito un'ulteriore parallelizzazione e ha portato l'elaborazione batch al livello successivo. Come sottolineato in precedenza, l'elaborazione batch consiste nel collocare i fatti in un processo di archiviazione su cui eseguire i calcoli di routine.
L'idea chiave qui è che i tuoi fatti si trovano da qualche parte anche se periodicamente (giornaliero, settimanale, orario) esegui calcoli per raccogliere effetti principalmente basati su dati passati. Questi calcoli non vengono mai eseguiti in modo coerente e hanno un livello iniziale e un endpoint. Di conseguenza, è necessario riattivarli su base continuativa per risultati finali aggiornati.
Dalla conoscenza massiccia alla conoscenza rapida: l'introduzione dell'elaborazione del flusso
Questa fase imminente dell'evoluzione della Big Information ha notato l'introduzione dell'elaborazione del flusso con Apache Storm che è rimasto il primo framework ampiamente utilizzato (sono finiti altri sistemi e framework di studio contemporaneamente, ma Storm è stato l'unico a vedere una migliore adozione). Questo framework ha consentito la creazione di pacchetti che potevano funzionare continuamente (24 ore su 24, 7 giorni su 7).
Contrariamente alla tattica di elaborazione in batch in cui i piani e le app hanno un inizio e una conclusione, i programmi di elaborazione del flusso vengono eseguiti continuamente sui fatti e producono risultati in tempo reale, sebbene i fatti vengano prodotti. L'elaborazione del flusso è stata ulteriormente più sofisticata con l'introduzione di Apache Kafka (originato con LinkedIn) come meccanismo di archiviazione per un flusso di messaggi. Kafka fungeva da buffer che coinvolgeva le fonti di informazione e il programma di elaborazione (come Apache Storm).
Lambda Architecture ha creato una leggera deviazione nel racconto di Large Information. Questa architettura è nata dal fatto che gli utilizzatori preliminari dell'elaborazione del flusso non ritenevano che i metodi di elaborazione del flusso come Apache Storm fossero affidabili e adeguati, quindi hanno salvato la gestione di ogni sistema (elaborazione batch e flusso) contemporaneamente.
L'architettura Lambda era un mix dei due dispositivi: un programma di elaborazione del flusso come Apache Storm è stato utilizzato per approfondimenti in tempo reale, ma poi l'architettura ha utilizzato periodicamente un sistema di elaborazione batch che ha mantenuto la verità di base di ciò che è accaduto.
Apache Flink: l'elaborazione del flusso diventa disponibile
Intorno al 2015, Apache Flink ha iniziato a diventare un eccezionale framework di elaborazione del flusso adottato da sviluppatori e leader di fatti/analisi.
Adatto fin dall'inizio, Flink ha mostrato una semantica molto solida e un motore di elaborazione tollerante agli errori che ha fatto credere agli utenti che l'architettura Lambda non fosse più importante e che l'elaborazione del flusso potesse essere affidabile per l'elaborazione di occasioni sofisticate e il jogging continuo, app mission-critical. Tutto il sovraccarico derivante dallo sviluppo e dal supporto di due unità (elaborazione batch/streaming) è diventato ridondante a causa del framework di elaborazione dei dettagli affidabile e ottenibile di Flink.
L'elaborazione del flusso ha lanciato un nuovo paradigma e un cambiamento di mentalità da una posizione di richiesta-risposta, esattamente dove la conoscenza è archiviata prima di un possibile interrogatorio su circostanze di frode a una persona in cui si verifica prima con i pensieri e quindi si ottengono i fatti in tempo autentico come il le informazioni vengono create. Ad esempio, con l'elaborazione del flusso è possibile sviluppare un software di rilevamento delle frodi in esecuzione 24 ore su 24, 7 giorni su 7. Otterrà le situazioni in tempo reale e ti fornirà informazioni su quando c'è una frode con la carta di credito, impedendo che si verifichi davvero nel primo posto. Questo è molto probabilmente uno dei cambiamenti ancora più grandi nell'elaborazione dei dettagli poiché consentirà intuizioni in tempo reale su ciò che sta accadendo nel mondo intero.
L'evoluzione dell'elaborazione dei fatti sulle risorse aperte ha sperimentato un modello tipico, viene introdotta una nuova struttura sul mercato (cioè un database relazionale, elaborazione batch, elaborazione di flussi) che è inizialmente prontamente disponibile per un unico visualizzatore (programmatori) che può produrre pacchetti su misura avvicinarsi alla conoscenza.
Poi arriva l'introduzione di SQL nel framework che tende a renderlo comunemente ottenibile da un pubblico che non vuole davvero scrivere pacchetti per un'elaborazione sofisticata delle informazioni.
L'elaborazione del flusso segue un modello SQL molto simile per le attività di elaborazione del flusso un'ampia adozione nelle applicazioni di streaming che convalida il modello che conoscevamo in passato. Si prevede che il mercato dell'elaborazione del flusso si espanderà in modo esponenziale nei prossimi anni a un CAGR del 21,6%. Con questa crescita e la gamma di app di elaborazione del flusso e le circostanze d'uso che esplodono di giorno in giorno, gli sviluppi in questo luogo sono piuttosto pochi e il futuro dell'elaborazione del flusso è un ambiente naturale in continua evoluzione e alterazione del tempo.
Aljoscha Krettek è co-fondatore e Engineering Direct di Veverica .