Data integration: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Atarubot (discussione | contributi)
template citazione; rinomina/fix nomi parametri; converto template cite xxx -> cita xxx; parametri non usati su it.wiki
Riga 1:
'''Data integration''' si riferisce ai processi da attuare su dati provenienti da diverse sorgenti per fornire all'utente una visione unificata di quei dati. <ref name="refone">
{{cite conferenceCita conferenza| authorautore=Maurizio Lenzerini | titlearticolo=Data Integration: A Theoretical Perspective | booktitletitolo=PODS 2002 | yearanno=2002 | pagespp=233–246 | url=http://www.dis.uniroma1.it/~lenzerin/homepagine/talks/TutorialPODS02.pdf}}</ref>
Questo processo si rivela importante in molteplici situazioni, nell'ambito sia commerciale (si pensi a due imprese che debbano unire i loro [[Base di dati|database]]) sia scientifico (per esempio, combinare risultati da diversi archivi [[Bioinformatica|bioinformatici]]).
La ''data integration'' compare con sempre maggior frequenza, allo stesso modo in cui sta esplodendo il volume e la necessità di condividere i dati esistenti.<ref name="DataExplode">{{citeCita news | authorautore=Frederick Lane | titletitolo=IDC: World Created 161 Billion Gigs of Data in 2006 | yearanno=2006 | url=http://www.toptechnews.com/story.xhtml?story_id=01300000E3D0&full_skip=1 IDC: World Created 161 Billion Gigs of Data in 2006}}</ref>
Questa materia è diventata il centro di un ampio lavoro tecnico, e numerosi problemi aperti restano irrisolti.
 
Riga 8:
Problemi nella combinazione di fonti di dati [[Eterogeneità|eterogenee]], spesso identificati come silos di informazioni, attraverso una singola interfaccia per ''[[query]]'' esistettero per diverso tempo.
 
Nei primi anni Ottanta, i tecnici informatici cominciarono a progettare sistemi per l'interoperabilità di basi di dati eterogenee.<ref>{{citeCita news | authorautore= John Miles Smith | titletitolo= Multibase: integrating heterogeneous distributed database systems | yearanno=1982 | journalrivista=AFIPS '81 Proceedings of the May 4–7, 1981, national computer conference | pagespp= 487–499 |url=http://dl.acm.org/citation.cfm?id=1500483|display-authors=etal}}</ref>
Il primo sistema di integrazione dei dati guidato da metadati strutturati è stato progettato presso l'[[Università del Minnesota]] nel 1991 per Integrated Public Use Microdata Series (IPUMS). IPUMS impiegava un approccio in stile [[data warehouse]] che estrae, trasforma e carica i dati provenienti da sorgenti eterogenee in una unica vista, affinché i dati diventino compatibili..<ref>{{citeCita news | authorautore= [[Steven Ruggles]], J. David Hacker, and Matthew Sobek | titletitolo= Order out of Chaos: The Integrated Public Use Microdata Series | yearanno=1995 | journalrivista=Historical Methods |volume=28 | pagespp= 33–39}}</ref>
Rendendo interoperabili centinaia di basi di dati relative alla popolazione, IPUMS ha dimostrato la praticabilità di integrazione di dati su larga scala. L'approccio data warehouse offre un'architettura fortemente accoppiata, perché i dati sono già fisicamente riconciliati in un unico archivio interrogabile, in modo che di solito richieda poco tempo risolvere le ''query''.<ref>{{citeCita news | authorautore= Jennifer Widom | titletitolo= Research problems in data warehousing | yearanno=1995 | journalrivista=CIKM '95 Proceedings of the fourth international conference on information and knowledge management | pagespp= 25–30 | url=http://dl.acm.org/citation.cfm?id=221319}}</ref>
 
L'approccio data warehouse è meno realizzabile per insiemi di dati aggiornati frequentemente: ciò richiede la continua esecuzione del processo [[ETL|ETL (Ectract, Transform, Load)]] per la sincronizzazione. Difficoltà nascono anche nella costruzione di data warehouse quando si ha un'interfaccia di interrogazione solo su dati sintetizzati e non si ha accesso alla loro totalità.
Riga 20:
A partire dal 2010 una parte del lavoro di ricerca sull'integrazione dei dati si occupa del problema dell'integrazione semantica. Questo problema non riguarda il modo di strutturare l'architettura di integrazione, bensì il modo di risolvere i conflitti di semantica tra sorgenti di dati eterogenee. Per esempio: se due società fondono i loro database, alcuni concetti e definizioni nei rispettivi schemi, tipo "guadagni", hanno inevitabilmente significati diversi. In un database potrebbe significare profitti in euro (espressi in numero decimale), mentre nell'altro potrebbe rappresentare il numero di vendite (espresse in numero intero). Una strategia comune per la risoluzione di tali problemi implica l'uso di [[Ontologia (informatica)|ontologie]] che definiscano esplicitamente i termini dello schema e quindi aiutino a risolvere i conflitti semantici.
Questo approccio rappresenta l'integrazione dei dati basata su ontologie.
D'altra parte, il problema di combinare i risultati di ricerca da archivi bioinformatici differenti richiede benchmarking delle somiglianze calcolato a partire da diverse fonti di dati su un unico criterio, per esempio il valore predittivo positivo. Ciò abilita le diverse fonti a un confronto diretto, e possono essere integrate anche quando la natura degli esperimenti è distinta.<ref>{{citeCita journalpubblicazione| url=http://shubhrasankar.tripod.com/cgi-bin/combiningMultisourceIEEE.pdf | journalrivista=IEEE Transactions on Biomedical Engineering | titletitolo=Combining Multi-Source Information through Functional Annotation based Weighting: Gene Function Prediction in Yeast| authorautore=Shubhra S. Ray| volume = 56 | pagespp=229–236 | pmid=19272921 | yearanno=2009| issuenumero=2 | doi=10.1109/TBME.2008.2005955|display-authors=etal}}</ref>
 
A partire dal 2011 ci si è resi conti che i metodi di modellazione dei dati attuali stavano imprimendo l'isolamento dei dati in ogni architettura sotto forma di isole di dati disparati e silos di informazioni. Questo isolamento dei dati è un artefatto involontario della metodologia di modellazione dati che provoca lo sviluppo di modelli di dati dissimili. Modelli di dati dissimili, quando stoccati in basi di dati, formano basi di dati dissimili. Modelli avanzati di dati sono stati sviluppati per eliminare l'artefatto e per promuovere lo sviluppo di modelli di dati integrati.<ref>{{citeCita news | authorautore= Michael Mireku Kwakye | titletitolo= A Practical Approach To Merging Multidimensional Data Models | yearanno=2011 | url=http://hdl.handle.net/10393/20457 }}</ref><ref>{{citeCita web | url=http://www.iri.com/pdf/RapidAce-Brochure.pdf | titletitolo=Rapid Architectural Consolidation Engine&nbsp;– The enterprise solution for disparate data models. | yearanno=2011 }}</ref>
Un metodo di modellazione dei dati avanzato rimaneggia i modelli di dati aumentandoli con metadati strutturali, sotto forma di entità di dati standardizzate. Come risultato della riscrittura di modelli multipli di dati, l'insieme dei modelli di dati rimaneggiati condivide uno o più relazioni di omogeneità che riguardano i metadati strutturali ora comuni a questi modelli di dati. Le relazioni di omogeneità sono un tipo di relazione peer-to-peer tra entità, che legano le entità di dati dei modelli multipli standardizzati. I modelli di dati multipli che contengono la stessa entità di dati standard possono partecipare alla stessa relazione di omogeneità. Quando i modelli di dati integrati sono istanziati come banche dati e sono adeguatamente popolati da una serie comune di dati principali, questi database vengono integrati.
 
Dal 2011, gli approcci di maggiore interesse per la disciplina si sono rivolti maggiormente al [[Data_hub |data hub]] rispetto ai data warehouse completamente strutturati (tipicamente relazionali).
Dal 2013 gli approcci di tipo data lake sono arrivati al livello dei data hub.(Si vedano le popolarità dei tre termini di ricerca su Google Trends.<ref>{{citeCita web |titletitolo=Hub Lake and Warehouse search trends|url=https://www.google.com/trends/explore#q=enterprise%20data%20warehouse%2C%20%22data%20hub%22%2C%20%22data%20lake%22&cmpt=q&tz=Etc%2FGMT%2B5}}</ref>
Questi approcci combinano dati non strutturati o diversi in un'unica posizione, ma non richiedono necessariamente uno schema relazionale principale, spesso complesso, per strutturare e definire tutti i dati contenuti.
 
Riga 46:
==Teoria dell'integrazione dei dati==
La teoria dell'integrazione dei dati costituisce un sottoinsieme della teoria delle basi di dati e formalizza i concetti di fondo del problema attraverso la [[logica del primo ordine]].
Applicando le teorie dà indicazione circa la fattibilità e la difficoltà di integrazione. Nonostante le sue teorie possano apparire astratte, esse godono di sufficiente generalità per adattarsi a tutti i sistemi di integrazione,<ref>{{citeCita web|url=http://link.springer.com/chapter/10.1007/3-540-46093-4_14 |titletitolo=A Model Theory for Generic Schema Management}}</ref> compresi quelli che includono relazionale nidificato o [[Database XML|basi di dati XML]]<ref>{{citeCita web|url=http://www.vldb.org/conf/2006/p67-fuxman.pdf |titletitolo=Nested Mappings: Schema Mapping Reloaded }}</ref> e quelli che trattano i database come programmi<ref>{{citeCita web|url=http://homepages.inf.ed.ac.uk/dts/pub/psi.pdf |titletitolo=The Common Framework Initiative for algebraic specification and development of software}}</ref>.
Le connessioni a particolari [[DBMS]] quali [[Oracle]] o [[DB2]] sono fornite dalle tecnologie a livello di implementazione, come [[JDBC]], e non sono studiate a livello teorico.
 
Riga 63:
 
===Elaborazione di ''query''===
La teoria dell'elaborazione di ''query'' in un sistema di ''data integration'' systems è comunemente espressa utilizzando interrogazioni congiuntive [[Linguaggio di interrogazione|interrogazioni]] e [[Datalog]], un linguaggio di [[programmazione logica]] puramente dichiarativo.<ref name="reffive">{{cite conferenceCita conferenza| authorautore=[[Jeffrey D. Ullman]] | titlearticolo=Information Integration Using Logical Views | booktitletitolo=ICDT 1997 | yearanno=1997 | pagespp=19–40 | url=http://www-db.stanford.edu/pub/papers/integration-using-views.ps}}</ref> Si può liberamente pensare ad una query come una funzione logica applicata alle relazioni del database come "<math>f(A,B)</math> dove <math>A < B</math>". Se una tupla o insieme di tuple è sostituito nella regole e la soddisfa (cioè la rende vera), allora consideriamo quella tupla parte dell'insieme di risposte alla ''query''. Mentre il linguaggi formali in stile [[Datalog]] esprimono queste ''query'' sinteticamente e senza ambiguità, anche le ''query'' [[SQL]] comuni contano come ''query'' congiuntive.
 
In termini di integrazione dei dati, il "contenimento delle ''query''" rappresenta un'importante proprietà delle ''query'' congiuntive. Una ''query'' <math>A</math> contiene un'altra ''query'' <math>B</math> (in simboli <math>A \supset B</math>) se i risultati di <math>B</math> sono un sottoinsieme dei risultati di <math>A</math> per ogni database. Le due ''query'' sono dette equivalenti se gli insiemi risultanti sono uguali per ogni database. Questo è importante perché in entrambi i sistemi GAV e LAV, un utente pone ''query'' congiuntive su uno schema virtuale rappresentato da un insieme di [[Vista (basi di dati)|viste]], o ''query'' congiuntive [[Vista materializzata |materializzate]]. L'integrazione si propone di riscrivere le ''query'' rappresentate dalle viste al fine di rendere i loro risultati equivalenti o al massimo contenuti nella richiesta del nostro utente. Ciò corrisponde al problema di rispondere a interrogazioni usando le viste.<ref name="refsix">{{cite conferenceCita conferenza| authorautore=[[Alon Y. Halevy]] | titlearticolo=Answering queries using views: A survey | booktitletitolo=The VLDB Journal | yearanno=2001 | pagespp=270–294 | url=http://www.cs.uwaterloo.ca/~david/cs740/answering-queries-using-views.pdf}}</ref>
 
Nei sistemi GAV, un progettista scrive il codice del mediatore per definire la riscrittura delle ''query''. Ogni elemento nella ''query'' dell'utente corrisponde a una regola di sostituzione proprio come ogni elemento nello schema globale corrisponde a una ''query'' sulla sorgente. L'elaborazione delle ''query'' espande semplicemente i sotto-obiettivi della ''query'' dell'utente secondo le regole specificate nel mediatore, perciò la ''query'' risultante è probabile che sia equivalente. Mentre il progettista fa la maggior parte del lavoro in anticipo, alcuni sistemi GAV come [http://www-db.stanford.edu/tsimmis/ Tsimmis] comportano la semplificazione del processo di descrizione del mediatore.