• Non ci sono risultati.

Mapping Global as View (GAV)

5.2 Data Integration

5.2.1 Mapping Global as View (GAV)

L’approccio all’integrazione dati noto come query-centric o Global - As - View (GAV) richiede che lo schema globale sia espresso in termini delle sorgenti di dati. Pi`u precisamente, ad ogni concetto dello schema globale `e associata una vista delle sorgenti sottostanti, cos`ı la semantica del concetto `e specificata in termini dei dati che risiedono nelle sorgenti di partenza. La specifica del mapping tra le sorgenti e lo schema globale `e focalizzata sugli elementi dello schema globale ed associa ad ogni parte dello schema globale una vista sulle sorgenti esterne.

In questo contesto, la risposta ad una query Q posta dall’utente sullo schema globale `e ottenuta attraverso un processo detto di unfolding che ha l’obiettivo di esprimere Q solo in termini di relazioni delle sorgenti operative. In tal modo, Q pu`o essere scomposta in tante sotto-query (una per ciascuna sorgente coinvolta) per ricomporre successivamente i risultati in accordo con lo schema globale. In altre parole, il querying viene effettuato interpretando ogni concetto globale in termini della sua definizione nelle sorgenti esterne.

Nello specifico, un algoritmo di unfolding funziona in modo tale da sostitui- re atomi che si riferiscono alle relazioni globali che appaiono nel corpo di una query q con la corrispondente vista contenuta nel mapping. Questa implemen- tazione richiede una profonda conoscenza delle relazioni esistenti tra le sorgenti operazionali, infatti, una grossa parte del lavoro `e dato dalla riformulazione della query (che `e tipicamente effettuata in fase di design del sistema, quando si definiscono i mapping). Un mediatore in questo caso realizza un livello di integrazione tra l’utente finale e le sorgenti.

Per processare una query utente `e sufficiente tener conto del database globale che si pu`o ottenere valutando le viste nel mapping sul database sorgente (detto anche retrieved global database). Quindi, per ottenere dei risultati da una query dell’utente il sistema deve valutare la query sull’intero retrieved global database. Tale approccio consente di distribuire parzialmente la valutazione di Q di- rettamente sulle sorgenti operazionali. Questo approccio, riduce l’estensibilit`a dello schema riconciliato poich´e l’aggiunta di una nuova sorgente richieder`a la modifica di tutti i concetti dello schema globale che la utilizzano. Al contrario, un beneficio `e rappresentato dalla semplificazione nelle definizioni delle interro- gazioni poich´e per capire quali concetti degli schemi sorgente sono coinvolti sar`a sufficiente sostituire ad ogni concetto dello schema globale la definizione della vista che lo definisce rispetto ai concetti sugli schemi locali. Estensioni di que- sto modello prevedono la possibilit`a di estendere il framework GAV mediante la possibilit`a di definire vicoli di integrit`a sulle relazioni globali.

5.2. DATA INTEGRATION 93 Sistemi GAV basati su unfolding TSIMMIS (Stanford-IBM Manager of Multiple Information Sources) [102] `e un progetto congiunto che fa capo alla Stanford University ed al gruppo di ricerca Almaden IBM database research group. La sua architettura `e basata su una gerarchia di wrapper e mediato- ri: i wrapper estraggono e convertono i dati da una sorgente nel modello dati chiamato OEM (Object Exchange Model ), mentre i mediator combinano ed in- tegrano i dati esportati dai wrapper o da altri mediatori. Non `e data una chiara definizione di schema globale, che `e sostanzialmente costituito dall’insieme di oggetti esportati dai wrapper e dai mediatori. Per la definizione dei mediatori si utilizza un linguaggio logico chiamato MSL (Mediator Specification Language): si tratta di Datalog esteso per il supporto a oggetti OEM. OEM `e un model- lo dati semi-strutturato e auto-descrittivo in cui ogni oggetto ha associata una etichetta (o label ), un tipo per il valore dell’oggetto ed un valore (o un insieme di valori).

Le interrogazioni utente vengono poste in termini di oggetti sintetizzati dal mediatore o direttamente esportati da un wrapper. Una query si esprime in MSL o in uno specifico linguaggio di query chiamato LOREL (Lightweight Ob- ject Repository Language), una estensione object-oriented di SQL. Un oggetto Mediator Specification Interpreter (MSI) processa le query ed `e costituito da diversi componenti, tra cui: il View Expander, che produce una pianificazione logica per l’esecuzione della query, il Plan Generator che converte il planning logico in una pianificazione fisica espressa rispetto alle sorgenti, e l’Execution Engine che si occupa dell’esecuzione della query e produce le risposte.

Il progetto Garlic [103], sviluppato presso l’IBM Almaden Research Center, `e costituito da due moduli principali: un livello intermedio per il query processing ed un software per l’accesso ai dati, Query Services & RunTime System. Il middleware adotta un modello dei dati object-oriented basato sullo standard ODMG che consente di ottenere dati da svariate sorgenti in maniera uniforme. Lo schema globale `e costituito dall’unione degli schemi locali, senza i vincoli di integrit`a. Il Garlic Data Language (GDL), che `e basato sullo standard Object Definition Language (ODL), `e usato per esportare gli oggetti globali. Ogni wrapper descrive dati presso una certa sorgente nel formato OMDG e fornisce delle descrizioni circa la capacit`a delle sorgenti di rispondere alle query in termini del query plan.

Non `e esplicitamente definita una figura di mediatore i cui task sono imple- mentati dai wrapper. Il Query Services & RunTime System produce un piano di esecuzione in cui una query utente `e decomposta in un insieme di query inviate alle sorgenti, estendendo ciascun oggetto coinvolto con la relativa descri- zione data dallo specifico wrapper. Ciascun wrapper trasforma le sotto-query nel linguaggio nativo della sorgente inviando le risposte all’utente.

Il sistema Squirrel [104], sviluppato all’universit`a del Colorado, offre un framework GAV per l’integrazione di dati basato sulla nozione di mediatore. L’approccio iniziale di Squirrel all’integrazione dati non considera le viste vir- tuali ed adotta alcune tecniche che sfruttano la materializzazione dei dati. Una caratteristica interessante dei mediatori usati da Squirrel `e la loro abilit`a di mantenere in maniera incrementale delle viste integrate facendo leva sulle speci- fiche capacit`a delle sorgenti operative. Pi`u precisamente, all’avvio, il mediatore invia ai database sorgente una specifica delle informazioni aggiuntive necessa- rie per mantenere consistente le proprie viste ed attende dalle sorgenti questi aggiornamenti.

MOMIS [105, 106] `e un sistema sviluppato presso l’Universit`a di Milano congiuntamente con le Universit`a di Modena e Reggio Emilia. Una delle sue caratteristiche peculiari `e la tecnica semi-automatica per l’estrazione e la rap- presentazione di propriet`a valide in un singolo schema sorgente (relazioni intra- schema), tra schemi sorgente differenti (relazioni inter-schema), e per operazioni di schema clustering and integration. Tali relazioni possono essere intensionali o estensionali, entrambe definite da un designer o inferite in maniera automatica dal sistema. Il processo di integrazione `e basato su un modello indipendente dal- la sorgente ed object-oriented chiamato ODMI, ed usato per modellare sorgenti

dati (strutturate o semi-strutturate) in maniera uniforme. Ciascun mediatore `

e costituito da due moduli: il Global Schema Builder ed il Query Manager. Il primo costruisce lo schema globale, mentre il secondo `e responsabile del query processing e delle funzioni di ottimizzazione.

Gestione dei vincoli di integrit`a. Una delle funzionalit`a mancanti nei si- stemi appena descritti `e la gestione dei vincoli di integrit`a espressi sullo schema globale e la capacit`a di lavorare in presenza di sorgenti dati incomplete o in- consistenti. Risolvere il problema del query processing mediante tecniche di unfolding limita l’abilit`a di questi sistemi per ci`o che riguarda l’integrazione in scenari complessi, dove si registra la presenza di sorgenti dati incomplete e vincoli di integrit`a.

Il sistema IBIS (Internet-Based Information System) [107] `e un tool di in- tegrazione dati per l’integrazione semantica di dati eterogenei sviluppato dal- l’Universit`a “La Sapienza” di Roma in collaborazione con CM Sistemi. IBIS adotta delle soluzioni innovative per gestire tutti gli aspetti di un ambiente di integrazione dati (source wrapping, limitazione sull’accesso alle sorgenti, que- ry answering in presenza di vincoli di integrit`a). In IBIS lo schema globale `e rappresentato in linguaggio relazionale e pu`o essere combinato con una variet`a di sorgenti di dati (sul Web, relational databases, legacy sources). Opportuni wrappers offrono accesso relazionale a sorgenti non relazionali. Il sistema rappre- senta uno dei primi tentativi nella direzione di consentire la specifica di vincoli di integrit`a sullo schema sorgente. Sullo schema globale si possono specificare chiavi e chiavi esterne, sullo schema sorgente si possono specificare dipendenze funzionali e dipendenze di full-width inclusion.

Il query processing in IBIS `e suddiviso in tre passi: (i) query expansion che tiene conto dei vincoli di integrit`a nello schema globale; (ii) unfolding per otte- nere una query espressa sulle sorgenti; (iii) query execution per la valutazione dei retrieved source databases, e per produrre la risposta alla query originaria. Da notare che, mentre i processi di query unfolding ed execution sono gli step standard del query processing secondo l’approccio GAV, la fase di expansion fa uso di un apposito algoritmo.

Il sistema DIS@DIS System (Data Integration System ad Dipartimento di Informatica e Sistemistica) [108] `e un prototipo sviluppato presso l’Universit`a “La Sapienza” di Roma che implementa una variet`a di algoritmi per l’integra- zione dati in presenza di vincoli di integrit`a. Sia lo schema globale che lo schema sorgente sono rappresentati per mezzo del linguaggio relazionale e il mapping `e espresso dall’unione di query congiuntive. Per quanto riguarda il trattamento di vincoli di integrit`a il sistema `e capace di gestire dati incompleti e anche in- consistenti. A tal proposito il sistema implementa una semantica di tipo sound,

5.2. DATA INTEGRATION 95 in cui cio`e, i database globali costruiti in accordo al mapping sono interpreta- ti come sottoinsiemi di database che specificano lo schema globale. Il query processing secondo tale semantica fornisce risposte che sono conseguenza logica dello schema globale e dell’informazione disponibile presso le sorgenti. Il query processing sotto tale semantica consente la computazione di risposte consistenti per dati incompleti ed inconsistenti.