D2I
Integrazione, Warehousing e Mining di sorgenti eterogenee
Prototipo di strumento per la manipolazione di versioni di schema in ambito eterogeneo - SVMgr

Fabio Grandi

 
TemaTema 1: Integrazione di dati provenienti da sorgenti eterogenee
CodiceD1-P4
Data1 ottobre 2002
Tipo di prodottoProdotto software
Unità responsabileBO
Unità coinvolteBO
AutoriFabio Grandi
Autore da contattareFabio Grandi
Alma Mater Studiorum - Università di Bologna
fgrandi@deis.unibo.it
Presentazione prototipoD1-P4
Documentazione in linea  http://www-db.deis.unibo.it/~fgrandi/SVMgr.html
 


Descrizione

SVMgr (Schema Versioning Manager) è uno strumento per la gestione di versioni di schema in ambito eterogeneo o, più esattamente, per la gestione in un ambiente di integrazione (quale quello globalmente ipotizzato nel progetto D2I) di una sorgente dati che al suo interno consente l’utilizzo e la gestione di versioni multiple dello schema e dei dati (schema versioning basato su una soluzione multi-pool per la gestione dei dati estensionali). Tale sorgente dati, di tipo relazionale, è stata realizzata su un sistema MS Access implementando un modello, frutto della ricerca, denominato Logical Storage Model. Tale modello consente di realizzare una sorgente relazionale che supporta lo schema versioning utilizzando un DB server standard (realizzazione "on top"). Tale modello, unitamente alla definizione di una estensione di SQL che consente di effettuare interrogazioni multi-schema sfruttando così a pieno le potenzialità applicative dell’approccio multi-pool denominata MSQL, è stato presentato al convegno SEBD 2002 (F. Grandi, "A Relational Multi-Schema Data Model and Query Language for Full Support of Schema Versioning"). Nel contesto di integrazione, la soluzione adottata consente di vedere ciascuna versione di schema con il proprio data pool associato come se fosse una sorgente dati del tutto indipendente dalle altre, conformemente alla semantica della soluzione multi-pool, realizzando un vero e proprio "incapsulamento" dello schema versioning del tutto trasparente all’amministratore/utente del sistema di integrazione. Ciascuna di queste sorgenti può essere quindi individualmente e "in isolamento" trattata con i metodi "classici" sviluppati nell’ambito del progetto D2I, in particolare per la gestione delle relazioni interschema derivabili dall’analisi strutturale dello schema della sorgente (intensionali ed estensionali) e dall’analisi lessicale dei termini usati nella sua definizione, nonché di quelle fornite direttamente dall’utente. L’incapsulamento dello schema versioning, come analizzato in D1.R6, introduce tuttavia un ulteriore grado di complessità da gestire, dovuto alle operazioni di ridenominzaione (rename), che producono sinonimie tipicamente non catturabili usando i metodi tradizionali di analisi lessicale basata su Thesaurus comune. Il trattamento automatico di tali problemi rientra tuttavia fra i compiti specifici del prototipo realizzato.

Il prototipo SVMgr, tramite tre interfacce grafiche dedicate, supporta tre gruppi di funzionalità base:

  1. Gestione del contenuto dei data pool. Tale gruppo di funzioni consente di visualizzare il contenuto dei data pool asosociati alle versioni di schema eseguendo query di selezione sulle relazioni appartenenti dal data pool stesso, di modificarne il contenuto con l'inserimento, cancellazione e modifica di tuple nella relazione visualizzata, nonché di effettuare verifiche di integrità dei dati verificando l'unicità della chiave.
  2. Gestione delle versioni di schema Tale gruppo di funzionalità consente il pieno supporto dello schema versioning. Esso consente infatti di creare una nuova versione di schema, a partire da una versione preesistente selezionata da cui eredita inzialmente il contenuto del data pool associato, e di eseguire poi le operazioni di cambiamento di schema (aggiunta, eliminazione e ridenominazione di relazioni, aggiunta, eliminazione e ridenominazione di attributi delle relazioni, cambiamento della chiave primaria) richieste sulla nuova versione di schema. Parallelamente all'esecuzione dei cambiamenti di schema, il tool provvede alla generazione automatica e al mantenimento delle corrispondenti SVDR (Schema Versioning Derived Relationships), secondo la metodologia descritta nel rapporto D1.R6.
  3. Utilizzo di strumenti per il supporto all’integrazione Tale gruppo di utility comprende l'esportazione di wrapper (sotto forma di viste SQL) per l’accesso alle versioni di schema e corrispondenti data pool "incapsulati" come sorgenti dati indipendenti, nonché l'esportazione in formato XML dello schema e delle SVDR generate automaticamente dal sistema. Per il formato XML di tali informazioni si è fatto riferimento alla DTD sviluppata dall’unità di Modena, in modo da consentire un utilizzo del prototipo D1.P4 facilmente integrabile con quello del prototipo principale D1.P1. Funzionalità aggiuntive consentono l'eliminazione di SVDR esistenti o l'aggiunta di nuove SVDR fornite dall'utente.

Il prototipo D1.P4 è stato scritto in linguaggio Java (compatibile con le versioni a partire dalla 1.2), utilizzando JDBC/ODBC e SQL per l’accesso al database Access sottostante. Nella sua release corrente, il prototipo non supporta altri DBMS per la realizzazione della sorgente dati (a causa di lievi idiosincrasie rispetto allo standard del dialetto SQL supportato da Access), ma può essere molto semplicemente esteso a supportare altri DBMS (es. Oracle e DB2) in una successiva release con modifiche di lieve entità nella sintassi delle query inviate al database server sottostante.

 


Ambiente di sviluppo e di esecuzione

Sviluppato in Java 1.2 e MS Access.
Eseguibile in ambienti Windows 9x/NT con ODBC.

 

Back

 
 
 
Sito a cura di Domenico Lembo
lembo@dis.uniroma1.it