Within the last years, especially for web applications, data requirements have changed drastically; applications needs to handle information that are not always well structured and, more importantly, their volume is not sustainable for traditional data management techniques. Solutions that try to handle those new kinds of data have emerged over the classical DBMS solutions; those solutions come under the name of NoSQL (Not Only SQL), to underline the different approach they bring with respect to traditional DBMS. Many NoSQL databases has been developed in these years and, each of them, uses a different approach to handle the previously mentioned requirements. Those technologies provide a set of proprietary API that move toward the user a lot of programming effort with respect to DBMS solutions. The lack of a common language for NoSQL databases, require a clear un- derstanding of the available NoSQL solutions, to be able to choose the right technology for the application requirements. However, during the life cycle of the application, changing the adopted NoSQL technology, maybe due to possibly changes in requirements or in business, may become a problem. This problem is known as vendor lock-in. This work proposes a model that, using the CPIM library and through the JPA interface, permits to the users to develop applications using a common interface to interact with many NoSQL technologies and thus achieve code probability, leveraging the complexity of NoSQL systems while exploiting the advantages that those technologies bring in terms of scalability and perfor- mance. Moreover this work proposes the integration, in the CPIM library, of Hegira a migration and synchronization system to handle data migration and synchronization among NoSQL database.

Negli ultimi anni, specialmente per le applicazioni web, i requisiti sulla gestione dei dati sono drasticamente cambiati; le applicazioni devono gestire dati che per loro natura non sono strutturati e, principalmente, vengono generati in una quantita` tale che i sistemi tradizionali per la gestione dei dati non sono piu` sufficientemente performanti. Varie soluzioni sono state proposte come alternative ai classici DBMS; queste soluzioni prendono il nome di NoSQL (Not Only SQL), per sottolineare il differente approccio adottato rispetto ai tradizionali DBMS. Molti database NoSQL sono stati sviluppati in questi anni e, ognuno di essi, utilizza un approccio differente nel cercare di soddisfare i requisiti sopra citati. Queste tecnologie forniscono un insisme di API che mettono l’utente in con- dizioni di dover scrivere molto piu` codice rispetto a quanto sarebbe necessario utilizzando i tradizionali DBMS. La mancanza di un linguaggio comune a tutti i database NoSQL richiede una chiara e precisa conoscenza delle soluzioni disponibili sul mercato, per essere in grado di scegliere la tecnologia che piu` soddisfa i requisiti dell’applicazione. Tuttavia, durante il ciclo di vita di un’applicazione, cambiare la soluzione NoSQL adottata, ad esempio a fronte di un cambiamento nei requisiti o delle logiche di business, puo` essere un problema. Questo problema `e noto come vendor lock-in. Questo lavoro propone un modello che, usando la libreria CPIM e sfrut- tando l’interfaccia JPA, permetta all’utente di sviluppare applicazioni usando un’interfaccia comune per molte tecnologie NoSQL e ottenere cos`ı una buona protabilita` del codice, mitigando la complessit`a delle tecnologie NoSQL senza perderne i vantaggi in termini di salabilita` e performance. Inoltre questo la- voro propone l’integrazione, all’interno della libreria CPIM, del sistema di migrazione e sincronizzazione Hegira, per gestire la migrazione e la sincroniz- zazione dei dati fra database NoSQL.

Avoiding CRUD operations lock-in in NoSQL databases : extension of the CPIM library

ARCIDIACONO, FABIO
2013/2014

Abstract

Within the last years, especially for web applications, data requirements have changed drastically; applications needs to handle information that are not always well structured and, more importantly, their volume is not sustainable for traditional data management techniques. Solutions that try to handle those new kinds of data have emerged over the classical DBMS solutions; those solutions come under the name of NoSQL (Not Only SQL), to underline the different approach they bring with respect to traditional DBMS. Many NoSQL databases has been developed in these years and, each of them, uses a different approach to handle the previously mentioned requirements. Those technologies provide a set of proprietary API that move toward the user a lot of programming effort with respect to DBMS solutions. The lack of a common language for NoSQL databases, require a clear un- derstanding of the available NoSQL solutions, to be able to choose the right technology for the application requirements. However, during the life cycle of the application, changing the adopted NoSQL technology, maybe due to possibly changes in requirements or in business, may become a problem. This problem is known as vendor lock-in. This work proposes a model that, using the CPIM library and through the JPA interface, permits to the users to develop applications using a common interface to interact with many NoSQL technologies and thus achieve code probability, leveraging the complexity of NoSQL systems while exploiting the advantages that those technologies bring in terms of scalability and perfor- mance. Moreover this work proposes the integration, in the CPIM library, of Hegira a migration and synchronization system to handle data migration and synchronization among NoSQL database.
SCAVUZZO, MARCO
ING - Scuola di Ingegneria Industriale e dell'Informazione
29-apr-2015
2013/2014
Negli ultimi anni, specialmente per le applicazioni web, i requisiti sulla gestione dei dati sono drasticamente cambiati; le applicazioni devono gestire dati che per loro natura non sono strutturati e, principalmente, vengono generati in una quantita` tale che i sistemi tradizionali per la gestione dei dati non sono piu` sufficientemente performanti. Varie soluzioni sono state proposte come alternative ai classici DBMS; queste soluzioni prendono il nome di NoSQL (Not Only SQL), per sottolineare il differente approccio adottato rispetto ai tradizionali DBMS. Molti database NoSQL sono stati sviluppati in questi anni e, ognuno di essi, utilizza un approccio differente nel cercare di soddisfare i requisiti sopra citati. Queste tecnologie forniscono un insisme di API che mettono l’utente in con- dizioni di dover scrivere molto piu` codice rispetto a quanto sarebbe necessario utilizzando i tradizionali DBMS. La mancanza di un linguaggio comune a tutti i database NoSQL richiede una chiara e precisa conoscenza delle soluzioni disponibili sul mercato, per essere in grado di scegliere la tecnologia che piu` soddisfa i requisiti dell’applicazione. Tuttavia, durante il ciclo di vita di un’applicazione, cambiare la soluzione NoSQL adottata, ad esempio a fronte di un cambiamento nei requisiti o delle logiche di business, puo` essere un problema. Questo problema `e noto come vendor lock-in. Questo lavoro propone un modello che, usando la libreria CPIM e sfrut- tando l’interfaccia JPA, permetta all’utente di sviluppare applicazioni usando un’interfaccia comune per molte tecnologie NoSQL e ottenere cos`ı una buona protabilita` del codice, mitigando la complessit`a delle tecnologie NoSQL senza perderne i vantaggi in termini di salabilita` e performance. Inoltre questo la- voro propone l’integrazione, all’interno della libreria CPIM, del sistema di migrazione e sincronizzazione Hegira, per gestire la migrazione e la sincroniz- zazione dei dati fra database NoSQL.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2015_04_Arcidiacono.pdf

accessibile in internet per tutti

Dimensione 1.35 MB
Formato Adobe PDF
1.35 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/106726