Quinta
Conferenza
Nazionale
di Statistica
WORKSHOP
5S
@
Sistemi distribuiti e
architettura dei dati
coordinatore
Giorgio Ausiello
docente dell’Università di Roma “La Sapienza”
Roma 15, 16, 17 novembre 2000
Palazzo dei Congressi
Piazzale Kennedy - EUR
WORKSHOP
Sistemi distribuiti e
architettura dei dati
coordinatore
Giorgio Ausiello
docente dell’Università di Roma “La Sapienza”
WORKSHOP
Sistemi distribuiti e architettura dei dati
Architettura e integrazione dei dati
in sistemi distribuiti
M. Lenzerini
Architettura e integrazione dei dati in
sistemi distribuiti
Maurizio Lenzerini
Dipartimento di Informatica e Sistemistica
Università di Roma ``La Sapienza''
[email protected]
1. Introduzione
L'integrazione dei dati è uno degli aspetti più significativi ed importanti
nella progettazione e nella realizzazione di sistemi informativi distribuiti.
Negli ultimi anni, le problematiche relative all'integrazione sono studiate in
diversi ambiti:
1) basi di dati e data warehouse, in cui sia l'integrazione degli schemi, sia
l'integrazione dei dati ricoprono un ruolo centrale;
2) sistemi informativi cooperativi, in cui l'integrazione costituisce uno dei
problemi da risolvere per consentire la cooperazione, ad esempio tramite la
condivisione di informazione;
3) sistemi informativi globali, in cui sorgenti di informazioni eterogenee
vengono messe in linea (l'esempio più significativo in questo senso è il Web)
e se ne richiede un accesso integrato.
Lo scopo di questo documento è di sottolineare sia i risultati raggiunti dalla
ricerca sull'integrazione negli ultimi anni, sia i problemi fondamentali che
sono ancora in fase di studio e approfondimento.
Per integrazione dei dati intendiamo il problema di fornire un'interfaccia
uniforme a diverse sorgenti di dati, allo scopo di consentire ad un cliente del
sistema di focalizzare l'attenzione su qual è la sua esigenza informativa,
piuttosto che su come agire per soddisfarla. Di conseguenza, il sistema di
integrazione solleva il cliente dalla necessità di scoprire quali sono le
sorgenti rilevanti per le sue esigenze, di interagire con ognuna di esse
separatamente, e di raccogliere, selezionare, e fondere i dati che provengono
dalle sorgenti stesse.
La ricerca sull'integrazione dei dati è stata molto attiva negli ultimi anni
[Hull97,Levy99]. Si è ormai raggiunto un consenso generalizzato sulla
architettura di base di un sistema di integrazione, e sui parametri fondamentali
che ne caratterizzano le proprietà. In tale architettura, due tipi di moduli
giocano un ruolo fondamentale: wrappers e mediatori. Lo scopo di un wrapper è di
incapsulare una sorgente di dati, di accedervi secondo meccanismi predefiniti, e
di presentare i dati della sorgente secondo uno specificato formato. Il ruolo di
un mediatore è invece di collezionare, ripulire, e combinare i dati che
provengono dai wrapper o da altri mediatori, al fine di soddisfare una ben
specificata esigenza informativa.
L'integrazione dei dati può essere virtuale o materializzata. Nel primo caso il
sistema agisce come interfaccia tra il cliente e le sorgenti, mentre nel secondo
caso il sistema mantiene una vista replicata dei dati delle sorgenti.
L'approccio virtuale è tipico dei sistemi informativi globali, mentre quello
materializzato è adottato nei data warehouse. Nei sistemi che seguono
l'approccio materializzato la gestione e l'aggiornamento delle viste è una
problematica cruciale, che richiede tecniche specializzate. Recentemente, sono
stati proposti sistemi prototipali che conciliano entrambi gli approcci
[JLVV99,CDLNR98d].
Il seguito di questo documento è dedicato ad una sintetica analisi dei problemi
cruciali che sono ancora allo studio nei progetti di ricerca concernenti
l'integrazione dei dati.
2. Progetto e realizzazione di schemi e mediatori
Riferendoci all'architettura descritta in precedenza, la specifica e la
realizzazione di mediatori è uno degli aspetti cruciali della progettazione di
un sistema di integrazione, ed è affrontata con due filosofie alternative:
fondata sulle sorgenti, e fondata sulle query. Nel primo caso, sia le query che
le sorgenti vengono descritte come delle viste su uno schema di riferimento
(detto schema globale, o schema mediato), e per ogni query, il corrispondente
mediatore ha il compito di pianificare il processo di risposta alle query
accedendo alle sorgenti. Nel secondo caso, sono i concetti dello schema mediato
ad essere definiti come viste sulle sorgenti, e il mediatore associato ad una
query espande la query stessa usando tali definizioni, così da ottenere il piano
di accesso alle sorgenti. Molti sistemi prototipali attuali seguono la filosofia
fondata sulle query, ma un confronto tra i due approcci rivela che la filosofia
fondata sulle sorgenti offre numerosi vantaggi in termini di modularità del
sistema e di riusabilità dei suoi componenti [Ullm97].
3. Pianificazione degli accessi alle sorgenti
Dalle osservazioni precedenti, risulta chiaro che l'aspetto fondamentale nel
progetto di mediatori è la caratterizzazione del piano di accesso alle sorgenti
che consente di ottenere la risposta ad una query. Questo problema è noto in
letteratura come rispondere alle query usando le viste, ed è attualmente oggetto
di indagine in numerosi progetti di ricerca [Levy99].
Lo studio si è
concentrato su specifiche classi di query, come le query congiuntive (con o
senza operatori di confronto), le query disgiuntive, le query con operatori di
aggregazione (group-by), le query ricorsive, le query espresse in logica, e le
query con espressioni regolari. Sono stati sviluppati diversi algoritmi e sono
state fornite diverse caratterizzazioni della complessità computazionale del
problema.
Dato il crescente interesse per sorgenti semi strutturate (ad
esempio, sorgenti espresse in XML), di particolare rilevanza è il caso di query
con espressioni regolari. La maggiore difficoltà in questo ambito risiede nel
fatto che con le espressioni regolari si può esprimere una forma limitata di
ricorsione, e ciò pone interessanti quesiti sulla complessità computazionale e,
addirittura, sulla decidibilità del calcolo della risposta alle query.
4. Sorgenti ad accesso limitato
In molte applicazioni che richiedono l'integrazione di dati, le sorgenti
informative a disposizione pongono dei limiti sul tipo di query che possono
trattare [Levy99]. Ad esempio, una sorgente accessibile solo con una interfaccia
basata su form (comunemente usate nel Web) può rispondere solo a query in cui il
valore di uno o più parametri deve essere esplicitamente fornito in ingresso.
Questa caratteristica complica notevolmente il problema della risposta alle
query usando le viste. Infatti, la pianificazione degli accessi alle sorgenti
deve ora tenere conto dei vincoli di accesso, la cui presenza accentua il
problema della esistenza di piani alternativi.
Il sistema deve quindi
assicurare un adeguato livello di qualità del piano scelto rispetto a quelli
scartati.
5. Conversione e riconciliazione dei dati
L'integrazione di dati provenienti da sorgenti eterogenee richiede anche
tecniche per la conversione e la riconciliazione dei dati. La complessità delle
conversioni e delle riconciliazioni è dovuta a diversi problemi legati alla
eterogeneità delle sorgenti, quali: differenze nella rappresentazione di uno
stesso oggetto, possibili errori nella codifica di proprietà di oggetti,
possibili discrepanze nelle proprietà attribuite agli oggetti nelle varie
sorgenti.
Sebbene esistano diverse tecniche e strumenti ad hoc, utilizzati
specialmente nelle realizzazioni di data warehouse, solo recentemente il
problema della conversione e riconciliazione dei dati è stato affrontato con
metodi rigorosi e scientifici [CDLNR00].
6. Sorgenti semi strutturate
Grande interesse sta suscitando il problema dell'integrazione nel caso in cui le
sorgenti informative contengano dati semi strutturati. È probabile che il
diffondersi di XML accentuerà questo interesse nei prossimi anni, e favorirà lo
studio di tecniche che tengano conto del coesistere di sorgenti strutturate e
semi strutturate. Tutti i problemi precedentemente descritti si riproporranno in
una veste più complessa e articolata. Ad esempio, la scelta tra una architettura
fondata sulle query ed una fondata sulle sorgenti dovrà tenere presente che nel
nuovo contesto i meccanismi descrittivi delle sorgenti dovranno necessariamente
essere più sofisticati. Analogamente, il processo di risposta alle query usando
le viste dovrà adattarsi alle nuove esigenze poste dalla presenza di sorgenti
semi strutturate. La presenza di vincoli di accesso alle sorgenti semi
strutturate porrà ulteriori complicazioni, sia sulla modellazione di tali
vincoli, sia sui meccanismi di accesso da utilizzarsi nella sintesi dei piani.
Infine, la necessità di conversioni e riconciliazioni di dati strutturati e semi
strutturati pone nuovi e stimolanti problemi, che necessitano di precise
caratterizzazioni e approfondimenti.
Riferimenti
[CDLNR98d]
Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini, Daniele
Nardi, and Riccardo Rosati. Information integration: Conceptual
modeling and reasoning support. In Proceedings of the Sixth
International
Conference
on
Cooperative
Information
Systems
(CoopIS'98), pages 280--291, 1998.
[CDLNR00]
Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini, Daniele
Nardi, and Riccardo Rosati. Data integration in data warehousing.
International Journal of Cooperative Information Systems, 2000. To
appear.
[Hull97]
Richard Hull. Managing semantic heterogeneity in databases: A
theoretical perspective. Proceedings of the Sixteenth ACM SIGACT
SIGMOD SIGART Symposium on Principles of Database Systems (PODS'97),
1997.
[JLVV99]
Matthias Jarke, Maurizio Lenzerini, Yannis Vassiliou, and Panos
Vassiliadis, editors. Fundamentals of Data Warehouses. SpringerVerlag, 1999.
[Levy99]
Alon Y. Levy. Answering queries using views: A survey. Technical
report, University of Washinghton, 1999.
[Ullm97]
Jeffrey D. Ullman. Information integration using logical views.
Proceedings of the Sixth International Conference on Database Theory
(ICDT'97), volume 1186 Lecture Notes in Computer Science, pages 19-40. Springer-Verlag, 1997.
WORKSHOP
Sistemi distribuiti e architettura dei dati
OLAP e data mining in
ambienti distribuiti
D. Saccà e D. Talia
OLAP e Data Mining in Ambienti Distribuiti
Domenico Saccà e Domenico Talia
ISI-CNR
Via P. Bucci, Cubo 41C
87036 Rende (CS), Italy
Email : {sacca,talia} @si.deis.unical.it
1. Introduzione
L’informazione memorizzata nei calcolatori oggi è enorme ed tende a crescere sempre
più rapidamente. Mentre fino ad alcuni anni fa il principale problema era la mancanza
o la carenza di informazione, oggi e in futuro il principale problema è la
sovrabbondanza di flussi di informazione da cui è molto difficile estrarre cosa è
interessante e importante. Solo per citare alcuni esempi, la catena di negozi Wal-Mart
negli Stati Uniti gestisce 20 milioni di transazioni al giorno utilizzando una base di
dati di oltre 4 terabytes di memoria, il progetto sul Human Genoma ha collezionato
alcune decine di terabyte di dati sul codice genetico umano, un database contenente
un catalogo degli oggetti celesti provenienti da un osservatorio astronomico consiste
di miliardi di immagini, il sistema di osservazione terrestre dei satelliti orbitanti
costruito dalla NASA genera 50 gigabytes di immagini all'ora. La quantità di
informazione su INTERNET cresce molto rapidamente: si calcola che ogni due ore un
nuovo server WEB venga connesso alla rete, e si è passati da circa 5 milioni di
documenti web nel 1995 a oltre 1 miliardo nel 2000 ma la quantità di informazione
veramente utile rimane limitata: si usa dire che il 99% dell’informazione è inutile al
99% degli utenti WEB.
Questi volumi di dati rendono chiaramente poco utili i metodi tradizionali di
analisi. Tali metodi, infatti, possono creare dei rapporti informativi sui dati analizzati,
ma non sono in grado di analizzarne il contenuto e focalizzare l'attenzione sulle
informazioni interessanti che essi contengono. L’esigenza per una nuova generazione
di tecniche e strumenti capaci di assistere gli utenti in modo intelligente ed automatico
nell'analizzare queste "montagne" di dati allo scopo di trovare conoscenza utile è
pertanto effettiva. Queste tecniche e strumenti sono argomento di studio nel campo
Scoperta di Conoscenza nelle Basi di Dati (Knowledge Discovery in Databases). Un
Sistema di Scoperta della Conoscenza è un sistema che trova conoscenza che
precedentemente non aveva, cioè che non era implicita nei suoi algoritmi o esplicita
nella sua rappresentazione della conoscenza di dominio. Il termine
Knowledge
Discovery in Databases, in breve KDD, è stato coniato nel 1989 per riferirsi all'intero
processo di scoperta della conoscenza nei dati e per enfatizzare l'applicazione ad alto
livello di particolari metodi di estrazione dei dati, noti sotto il nome di
OLAP e data
mining [3]. Le tecniche OLAP (On-Line Analytical Processing) permettono di
organizzare i dati secondo relazioni multidimensionali che possono essere
agevolmente manipolate per pervenire ai livelli di aggregazione desiderati. Le
tecniche di data mining consentono di individuare nei dati associazioni nascoste e
correlazioni significative.
Negli ultimi anni la gran parte dei sistemi di OLAP e data mining sono stati
progettati e realizzati su calcolatori sequenziali. Tuttavia, tali sistemi possono trarre
ulteriori benefici dalle tecniche e dai sistemi emergenti nel settore del calcolo
parallelo e distribuito, come i sistemi di cluster computing e di grid computing
(griglie computazionali) [4] , ed in generale dall'uso di reti ad elevate prestazioni. Il
sistemi distribuiti di data mining hanno lo scopo di fornire algoritmi, strumenti ed
applicazioni per l'analisi di dati distribuiti. Le sorgenti informative di grandi
dimensioni sono spesso logicamente e fisicamente distribuiti e non possono essere
trasferiti in un singolo sito. Inoltre, vi sono molte organizzazioni o imprese
delocalizzate sul territorio che hanno bisogno di un approccio decentralizzato al
supporto delle decisioni. Quindi, ogni volta che grandi moli di dati sono associate alla
distribuzione geografica dei dati, dei sistemi e degli utenti è necessario integrare
differenti tecnologie per implementare sistemi distribuiti per il data mining e la
scoperta di conoscenza. Esempi significativi dove ambienti di data mining distribuito
possono essere usati utilmente sono
• Grandi organizzazioni che hanno necessità di analizzare dati distribuiti;
• Mining di dati in possesso di differenti organizzazioni o laboratori;
• Mining di dati provenienti da sorgenti o sensori geograficamente distribuiti;
• Analisi di dati residenti in siti diversi con diverse tecniche di data mining per
ottenere risultati in parallelo ( meta-learning).
2.
OLAP e Data Mining Distribuiti
Molto spesso il compito della implementazione di algoritmi su sistemi di calcolo
distribuiti non è semplice ed è anche costoso. Quindi insieme alla scalabilità, altri
importanti obiettivi sono l'indipendenza dall'architettura e la portabilità. Questo
obiettivo di astrazione architetturale deve essere considerato nel progetto di
applicazioni ed algoritmi di data mining insieme all'obiettivo
dell'interoperabilità.
Questi sistemi devono essere capaci di
1. gestire grandi data set di dati multidimensionali che possono essere
geograficamente distribuiti;
2. analizzare differenti tipi di dati che possono essere non- o semi-strutturati;
3. offrire una facilità di uso tramite l'uso di modelli di data mining programming e
di linguaggi di specifica di alto livello;
4. gestire gli aspetti di sicurezza e privatezza dei dati che sono connessi con la
distribuzione delle risorse.
L'aspetto centrale in un sistema di OLAP e data mining distribuito è l'analisi
distribuita dei dati che può essere realizzata secondo gli schemi seguenti:
• Move Data. I dati residenti su nodi di elaborazione remoti sono selezionati e
trasmessi ad un nodo centrale (probabilmente un cluster) per l'elaborazione.
• Move Models. Ogni nodo elabora i dati localmente ed invia il modello predittivo
ad altri nodi per ulteriori elaborazioni.
2
• Move Results: Ogni nodo elabora i dati fino ad ottenere un qualche risultato che
invia ad altri nodi per completare l'analisi.
Alcuni sistemi di data mining distribuiti che sono stati recentemente proposti
supportano combinazioni di questi schemi. Tuttavia gli aspetti architetturali e
infrastrutturali sono approcciati da specifici punti di vista applicativi. Nei casi più
semplici i dati dono detenuti da una stessa organizzazione e il loro formato e la loro
disponibilità sono ben conosciuti. Nei casi più complessi, in cui si hanno dati
eterogenei con più detentori alcuni requisiti richiesti dal data mining distribuito
possono essere soddisfatti tramite l'integrazione di servizi di data mining su sistemi
distribuiti.
Combinando i modelli ed i risultati che emergono da queste area tecnologiche è
possibile supportare lo sviluppo di sistemi distribuiti di data mining e realizzare
applicazioni innovative in questo settore. Ognuna delle due area coinvolte (data
mining e distributed computing) può usare l'altra per ridurre i costi di sviluppo e di
esecuzione e gli esperti di ognuna di esse possono concentrarsi sul proprio dominio di
competenza sfruttando l'indipendenza dalle architetture sottostanti. Inoltre, le
applicazioni distribuite di data mining potranno beneficiare degli sviluppi che si
stanno ottenendo nella definizione di standard per il processo di DM come il modello
CRISP-DM e il predictive modeling markup language (PMML) che è stato
specificato per gestire differenti formati per i dati di input ed output.
Recentemente sono stati sviluppati alcuni sistemi di data mining distribuiti che
operano su reti o cluster di workstation ed alcuni che operano su Internet. Inoltre è
stata proposta una architettura distribuita per il data mining su griglie computazionali
[1]. Alcuni di questi sistemi suono stati implementati in Java, come Papyrus [5] che
usa Java aglets, JAM [9] che è basato sul paradigma degli agenti distribuiti
implementati tramite Java applets e PaDDMAS [8] in cui ogni componente
dell'architettura distribuita del sistema è realizzato come un oggetto in Java o CORBA
e l'interfaccia con le sorgenti informative è realizzata tramite JDBC. Altri sistemi
distribuiti di data mining sono Kensington Enterprise data mining suite [2], MASSON
[7] e BODHI [6] che implementa un tipo di meta-learning detto collettive data mining
basato sulla raccolta di modelli generati nei diversi nodi del sistema distribuito e sulla
valutazione comparata della loro bontà predittiva.
3. Conclusioni
I sistemi di OLAP e data mining in ambiente distribuiti rappresentano una evoluzione
delle tecnologie di knowledge discovery. Essi sono basati sul fatto che i dati possono
essere inerentemente distribuiti in più siti che sono tra loro connessi da una rete di
comunicazione e i dati stessi possono essere eterogenei. Questi sistemi offrono nuovi
strumenti di scoperta della conoscenza che effettuano una analisi distribuita dei dati
limitando i costi di comunicazione.
Naturalmente questi sistemi pongono nuovi problemi come la gestione della
distribuzione dei dati e della computazione, i costi di comunicazione tra i nodi e il
coordinamento e la gestione del processo decentralizzato di scoperta della
3
conoscenza. Tuttavia, anche a causa della diffusione di Internet e dei sistemi di
elaborazione di rete, i sistemi distribuiti di data mining offrono nuove e significative
opportunità per organizzazioni, imprese e ambienti scientifici che operano nel settore
del knowledge management. Queste opportunità sono ancora maggiori se si considera
il ruolo che gli ambienti distribuiti di data mining possono svolgere in settori
strategici come l'analisi di dati disponibili su Internet come il Web mining, il Web
personalization e il text mining.
Riferimenti bibliografici
1.
2.
3.
4.
5.
6.
7.
8.
9.
Cannataro M. and Talia D., Parallel and Distributed Knowledge Discovery On The
GRID: A Reference Architecture, Proc. ICA3PP Conference, Hong Kong, World
Scientific Publ., 2000.
Chattratichat J., Darlington J., Guo Y., Hedvall S., Köler M. and Syed J., An architecture
for distributed enterprise data mining. HPCN Europe 1999, Lecture Notes in Computer
Science, 1593 (Springer, 1999) pp. 573-582.
Fayyad U.M. and Uthurusamy R. (eds.), Data mining and knowledge discovery in
databases. Communications of the ACM 39 (1997).
Foster I. and Kesselman C., Globus : a metacomputing infrastructure toolkit.
International Journal of Supercomputing Applications 11 (1997) pp. 115-128.
Grossman R., Bailey S., Kasif S., Mon D., Ramu A. and Malhi B., The preliminary
design of papyrus: a system for high performance, distributed data mining over clusters,
meta-clusters and super-clusters. International KDD’98 Conference (1998) pp. 37-43.
Kargupta H., Park B., Hershberger, D. and Johnson, E., Collective data mining: a new
perspective toward distributed data mining. In HILLOL KARGUPTA AND PHILIP
CHAN (eds.) Advances in Distributed and Parallel Knowledge Discovery (AAAI Press
1999).
Kimm H. and Ryu T.-W., A framework for distributed knowledge discovery system
over heterogeneous networks using CORBA . KDD2000 Workshop on Distributed and
Parallel Knowledge Discovery (2000).
Rana O.F., Walker D.W., Li M., Lynden S. and Ward M., PaDDMAS: parallel and
distributed data mining application suite. Proc. International Parallel and Distributed
Processing Symposium (IPDPS/SPDP), (IEEE Computer Society Press, 2000) pp. 387392.
Stolfo S.J., Prodromidis A.L., Tselepis S., Lee W., Fan D.W., Chan P.K., JAM: Java
agents for meta-learning over distributed databases. International KDD’97 Conference
(1997) pp. 74-81.
4