Nowadays more and more companies embrace the cloud paradigm and even a company that do not have software development as their core business have to choose which cloud vendor to use to host their IT infrastructure. These trends have generated a significant amount of work towards the development of new approaches that simplify the adoption of cloud. Also Multicloud, that is, the possibility of building applications that can be deployed on multiple clouds, has become a hot topic. In this thesis we focus on the possibility of offering to application owners the possibility to adopt a Multicloud approach and to run their applications even in the presence of different database services offered by different providers. In particular, we focus on a specific class of database services, NoSQL databases and on the way they are exploited through the CPIM (Cloud Platform Independent Model) library in a Multicloud context. The CPIM is a library that allows to make applications portable between cloud services of different cloud vendors, without having to redesign the application that uses it, but by simply changing a configuration file. CPIM, thanks to Kundera, an ORM (Object Relation Mapping) for NoSQL databases, based on the standard interface JPA (Java Persistence API), solves one of the biggest problems of cloud paradigm, vendor lock-in, which happens in the moment in which a vendor is chosen rather than another. In detail, Kundera creates a middle layer that allows to mediate the calls to the database allowing to not rewrite the application when porting has to be done. The aim of this work of thesis is to do a deep analysis on performances granted by Kundera, in writing and reading entities to a NoSQL database, with respect to the one offered by Low level API associated to the NOSQL databases we consider in the experiments. In particular, we show that the usage of Kundera certainly simplifies a cross-NoSQL development effort but determines an overhead with respect to the use of Low level API. For such analysis we have developed a set of ad hoc adapters that measure the performance of Azure Tables, Google Datastore and HBase that the are NoSQL databases on which benchmarks have been executed.

Nel contesto attuale, sempre più aziende abbracciano il paradigma cloud e quindi anche una azienda che non fa dello sviluppo software il suo core business, si trova a dover scegliere un cloud vendor su cui fare hosting della propria parte IT. Questo trend ha generato un numero significativo di ricerche sullo sviluppo di approcci che puntano a semplificare l’adozione del cloud computing. Il Multicloud stesso, che è un approccio che permette di sviluppare applicazioni che possano essere distribuite su più tipologie di cloud computing, è diventato un importante tema di ricerca. Nell’elaborato ci focalizziamo sulla possibilità di offrire agli sviluppatori di applicazioni la possibilità di adottare un approccio multicloud e di eseguire le proprie applicazioni anche in presenza di servizi database offerti da provider differenti. In particolare, ci concentriamo su una specifica classe di database, i NoSQL che vengono offerti in un contesto multicloud dalla CPIM. La CPIM è una libreria che permette di rendere la propria applicazione portabile tra i cloud services di diversi cloud vendor senza dover reimplementare l’applicazione che ne fa uso, ma cambiandone un file di configurazione. La CPIM, grazie a Kundera, un ORM (Object Relation Mapping) per database NoSQL, basato sull’interfaccia standard JPA (Java Persistence API), permette di risolvere uno delle problematiche più grandi del paradigma cloud, il vendor lock-in, che viene a crearsi nel momento in cui viene scelto un cloud vendor piuttosto che un altro. Nel dettaglio, Kundera crea un layer intermedio che permette di mediare le chiamate a database permettendo di non riscrivere l'applicazione nel momento in cui si decide di fare il porting della propria soluzione. Scopo di questo lavoro di tesi è quello di fare una analisi approfondita sulle performance garantite nella lettura e scrittura di entities verso database NOSQL offerte dall'adozione di kudera, piuttosto che da una soluzione che sfrutti le low level API, ovvero le API native del vendor, questo perché viene a crearsi un overhead rispetto alle API originali. In particolare, viene mostrato che l’utilizzo di Kundera semplifica lo sviluppo cross-NoSQL a costo di un overhead che viene introdotto rispetto all’utilizzo delle Low level API. Per far ciò sono stati sviluppati una serie di adattatori ad hoc di modo da testare le performance di Azure Tables, Google Datastore e Hbase che sono i database NOSQL analizzati.

Benchmarking NoSQL databases using an ORM library

BRUNITTI, ALESSANDRO
2014/2015

Abstract

Nowadays more and more companies embrace the cloud paradigm and even a company that do not have software development as their core business have to choose which cloud vendor to use to host their IT infrastructure. These trends have generated a significant amount of work towards the development of new approaches that simplify the adoption of cloud. Also Multicloud, that is, the possibility of building applications that can be deployed on multiple clouds, has become a hot topic. In this thesis we focus on the possibility of offering to application owners the possibility to adopt a Multicloud approach and to run their applications even in the presence of different database services offered by different providers. In particular, we focus on a specific class of database services, NoSQL databases and on the way they are exploited through the CPIM (Cloud Platform Independent Model) library in a Multicloud context. The CPIM is a library that allows to make applications portable between cloud services of different cloud vendors, without having to redesign the application that uses it, but by simply changing a configuration file. CPIM, thanks to Kundera, an ORM (Object Relation Mapping) for NoSQL databases, based on the standard interface JPA (Java Persistence API), solves one of the biggest problems of cloud paradigm, vendor lock-in, which happens in the moment in which a vendor is chosen rather than another. In detail, Kundera creates a middle layer that allows to mediate the calls to the database allowing to not rewrite the application when porting has to be done. The aim of this work of thesis is to do a deep analysis on performances granted by Kundera, in writing and reading entities to a NoSQL database, with respect to the one offered by Low level API associated to the NOSQL databases we consider in the experiments. In particular, we show that the usage of Kundera certainly simplifies a cross-NoSQL development effort but determines an overhead with respect to the use of Low level API. For such analysis we have developed a set of ad hoc adapters that measure the performance of Azure Tables, Google Datastore and HBase that the are NoSQL databases on which benchmarks have been executed.
SCAVUZZO, MARCO
ING - Scuola di Ingegneria Industriale e dell'Informazione
30-set-2015
2014/2015
Nel contesto attuale, sempre più aziende abbracciano il paradigma cloud e quindi anche una azienda che non fa dello sviluppo software il suo core business, si trova a dover scegliere un cloud vendor su cui fare hosting della propria parte IT. Questo trend ha generato un numero significativo di ricerche sullo sviluppo di approcci che puntano a semplificare l’adozione del cloud computing. Il Multicloud stesso, che è un approccio che permette di sviluppare applicazioni che possano essere distribuite su più tipologie di cloud computing, è diventato un importante tema di ricerca. Nell’elaborato ci focalizziamo sulla possibilità di offrire agli sviluppatori di applicazioni la possibilità di adottare un approccio multicloud e di eseguire le proprie applicazioni anche in presenza di servizi database offerti da provider differenti. In particolare, ci concentriamo su una specifica classe di database, i NoSQL che vengono offerti in un contesto multicloud dalla CPIM. La CPIM è una libreria che permette di rendere la propria applicazione portabile tra i cloud services di diversi cloud vendor senza dover reimplementare l’applicazione che ne fa uso, ma cambiandone un file di configurazione. La CPIM, grazie a Kundera, un ORM (Object Relation Mapping) per database NoSQL, basato sull’interfaccia standard JPA (Java Persistence API), permette di risolvere uno delle problematiche più grandi del paradigma cloud, il vendor lock-in, che viene a crearsi nel momento in cui viene scelto un cloud vendor piuttosto che un altro. Nel dettaglio, Kundera crea un layer intermedio che permette di mediare le chiamate a database permettendo di non riscrivere l'applicazione nel momento in cui si decide di fare il porting della propria soluzione. Scopo di questo lavoro di tesi è quello di fare una analisi approfondita sulle performance garantite nella lettura e scrittura di entities verso database NOSQL offerte dall'adozione di kudera, piuttosto che da una soluzione che sfrutti le low level API, ovvero le API native del vendor, questo perché viene a crearsi un overhead rispetto alle API originali. In particolare, viene mostrato che l’utilizzo di Kundera semplifica lo sviluppo cross-NoSQL a costo di un overhead che viene introdotto rispetto all’utilizzo delle Low level API. Per far ciò sono stati sviluppati una serie di adattatori ad hoc di modo da testare le performance di Azure Tables, Google Datastore e Hbase che sono i database NOSQL analizzati.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2015_09_Brunitti.pdf

non accessibile

Descrizione: Testo della tesi
Dimensione 1.85 MB
Formato Adobe PDF
1.85 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/112556