Antonino Battaglia : 2 Settembre 2025 22:22
Oggi, per tutte le grandi aziende, i dati rappresentano una risorsa strategica di primaria importanza. Grazie alle informazioni ricavate, è possibile fondare strategie decisionali che, in ogni settore, possono implementare le attività e i profitti di un’azienda. Analoghe considerazioni possono essere rivolte all’interno della Pubblica Amministrazione, dove i dati non solo rappresentano uno strumento per migliorare l’efficienza interna e i processi decisionali, ma, se resi disponibili alla collettività, possono generare valore sociale ed economico.
Seppur con modalità e finalità differenti, in questo contesto si inseriscono due fenomeni fondamentali, accomunati dalla necessità di gestire grandi quantità di informazioni; stiamo parlando di Open Data e Big Data. Come tutte le tecnologie che devono gestire una grosse molte e varietà di dati, dovranno garantire sicurezza, integrità e disponibilità delle informazioni. Di base, quando parliamo di Open Data, ci riferiamo a informazioni pubbliche, dove i dati presentano un formato aperto, standardizzato e liberamente disponibile, privi di copyright.
Data la natura open dei dati, saranno compatibili con tecnologie differenti e presenteranno formati di dati aperti e interoperabili, quali ad esempio il CSV o JSON, sfruttando l’utilizzo di API per accedere ai dataset o l’utilizzo di Linked Open Data. Facciamo una parentesi sui Linked Open Data, i quali sfruttano tecnologie semantiche per strutturare i dati, permettendo così una comprensione più profonda del significato e del contesto delle informazioni. Fondamentalmente, questo approccio si basa su principi fondamentali. L’utilizzo di URI (Uniform Resource Identifier) identifica ogni risorsa in modo univoco, e i dati devono interconnettersi tramite link, consentendo la navigazione tra di essi.
CALL FOR SPONSOR - Sponsorizza l'ottavo episodio della serie Betti-RHC
Sei un'azienda innovativa, che crede nella diffusione di concetti attraverso metodi "non convenzionali"?
Conosci il nostro corso sul cybersecurity awareness a fumetti?
Red Hot Cyber sta ricercando un nuovo sponsor per una nuova puntata del fumetto Betti-RHC mentre il team è impegnato a realizzare 3 nuovi episodi che ci sono stati commissionati.
Contattaci tramite WhatsApp al numero 375 593 1011 per richiedere ulteriori informazioni oppure alla casella di posta [email protected]
Affinché le informazioni possano essere interpretate correttamente, vengono utilizzati diversi standard, tra i quali ricordiamo, senza scendere nel dettaglio, il RDF (Resource Description Framework), che consente la rappresentazione di informazioni sul web in modo strutturato, e il OWL (Web Ontology Language), che definisce le relazioni tra i dati, facilitandone la comprensione.
Gli Open Data dovranno affrontare diverse problematiche, in primis la qualità dei dati, che molto spesso risulta incompleta o obsoleta. Inoltre, la mera pubblicazione dei dati (nel caso dei servizi offerti dalla Pubblica Amministrazione) non garantisce necessariamente il loro utilizzo da parte del cittadino. Inoltre data la natura del dato saranno, spesso dati riferibili a soggetti fisici, dovranno quindi rispettare e tutelare la privacy dei soggetti. Di base, tuttavia, la formazione e la sensibilizzazione dei cittadini sull’importanza e sull’uso dei dati aperti possono contribuire a un maggiore coinvolgimento e a un utilizzo più efficace delle informazioni disponibili.
Quando i dati non sono necessariamente pubblici e necessitano di una tecnologia in grado di gestire grandi quantità, molto spesso in formato grezzo, possiamo parlare di Big Data. Comunemente, si fa riferimento alle 5V: volume (grosso volume di dati), velocità (elevata velocità operativa), varietà (varietà del dato), veridicità (veridicità della fonte fornitrice del dato) e valore (valore del dato, legato all’interesse del soggetto).
Tra le tecnologie più importanti nel contesto dell’infrastruttura dei Big Data, troviamo:
Senza avere la pretesa di esaurire gli argomenti trattati, tentiamo di fornire alcuni cenni per far comprendere la differenza tra le varie tecnologie. Da un punto di vista dell’efficienza, i NoSQL, a differenza dei database relazionali, non presentano una natura strutturata. All’interno di questi sistemi, si barattano i pesanti vincoli della struttura relazionale con operazioni più rapide e dinamiche. Questi database sono basati sul concetto di tecnologia distribuita, dove i dati possono essere archiviati su più nodi di elaborazione. Non avremo più un modello basato sulle transazioni, ma sulla flessibilità dei dati.
La memorizzazione dei dati all’interno di queste tecnologie può essere sviluppata attraverso diversi modelli. Tra i modelli utilizzati, abbiamo quello Chiave/Valore, secondo il quale gli oggetti vengono memorizzati in strutture denominate bucket sotto forma di un elenco chiave-valore. Un altro modello utilizzato è quello dei documenti, attraverso il quale gli oggetti vengono salvati all’interno di documenti aventi una struttura che ricalca quella della programmazione orientata agli oggetti (O.O.).
Il principale vantaggio del modello documentale è l’elevata compatibilità con i sistemi odierni, tra i quali troviamo MongoDB. Un ultimo modello è quello a colonna, nel quale i dati, anziché essere orientati per righe, vengono organizzati in colonne. Praticamente, sebbene il concetto presenti un cambiamento che può sembrare solo formale, migliora la distribuzione all’interno dello spazio di archiviazione.
Abbiamo accennato a MongoDB, un database basato sul modello orientato ai documenti, progettato per gestire grandi volumi di dati non strutturati o semistrutturati. MongoDB sfrutta la rappresentazione binaria BSON (Binary JSON), la quale permette di avere all’interno dati provenienti da collezioni omogenee oppure che non possiedono la stessa natura. Tali documenti, a loro volta, vengono organizzati all’interno di collezioni, all’interno delle quali è possibile implementare indici per migliorarne le prestazioni.
Ricordiamo che, ad oggi, tra i framework maggiormente utilizzati per la gestione e l’archiviazione di grosse quantità di dati, abbiamo Apache Hadoop, la cui caratteristica principale è quella di scomporre grandi problemi in elementi più piccoli, dividendo la grossa quantità di dati in parti più piccole, gestibili parallelamente. Da un punto di vista architetturale, Hadoop sfrutta il principio che eventuali errori devono essere gestiti a livello applicativo e utilizza cluster di server o server virtuali per la sua implementazione.
Hadoop è principalmente costituito da due componenti fondamentali:
Il primo modulo è Hadoop Distributed File System (HDFS), un filesystem distribuito che memorizza i dati su commodity hardware, fornendo una banda aggregata molto alta. È necessario utilizzare un filesystem distribuito quando la quantità di dati da memorizzare può eccedere quella memorizzabile in una singola macchina. È quindi necessario partizionare i dati su più macchine, fornendo meccanismi di recupero nel caso in cui una macchina si rompa. Rispetto ai normali filesystem, quelli distribuiti richiedono comunicazione di rete e sono più complessi da sviluppare.
HDFS possiede un’architettura master/slave. All’interno di un cluster vi sarà un singolo nodo master (NomeNode), un server che regola il namespace del file system e gestisce l’accesso dal client. I file sono memorizzati separatamente nei DataNode, di cui solitamente ce n’è uno per nodo del cluster. Internamente, un file è spezzato in uno o più blocchi, e questi blocchi sono memorizzati in un insieme di DataNode.
Il secondo modulo è MapReduce, un modello di programmazione per l’elaborazione di grandi quantità di dati, realizzato per far sì che i calcoli siano sviluppati in parallelo. Esso si basa sul principio “divide et impera”, nel quale un problema corposo viene suddiviso in problemi indipendenti che possono essere risolti parallelamente. Fondamentalmente, vengono generate diverse coppie chiave-valore dal componente Map, mentre il componente Reduce le aggrega in varie coppie.
Oltre ai due moduli appena descritti, possiamo indicare la presenza del modulo YARN e COMMON. YARN è il gestore delle risorse del cluster e organizza i job sui dati, mentre COMMON contiene le librerie necessarie al funzionamento dei moduli.
Nato da Hadoop, Apache Spark presenta funzionalità specifiche progettate per offrire velocità computazionale, scalabilità e programmabilità necessarie per i big data, in particolare per lo streaming di dati, dati grafici, analisi e machine learning. A differenza di Hadoop, Spark permette di effettuare query rapide e ottimizzate sfruttando la sua elaborazione all’interno della cache. La scalabilità è ottenuta dividendo i workflow di elaborazione su grandi cluster di computer.
Spark presenta un’architettura gerarchica primaria/secondaria. Il nodo primario, definito driver, controlla i nodi secondari, gestisce il cluster e fornisce i dati al client applicativo. Nel programma principale di un’applicazione Spark (il programma driver) è presente un oggetto di tipo SparkContext, la cui istanza comunica con il gestore di risorse del cluster per richiedere un insieme di risorse (RAM, core, ecc.) per gli executor.
Un punto fondamentale tra i compiti svolti da Spark è la creazione di set di dati distribuiti, noti come RDD (Resilient Distributed Dataset). Gli RDD sono resilienti (quindi ricostruibili in caso di guasti), immutabili (ogni operazione crea un nuovo RDD) e partizionabili per permettere l’elaborazione in parallelo. Spark carica i dati facendo riferimento a un’origine dati o parallelizzando una raccolta esistente con il metodo di parallelizzazione di SparkContext per la memorizzazione dei dati in un RDD per l’elaborazione. Una volta caricati i dati in un RDD, Spark esegue trasformazioni e azioni su di essi in memoria, che è la chiave della velocità di Spark. Spark memorizza inoltre i dati in memoria, a meno che il sistema non esaurisca la memoria o l’utente non decida di scrivere i dati su disco per conservarli.
Ogni set di dati in un RDD è suddiviso in partizioni logiche, che possono essere calcolate su diversi nodi del cluster. Gli utenti possono eseguire due tipi di operazioni sugli RDD: le trasformazioni e le azioni. Le trasformazioni sono operazioni applicate per creare un nuovo RDD, mentre le azioni vengono utilizzate per istruire Apache Spark ad applicare il calcolo e restituire il risultato al driver.
Una caratteristica operativa di Spark è il Grafo Aciclico Diretto (DAG). A differenza del processo di esecuzione a due parti di MapReduce di Hadoop, viene creato un grafo per orchestrare e pianificare i nodi worker all’interno del cluster. Questa caratteristica è interessante poiché eventuali guasti o errori possono essere risolti considerando le operazioni sui dati registrate in uno stato precedente. Alla base del trattamento dei dati in parallelo, abbiamo il modulo Spark Core, che gestisce la pianificazione e l’ottimizzazione. Fornisce le principali funzionalità per le librerie di Spark e il trattamento dei dati grafici di GraphX.
“Spark vs. Hadoop” è un termine frequentemente cercato sul web, ma, come notato sopra, Spark è più un miglioramento di Hadoop e, più specificamente, del componente di trattamento dei dati nativo di Hadoop, MapReduce. Infatti, Spark è basato sul framework MapReduce e oggi la maggior parte delle distribuzioni di Hadoop supporta Spark. Come MapReduce, Spark consente ai programmatori di scrivere applicazioni che elaborano enormi set di dati più velocemente, elaborando porzioni del set di dati in parallelo su grandi cluster di computer. Tuttavia, mentre MapReduce elabora i dati su disco, aggiungendo tempi di lettura e scrittura che rallentano l’elaborazione, Spark esegue calcoli in memoria. Di conseguenza, Spark può elaborare i dati fino a 100 volte più velocemente di MapReduce.
Possiamo affermare che, sebbene Open Data e Big Data siano concettualmente distinti, la loro integrazione può generare sinergie significative. L’unione di dati provenienti da dataset pubblici, accessibili a tutti, con informazioni eterogenee raccolte da fonti diverse, offre opportunità uniche per l’analisi e l’innovazione. Questa combinazione non solo arricchisce il panorama informativo, ma consente anche di sviluppare soluzioni più efficaci e mirate, in grado di rispondere a esigenze specifiche della società e del mercato. In un’epoca in cui la quantità di dati cresce esponenzialmente, la capacità di integrare e analizzare queste risorse diventa fondamentale per prendere decisioni informate e promuovere un progresso sostenibile.
Il 31 agosto 2025 il volo AAB53G, operato con un Dassault Falcon 900LX immatricolato OO-GPE e con a bordo la presidente della Commissione Europea Ursula von der Leyen, è decollato da Varsavia ed è a...
La recente conferma da parte di Zscaler riguardo a una violazione dati derivante da un attacco alla supply chain fornisce un caso studio sull’evoluzione delle minacce contro ecosistemi SaaS compless...
Proofpoint pubblica il report “Voice of the CISO 2025”: cresce il rischio legato all’AI e rimane il problema umano, mentre i CISO sono a rischio burnout. L’84% dei CISO italiani prevede un att...
La società QNAP Systems ha provveduto al rilascio di aggiornamenti di sicurezza al fine di eliminare varie vulnerabilità presenti nel firmware QVR dei sistemi VioStor Network Video Recorder (NVR). I...
Un episodio inquietante di guerra elettronica (Electronic War, EW) ha coinvolto direttamente la presidente della Commissione europea, Ursula von der Leyen. Durante l’avvicinamento all’aeroporto di...