Documento di Università sull'identificazione dei formati di dati. Il Pdf esplora i formati di dati (strutturati, semistrutturati, non strutturati) e le relative soluzioni di archiviazione, inclusi file di testo delimitati, JSON e XML, per la materia Informatica.
Mostra di più46 pagine


Visualizza gratis il Pdf completo
Registrati per accedere all’intero documento e trasformarlo con l’AI.
I dati sono una raccolta di fatti, ad esempio numeri, descrizioni e osservazioni, usati per registrare le informazioni. Le strutture di dati in cui questi dati sono spesso organizzati rappresentano entità importanti per un'organizzazione, ad esempio clienti, prodotti, ordini di vendita e così via. Ogni entità ha in genere uno o più attributi o caratteristiche, ad esempio un cliente potrebbe avere un nome, un indirizzo, un numero di telefono e così via. È possibile classificare i dati come strutturati, semistrutturati o non strutturati.
I dati strutturati sono dati che rispettano uno schema fisso e quindi hanno tutti gli stessi campi o le stesse proprietà. In genere, lo schema per le entità di dati strutturate è tabulare. In altre parole, i dati vengono rappresentati in una o più tabelle costituite da righe che rappresentano ogni istanza di un'entità dati e colonne che rappresentano gli attributi dell'entità. Ad esempio, l'immagine seguente mostra rappresentazioni di dati tabulari per le entità Customer e Product. I dati strutturati vengono spesso archiviati in un database in cui più tabelle possono farvi riferimento usando i valori chiave in un modello relazionale. Questo aspetto verrà trattato in modo approfondito più avanti.
I dati semistrutturati sono informazioni con una struttura che consente una variazione tra istanze di entità. Ad esempio, mentre la maggior parte dei clienti può avere un indirizzo di posta elettronica, alcuni possono avere più indirizzi di posta elettronica e altri potrebbero non averne affatto. Un formato comune per i dati semistrutturati è quello JavaScript Object Notation (JSON). Nell'esempio seguente viene illustrata una coppia di documenti JSON che rappresentano le informazioni sul cliente. Ogni documento del cliente include informazioni su contatti e indirizzi, ma i campi specifici variano tra i clienti.
Non tutti i dati sono strutturati o semistrutturati. Documenti, immagini, dati audio e video e file binari, ad esempio, possono non avere una struttura specifica. Questo tipo di dati viene definito dati non strutturati.
Le organizzazioni in genere archiviano i dati in formato strutturato, semistrutturato o non strutturato per registrare i dettagli delle entità (ad esempio, clienti e prodotti), eventi specifici (ad esempio transazioni di vendita) o altre informazioni in documenti, immagini e altri formati. I dati archiviati possono quindi essere recuperati per l'analisi e la creazione di report in un secondo momento. Esistono due ampie categorie di archivio dati usati in genere:
Entrambi questi tipi di archivio dati verranno esaminati negli argomenti successivi.
La possibilità di archiviare i dati nei file è un elemento fondamentale di qualsiasi sistema informatico. I file possono essere archiviati in file system locali sul disco rigido del personal computer e su supporti rimovibili come le unità USB, ma nella maggior parte delle organizzazioni, i file di dati importanti vengono archiviati centralmente in un qualche tipo di sistema di archiviazione di file condiviso. Sempre più spesso la posizione di archiviazione centrale è ospitata nel cloud, consentendo uno spazio di archiviazione economico, sicuro e affidabile per grandi volumi di dati. Il formato di file specifico usato per archiviare i dati dipende da una serie di fattori, tra cui:
Di seguito sono illustrati alcuni formati di file comuni.
I dati vengono spesso archiviati in formato testo normale con delimitatori di campo specifici e terminatori di riga. Il formato più comune per i dati delimitati è costituito da valori delimitati da virgole (CSV), in cui i campi sono separati da virgole e le righe vengono terminate da un ritorno a capo/una nuova riga. Facoltativamente, la prima riga può includere i nomi dei campi. Altri formati comuni includono valori delimitati da tabulazioni (TSV) e da spazi, in cui si usano tabulazioni o spazi per separare i campi, e dati a larghezza fissa in cui a ogni campo viene assegnato un numero fisso di caratteri. Il testo delimitato rappresenta un'opzione valida per i dati strutturati a cui è necessario accedere da un'ampia gamma di applicazioni e servizi in un formato leggibile.
JSON è un formato universale in cui si usa uno schema di documento gerarchico per definire entità di dati (oggetti) che hanno più attributi. Ogni attributo può essere un oggetto (o una raccolta di oggetti), rendendo JSON un formato flessibile adatto sia per i dati strutturati che per i dati semistrutturati. L'esempio seguente mostra un documento JSON contenente una raccolta di clienti. Ogni cliente ha tre attributi, ovvero firstName, lastName e contact. L'attributo contact contiene una raccolta di oggetti che rappresentano uno o più metodi di contatto (e-mail o telefono). Si noti che gli oggetti sono racchiusi tra parentesi graffe ({ .. }) e le raccolte sono racchiuse tra parentesi quadre ([ .. ]). Gli attributi sono rappresentati da coppie nome:valore e separati da virgole (,).
XML è un formato di dati leggibile diffuso negli anni '90 e 2000. È stato in gran parte superato dal meno dettagliato formato JSON, ma esistono ancora alcuni sistemi che usano XML per rappresentare i dati. In XML vengono usati tag racchiusi tra parentesi angolari ( <.. />) per definire elementi e attributi.
In definitiva, tutti i file vengono archiviati come dati binari (1 e 0), ma nei formati leggibili descritti sopra, i byte di dati binari vengono mappati a caratteri stampabili (in genere attraverso uno schema di codifica dei caratteri come ASCII o Unicode). Alcuni formati di file,tuttavia, in particolare per i dati non strutturati, archiviano i dati come file binari non elaborati che devono essere interpretati dalle applicazioni e sottoposti a rendering. I tipi comuni di dati archiviati come binari includono immagini, video, audio e documenti specifici delle applicazioni. Quando si lavora con dati come questi, i professionisti dei dati spesso fanno riferimento ai file di dati come BLOB (Binary Large Objects).
Anche se i formati leggibili per i dati strutturati e semistrutturati possono essere utili, in genere non sono ottimizzati per lo spazio di archiviazione o l'elaborazione. Nel corso del tempo sono stati sviluppati alcuni formati di file specializzati che consentono la compressione, l'indicizzazione e l'archiviazione e l'elaborazione efficienti. Alcuni formati di file ottimizzati comuni includono Avro, ORC e Parquet:
Un database viene usato per definire un sistema centrale in cui è possibile archiviare i dati ed eseguirne le query. In parole semplice, il file system in cui vengono archiviati i file è un tipo di database, ma, quando si usa il termine in un contesto dei dati professionale, in genere si intende un sistema dedicato per la gestione dei record di dati invece che dei file.
I database relazionali vengono comunemente usati per archiviare i dati strutturati ed eseguire query su di essi. I dati vengono archiviati in tabelle che rappresentano entità, ad esempio clienti, prodotti o ordini di vendita. A ogni istanza di un'entità viene assegnata a una chiave primaria che la identifica in modo univoco. Queste chiavi vengono usate per fare riferimento all'istanza dell'entità in altre tabelle. È ad esempio possibile fare riferimento alla chiaveprimaria di un cliente in un record dell'ordine di vendita per indicare quale cliente ha inserito l'ordine. Questo uso delle chiavi per fare riferimento alle entità dei dati consente a un database relazionale di essere normalizzato, il che in parte significa eliminare i valori di dati duplicati in modo che, ad esempio, i dettagli di un singolo cliente vengano archiviati una sola volta e non per ogni ordine di vendita inserito dal cliente. Le tabelle vengono gestite e sottoposte a query usando Structured Query Language (SQL), basato su uno standard ANSI e quindi simile a più sistemi di database.
I database non relazionali sono sistemi di gestione dei dati che non applicano uno schema relazionale ai dati. I database non relazionali vengono spesso definiti database NoSQL, anche se alcuni supportano una variante del linguaggio SQL. Esistono quattro tipi comuni di database non relazionali comunemente usati.
Un sistema di elaborazione dati transazionale è spesso ciò che la maggior parte delle persone considera la funzione principale dell'informatica aziendale. Un sistema transazionale registra le transazioni che incapsulano eventi specifici di cui un'organizzazione desidera tenere traccia. Una transazione può essere finanziaria, ad esempio lo spostamento di denaro tra conti in un sistema bancario, oppure può far parte di un sistema di vendita al dettaglio, per tenere traccia dei pagamenti dei clienti per merci e servizi. È possibile paragonare una transazione a un'unità di lavoro piccola e discreta. I sistemi transazionali gestiscono spesso un volume elevato, a volte fino a molti milioni di transazioni in un solo giorno. Deve essere possibile accedere ai dati elaborati molto rapidamente. Il lavoro eseguito dai sistemi transazionali viene spesso definito OLTP (Online Transactional Processing). Le soluzioni OLTP si basano su un sistema di database in cui l'archiviazione dei dati è ottimizzata per operazioni di lettura e scrittura per supportare carichi di lavoro transazionali in cui vengono creati, recuperati, aggiornati ed eliminati (spesso denominati operazioni CRUD). Queste operazioni vengono applicate in modo transazionale per garantire l'integrità dei dati archiviati nel database. A questo scopo, i sistemi OLTP applicano transazioni che supportano la semantica nota come ACID: