Note Encyclopediche di Infrastrutture Dati, Big Data e Cybersecurity
Le Infrastrutture Dati e la Gestione della Memoria
Le infrastrutture dati riguardano le modalità con cui le informazioni vengono memorizzate e gestite all'interno dei sistemi informatici. Un principio cardine della gestione della memoria è l'efficienza: non bisogna riempirla inutilmente ed è imperativo utilizzare lo spazio in modo ottimale. Per rispondere a queste esigenze, vengono sviluppati sistemi e strumenti specifici per organizzare, conservare e recuperare i dati con estrema facilità.
Per il salvataggio delle informazioni si utilizzano i file. Per definizione, un file è un insieme di informazioni identificato da un nome e da un’estensione (ad esempio .txt, .pdf, .doc). L’estensione è un elemento fondamentale poiché indica al computer il tipo di contenuto e il programma necessario per l’apertura, fornendo nel contempo all’utente un’indicazione chiara sulla natura del file stesso.
Classificazione e Tipologie di Estensioni dei File
Tra le estensioni più diffuse per i documenti testuali si trovano .txt (testo semplice), .docx (documento Word) e .pdf (Portable Document Format), quest'ultimo progettato per essere leggibile su molteplici dispositivi. I file eseguibili, utilizzati per avviare programmi, presentano l'estensione .exe.
I file contenenti codice sorgente ospitano istruzioni scritte da programmatori in specifici linguaggi. Questo codice non è direttamente eseguibile dal computer e richiede una trasformazione, come la compilazione, per diventare un programma eseguibile. Esempi di estensioni per codici sorgente includono: .bas per il linguaggio Basic, .vb per Visual Basic, .c per il linguaggio C, .java per Java e .py per Python.
Per quanto riguarda le immagini, si distinguono i file raster, ottenuti da una matrice di punti chiamati pixel, che tendono a "sgranare" se ingranditi eccessivamente. Le estensioni raster comuni sono .bmp (bitmap), .jpg (JPEG, standard internazionale del Joint Photographic Experts Group per la compressione di immagini digitali) e .png (Portable Network Graphics). Al contrario, le immagini vettoriali sono utilizzate per scopi professionali e possono essere ingrandite a piacimento senza perdita di qualità. Tra le estensioni vettoriali figurano .dwg (AutoCAD), .cdr (CorelDRAW) e .drv (Micrografx Designer).
I file audio possono essere non compressi, come i .wav, o compressi, come gli .mp3 (che utilizzano una modalità "lossy", ovvero con perdita di qualità a favore della riduzione dello spazio) e i .wma (Windows Media Audio). Per i video si utilizzano formati come .avi (Audio Video Interleave di Microsoft), .divx e .mp4 (MPEG-4). Quest'ultimo è largamente diffuso per lo streaming, modalità che permette la fruizione del contenuto via via che viene ricevuto senza necessità di scaricamento preventivo su disco fisso. Infine, per il web si utilizzano i file .htm o .html (HyperText Markup Language) e .xml (eXtensible Markup Language).
Il Funzionamento del File System
Il file system è l’organizzatore invisibile che permette al computer di organizzare, salvare e ritrovare i file in dispositivi di memoria di massa (o dischi) come hard disk, chiavette USB o schede SD. Poiché il computer non salva i file in modo ordinato a livello fisico, i dati risultano spesso sparsi nel disco. Prima dell'utilizzo, un disco subisce la formattazione, operazione che lo prepara per il sistema operativo, stabilisce il tipo di file system e lo suddivide in cluster. Un cluster rappresenta la più piccola porzione di spazio fisico in cui possono essere salvati i dati.
Quando si salva un file, se questo è di grandi dimensioni viene spezzettato e distribuito in vari cluster. Il file system agisce come una mappa che ricorda l'esatta posizione di questi frammenti. Quando l'utente richiede l'apertura di un file, il sistema operativo consulta la mappa del file system, recupera i pezzi dai cluster e ricostruisce il file per mostrarlo. Le cartelle (o directory) permettono di raggruppare i file in strutture ordinate. Ogni file possiede un percorso o indirizzo assoluto che parte dalla radice del disco (es. C:\Documenti\Università\ICT\appunti.pdf).
Esistono diversi tipi di file system sviluppati nel tempo. FAT32 è un sistema datato che non supporta file più grandi di né dischi di dimensioni eccessive, ed è oggi relegato principalmente alle chiavette USB. NTFS è il file system moderno di Windows, capace di gestire file fino a , garantendo maggiore sicurezza tramite permessi di accesso e una gestione dei dati superiore.
Database e Modelli di Gestione dei Dati
Un database (o base di dati) è un insieme organizzato di informazioni memorizzate su supporti magnetici, accessibili tramite elaboratori elettronici. È fondamentale distinguere tra Database (i dati stessi) e DBMS (Data Base Management System), ovvero il software utilizzato per creare e gestire i dati (es. Access, MySQL). L'organizzazione interna prevede il campo (singola informazione, es. nome), il record (insieme di campi relativi a un elemento, es. nome, cognome ed età), la tabella (insieme di record) e infine il database (insieme di tabelle).
Ogni record deve possedere una chiave primaria, ovvero un campo unico e non vuoto che identifica l'elemento in modo univoco, come il codice fiscale o la matricola. Nel tempo si sono succeduti diversi modelli di database. Il modello gerarchico organizza i dati ad albero (), dove ogni elemento ha un solo superiore. Il modello a rete (reticolare) supera tale limite permettendo relazioni multiple (più "padri"), sebbene sia di gestione complessa. Il modello relazionale, introdotto nel 1970 da Edgar Codd, è il più diffuso: organizza i dati in tabelle correlate. Secondo Codd, due dati diventano informazione solo in presenza di una relazione.
Esistono inoltre modelli avanzati come quello a oggetti, dove le informazioni (oggetti) includono sia i dati sia i metodi (istruzioni per l'uso), permettendo l'indipendenza dal software specifico e favorendo la multimedialità. Infine, i database schemaless (NoSQL) non possiedono uno schema fisso e sono ideali per gestire dati eterogenei e "Big Data" non strutturati provenienti dal web e dai social network.
Fasi di Progettazione di un Database
Progettare un database è un processo complesso volto a garantire l'integrità dei dati (correttezza e assenza di duplicati) e l'efficienza nel recupero. Il processo si articola in: 1. Analisi dei requisiti; 2. Progettazione concettuale; 3. Progettazione logica; 4. Progettazione fisica; 5. Realizzazione.
L'analisi dei requisiti coinvolge il progettista (data analyst) e gli utenti finali per definire scopi, destinatari e funzionalità, culminando nel documento dei requisiti funzionali. La progettazione concettuale traduce il mondo reale in digitale tramite il modello ERD (Entity-Relationship-Diagram) di Chen (1976). Gli elementi base sono le entità (oggetti reali), gli attributi (caratteristiche) e le relazioni. La cardinalità definisce il numero di istanze associate tra entità: (es. auto-targa), (auto-produttore), (auto-concessionario) o situazioni opzionali ( o ).
La progettazione logica raffina il modello definendo domini e formati e applicando la normalizzazione per eliminare ridondanze. La 1° forma normale impone che ogni campo contenga un solo valore. La 2° forma normale elimina attributi che non dipendono completamente dalla chiave primaria. La 3° forma normale elimina le dipendenze tra attributi non-chiave. Infine, la progettazione fisica e la realizzazione consistono nella traduzione tecnica del modello in un DBMS specifico (es. Oracle, Microsoft Access).
Big Data e Capacità Computazionale
L'intelligenza artificiale (IA) è oggi un tema centrale alimentato da letteratura, cinema e media. La sua crescita è sostenuta dall'enorme mole di dati disponibili. Cisco Systems stima che nel 2022 circolino al mese, pari a circa . Tale volume è volte superiore a quello del 2007 e corrisponde a di DVD.
Lo sviluppo degli algoritmi e dell'IA è permesso anche dalla riduzione dei costi di calcolo di CPU e GPU. Mentre la CPU è versatile per funzioni generali, la GPU (Graphics Processing Unit), nata per il rendering 3D, è oggi fondamentale per l'IA. Una GPU moderna può raggiungere ( di operazioni al secondo) con una velocità di trasferimento di e un costo di circa . Questa potenza permette analisi predittive ed etiche, migliorando ambiti come la medicina, pur richiedendo una riflessione attenta sulla privacy.
I Big Data sono definiti da Gartner tramite Volume, Velocità e Varietà. Il modello è evoluto fino a 8 V: Volume, Velocità, Varietà, Veracità (spontaneità digitale), Valore, Visualizzazione, Viscosità (resistenza alla trasformazione) e Viralità. A differenza della business intelligence tradizionale, l'approccio Big Data non scarta dati a priori, cercando valore nell'analisi di set completi. Il mercato globale dei Big Data vale , mentre in Italia il valore è di .
Algoritmi e Sistemi di Apprendimento
L'algoritmo è una sequenza finita di regole per risolvere un calcolo. Nell'IA, il machine learning permette alla macchina di imparare dai dati contenuti in una ABT (Analytical Base Table). Le analisi si dividono in: Descrittiva (passato), Diagnostica (cause), Predittiva (futuro) e Prescrittiva (soluzioni strategiche). Esistono diverse famiglie di algoritmi, come i regressori (lineari o multipli) per stimare valori e i classificatori per categorizzare fenomeni.
Gli algoritmi Fuzzy gestiscono l'incertezza quando la realtà non risponde alla logica binaria, mentre le Support Vector Machine sono classificatori binari che migliorano nel tempo. L'addestramento della macchina segue un ciclo: scelta dei predittori, calcolo dell'errore (su circa training e verifica) e riaddestramento periodico.
Cybersecurity e Minacce Informatiche
La cybersecurity parte dal presupposto che nessun sistema è sicuro al . La protezione dei dati mira a salvaguardare l'identità digitale. Il web si divide in Surface Web, Deep Web (contenuti non indicizzati) e Dark Web (parti nascoste per attività spesso illegali). Gli attori della sicurezza includono gli Hacker (White Hat, etici), i Cracker (Black Hat, criminali), gli Hacktivisti (es. Anonymous, famosi per la maschera di Guy Fawkes e azioni come #OpSafePharma), le Cyberspie e i Cyberterroristi.
Le modalità di attacco sono varie: Zero day attack (sfrutta vulnerabilità ignote), Phishing (furto credenziali via email), Social Engineering (manipolazione psicologica), Defacing (modifica siti web), e attacchi DDoS (Distributed Denial of Service) per saturare i server. Le tecniche includono l'Injection di codice malevolo, lo XSS (Cross-site scripting) nei form web e il Ransomware (Cryptolocking), che cripta i dati richiedendo riscatti in Bitcoin.
Il malware (malicious software) comprende Virus (che richiedono un programma ospite), Worms (autonomi e rapidi nella rete come WannaCry), Trojans (nascosti in software utili) e Backdoor (accessi segreti). La protezione è regolata a livello europeo dalla Direttiva NIS (che istituisce i CSIRT) e da standard come l'ISO 27001 e il NIST Cybersecurity Framework (Identify, Protect, Detect, Respond, Recover).
Informatica Forense e Prove Digitali
La digital forensics si occupa dell'analisi delle prove digitali affinché siano integre, autentiche e utilizzabili in tribunale. Poiché i dati digitali sono fragili, si utilizzano protocolli rigorosi come il calcolo dell'hash (impronta digitale). Nella disk forensics non si lavora mai sull'originale, ma su copie conformi create in modalità sola lettura.
La mobile forensics analizza gli smartphone, che contengono dati di geolocalizzazione, messaggistica e file multimediali. È fondamentale isolare il dispositivo dalla rete per impedirne la cancellazione remota. La web forensics analizza invece log di sistema e indirizzi IP per ricostruire i reati commessi su Internet.
Accessibilità e Tecnologie Assistive
L'accessibilità informatica, normata in Italia dalla Legge Stanca (4/2004) e dal D.lgs 82/2022, garantisce la fruizione di servizi digitali anche a persone con disabilità. Le linee guida internazionali WCAG 2.1 definiscono tre livelli di conformità: A (base), AA (legale/standard) e AAA (massimo). Le Pubbliche Amministrazioni hanno l'obbligo di pubblicare una Dichiarazione di Accessibilità entro il 23 settembre di ogni anno.
Le tecnologie assistive includono hardware come tastiere espanse, emulatori di mouse (es. Tracker PRO, Integramouse + per l'uso con la bocca) e sistemi di puntamento oculare (es. Eyegaze Edge). I software per la comunicazione (come The Grid II) supportano la scrittura tramite predizione del testo e simboli (PCS, WLS, Bliss). Per la dislessia si utilizzano strumenti come Studio Wiz e SuperMappe. Soluzioni evolute comprendono le interfacce neurali (BCI - Brain-Computer Interface), gli esoscheletri robotici e gli impianti cocleari per l'ipoacusia.