The main purpose of this work is to illustrate the steps that have led to the construction of a distributed architecture for data integration. In order to fulfil the project requirements, two components were needed, namely the database and the processing system. After a careful analysis of the most widespread technologies in the Big Data field, and confirmations through some experimental tests, we have selected MongoDB and Apache Spark, respectively. Specifically, the integration concerns a case of DEM, that is, Direct Email Marketing, in collaboration with a company in this sector. Data sources are databases containing information about users. The data are received through some CSV files having the same structure, but with the presence of some duplicates and / or incorrect spelling and / or not valid attributes. Now the company can not fully exploit the data received. The project objective was to process the input data and insert it into an integrated database that can be easily queried in order to provide to potential customers with a convenient method to obtain segmented data according to specific criteria. Moreover, in parallel to the processing, a data lake was added to accommodate raw data to allow future improvements, such as the adoption of a completely different structure from the current one, without completely reorganizing the existing database. The architecture has been conceived to be flexible and efficient, these aspects have been taken into account during all the design phases.

Lo scopo principale di questo elaborato è illustrare i passaggi chiave che hanno portano alla costruzione di un'architettura distribuita per l'integrazione di dati. Per la realizzazione del progetto, sono stati necessari due componenti, ovvero il database e il processing system. Dopo un'attenta analisi tra le tecnologie più diffuse in ambito Big Data, e delle conferme attraverso alcune prove sperimentali, abbiamo selezionato rispettivamente MongoDB e Apache Spark. Nello specifico l' integrazione riguarda un caso di DEM, cioè di Direct Email Marketing, in collaborazione con un’azienda del settore. Le sorgenti dati sono database contenenti informazioni riguardanti gli utenti. I dati sono ricevuti attraverso alcuni file CSV aventi la stessa struttura, ma con la presenza di alcuni duplicati e/o errori ortografici e/o attributi non validi. Allo stato attuale l'azienda non riesce a sfruttare pienamente i dati ricevuti. L'obiettivo del progetto è stato processare i dati in input e inserirli in un database integrato facilmente interrogabile in modo da fornire ai possibili clienti un comodo metodo per ottenere dati segmentati secondo specifici criteri. Inoltre, in parallelo al processing, è stato aggiunto un data lake contenente i dati grezzi per permetterne sviluppi futuri, cioè per favorire l' adozione di una struttura completamente diversa da quella attuale, senza dover riorganizzare completamente la base di dati esistente. L'architettura è stato pensato per essere flessibile ed efficiente, questi aspetti sono sono stati presi in considerati durante tutte le fasi della progettazione.

Progettazione di un'architettura distribuita per l'aggregazione di sorgenti dati streaming

BARTOLI, DANIELE;RICCARDI, VINCENZO
2017/2018

Abstract

The main purpose of this work is to illustrate the steps that have led to the construction of a distributed architecture for data integration. In order to fulfil the project requirements, two components were needed, namely the database and the processing system. After a careful analysis of the most widespread technologies in the Big Data field, and confirmations through some experimental tests, we have selected MongoDB and Apache Spark, respectively. Specifically, the integration concerns a case of DEM, that is, Direct Email Marketing, in collaboration with a company in this sector. Data sources are databases containing information about users. The data are received through some CSV files having the same structure, but with the presence of some duplicates and / or incorrect spelling and / or not valid attributes. Now the company can not fully exploit the data received. The project objective was to process the input data and insert it into an integrated database that can be easily queried in order to provide to potential customers with a convenient method to obtain segmented data according to specific criteria. Moreover, in parallel to the processing, a data lake was added to accommodate raw data to allow future improvements, such as the adoption of a completely different structure from the current one, without completely reorganizing the existing database. The architecture has been conceived to be flexible and efficient, these aspects have been taken into account during all the design phases.
GERONAZZO, ANGELA
RAVANELLI, PAOLO
ING - Scuola di Ingegneria Industriale e dell'Informazione
21-dic-2017
2017/2018
Lo scopo principale di questo elaborato è illustrare i passaggi chiave che hanno portano alla costruzione di un'architettura distribuita per l'integrazione di dati. Per la realizzazione del progetto, sono stati necessari due componenti, ovvero il database e il processing system. Dopo un'attenta analisi tra le tecnologie più diffuse in ambito Big Data, e delle conferme attraverso alcune prove sperimentali, abbiamo selezionato rispettivamente MongoDB e Apache Spark. Nello specifico l' integrazione riguarda un caso di DEM, cioè di Direct Email Marketing, in collaborazione con un’azienda del settore. Le sorgenti dati sono database contenenti informazioni riguardanti gli utenti. I dati sono ricevuti attraverso alcuni file CSV aventi la stessa struttura, ma con la presenza di alcuni duplicati e/o errori ortografici e/o attributi non validi. Allo stato attuale l'azienda non riesce a sfruttare pienamente i dati ricevuti. L'obiettivo del progetto è stato processare i dati in input e inserirli in un database integrato facilmente interrogabile in modo da fornire ai possibili clienti un comodo metodo per ottenere dati segmentati secondo specifici criteri. Inoltre, in parallelo al processing, è stato aggiunto un data lake contenente i dati grezzi per permetterne sviluppi futuri, cioè per favorire l' adozione di una struttura completamente diversa da quella attuale, senza dover riorganizzare completamente la base di dati esistente. L'architettura è stato pensato per essere flessibile ed efficiente, questi aspetti sono sono stati presi in considerati durante tutte le fasi della progettazione.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
tesi-laurea-magistrale_final.pdf

accessibile in internet per tutti

Descrizione: TESI LAUREA MAGISTRALE
Dimensione 1.11 MB
Formato Adobe PDF
1.11 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/137565