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