Video: Sviluppare applicazioni nell'era dei Big Data - Mario Cartia - Codemotion Rome 2017 2024
Il solo fatto di avere un computer più veloce non è sufficiente per garantire il giusto livello di prestazioni per gestire i big data. Devi essere in grado di distribuire componenti del tuo servizio Big Data attraverso una serie di nodi. Nel calcolo distribuito, un nodo è un elemento contenuto in un cluster di sistemi o all'interno di un rack.
Un nodo include in genere CPU, memoria e qualche tipo di disco. Tuttavia, un nodo può anche essere una CPU e una memoria blade che si basano su una memoria vicina all'interno di un rack.
All'interno di un ambiente big data, questi nodi sono in genere raggruppati per fornire scalabilità. Ad esempio, potresti iniziare con un'analisi dei big data e continuare ad aggiungere altre fonti di dati. Per favorire la crescita, un'organizzazione semplicemente aggiunge più nodi in un cluster in modo che possa scalare per soddisfare le crescenti esigenze.
Tuttavia, non è sufficiente espandere semplicemente il numero di nodi nel cluster. Piuttosto, è importante essere in grado di inviare parte dell'analisi dei big data a diversi ambienti fisici. Dove si inviano questi compiti e come li gestisci fa la differenza tra successo e fallimento.
In alcune situazioni complesse, è possibile eseguire molti algoritmi diversi in parallelo, anche all'interno dello stesso cluster, per ottenere la velocità di analisi richiesta. Perché dovresti eseguire diversi algoritmi di big data in parallelo all'interno dello stesso rack? Più vicine sono le distribuzioni di funzioni, più velocemente possono essere eseguite.
Sebbene sia possibile distribuire analisi di big data su reti per sfruttare la capacità disponibile, è necessario eseguire questo tipo di distribuzione in base ai requisiti per le prestazioni. In alcune situazioni, la velocità di elaborazione passa in secondo piano. Tuttavia, in altre situazioni, ottenere i risultati velocemente è il requisito. In questa situazione, si desidera assicurarsi che le funzioni di rete siano vicine l'una all'altra.
In generale, l'ambiente Big Data deve essere ottimizzato per il tipo di attività di analisi. Pertanto, la scalabilità è la chiave di volta per far funzionare correttamente i big data. Anche se sarebbe teoricamente possibile gestire un ambiente di big data all'interno di un unico grande ambiente, non è pratico.
Per comprendere le esigenze di scalabilità nei big data, basta guardare alla scalabilità del cloud e comprendere sia i requisiti che l'approccio. Come il cloud computing, i big data richiedono l'inclusione di reti veloci e cluster economici di hardware che possono essere combinati in rack per aumentare le prestazioni. Questi cluster sono supportati dall'automazione software che consente il ridimensionamento dinamico e il bilanciamento del carico.
La progettazione e le implementazioni di MapReduce sono esempi eccellenti di come il calcolo distribuito può rendere i dati di grandi dimensioni visibili e accessibili dal punto di vista operativo. In sostanza, le aziende sono in uno dei punti di svolta unici nel computing in cui i concetti tecnologici si incontrano al momento giusto per risolvere i problemi giusti. La combinazione di calcolo distribuito, sistemi hardware migliorati e soluzioni pratiche come MapReduce e Hadoop sta cambiando la gestione dei dati in modi profondi.