Dati semistrutturati - Semi-structured data
I dati semistrutturati sono una forma di dati strutturati che non obbedisce alla struttura tabulare dei modelli di dati associati a database relazionali o altre forme di tabelle di dati , ma contiene comunque tag o altri marcatori per separare gli elementi semantici e imporre gerarchie di record e campi all'interno i dati. Pertanto, è anche noto come struttura auto-descrittiva .
Nei dati semi-strutturati, le entità appartenenti alla stessa classe possono avere attributi diversi anche se sono raggruppate insieme e l'ordine degli attributi non è importante.
I dati semi-strutturati si verificano sempre più dall'avvento di Internet, dove i documenti e i database full-text non sono più le uniche forme di dati e diverse applicazioni necessitano di un mezzo per lo scambio di informazioni . Nei database orientati agli oggetti , si trovano spesso dati semi-strutturati.
Tipi
XML
XML , altri linguaggi di markup, e-mail e EDI sono tutte forme di dati semi-strutturati. OEM (Object Exchange Model) è stato creato prima di XML come mezzo per auto-descrivere una struttura di dati. XML è stato reso popolare dai servizi Web sviluppati utilizzando i principi SOAP .
Alcuni tipi di dati qui descritti come "semi-strutturati", in particolare XML, soffrono dell'impressione di essere incapaci di rigore strutturale allo stesso livello funzionale delle Tabelle e Righe Relazionali. In effetti, la visione di XML come intrinsecamente semi-strutturato (in precedenza, era indicato come "non strutturato") ha ostacolato il suo utilizzo per una gamma sempre più ampia di applicazioni incentrate sui dati. Anche i documenti, normalmente pensati come l'epitome della semistruttura, possono essere progettati praticamente con lo stesso rigore dello schema del database , imposto dallo schema XML ed elaborati da programmi software sia commerciali che personalizzati senza ridurre la loro usabilità da parte dei lettori umani.
In considerazione di questo fatto, si potrebbe fare riferimento a XML come dotato di una "struttura flessibile" capace di un flusso e una gerarchia incentrati sull'uomo, nonché una struttura degli elementi e una tipizzazione dei dati altamente rigorosi.
Il concetto di XML come "leggibile dall'uomo", tuttavia, può essere preso solo fino ad ora. Alcune implementazioni / dialetti di XML, come la rappresentazione XML del contenuto di un documento di Microsoft Word, come implementato in Office 2007 e versioni successive, utilizzano dozzine o addirittura centinaia di diversi tipi di tag che riflettono un particolare dominio problematico, nel caso di Word , formattazione a livello di carattere e paragrafo e documento, definizioni di stili, inclusione di citazioni, ecc. - che sono annidati l'uno nell'altro in modi complessi. Comprendere anche solo una parte di un tale documento XML leggendolo, per non parlare del rilevamento di errori nella sua struttura, è impossibile senza una comprensione preliminare molto approfondita dell'implementazione XML specifica, insieme all'assistenza del software che comprende lo schema XML che è stato impiegato. Tale testo non è "comprensibile dall'uomo" più di quanto lo sarebbe un libro scritto in swahili (che usa l'alfabeto latino) per un americano o europeo occidentale che non conosce una parola di quella lingua: i tag sono simboli privi di significato per una persona che non conosce il dominio.
JSON
JSON o JavaScript Object Notation, è un formato standard aperto che utilizza testo leggibile dall'uomo per trasmettere oggetti dati costituiti da coppie attributo-valore. Viene utilizzato principalmente per trasmettere dati tra un server e un'applicazione web, in alternativa a XML. JSON è stato reso popolare dai servizi Web sviluppati utilizzando i principi REST .
Esiste una nuova generazione di database come MongoDB e Couchbase che archiviano i dati in modo nativo in formato JSON, sfruttando i vantaggi dell'architettura dati semi-strutturata.
Pro e contro
Vantaggi
- I programmatori che persistono gli oggetti dalla loro applicazione a un database non devono preoccuparsi della mancata corrispondenza dell'impedenza relazionale dell'oggetto , ma possono spesso serializzare gli oggetti tramite una libreria leggera.
- Il supporto per dati nidificati o gerarchici spesso semplifica i modelli di dati che rappresentano relazioni complesse tra entità.
- Il supporto per elenchi di oggetti semplifica i modelli di dati evitando traduzioni disordinate di elenchi in un modello di dati relazionale.
Svantaggi
- Il tradizionale modello di dati relazionali ha un linguaggio di query popolare e già pronto, SQL .
- Incline a "immondizia dentro, spazzatura fuori"; rimuovendo i vincoli dal modello di dati, è meno prevedibile che sia necessario per far funzionare un'applicazione di dati.
Guarda anche
Riferimenti
- ^ Peter Buneman (1997). "Dati semistrutturati" (PDF) . Simposio sui principi dei sistemi di database .
- ^ Il gruppo di database Penn ha un progetto di dati semi-strutturato e XML
- ^ Le università di Stanford Lore DBMS
link esterno
- UPenn Database Group : dati semistrutturati e XML
- Analisi dei dati semi-strutturati: piattaforma relazionale o Hadoop? di IBM