Valutazione sperimentale di un database relazionale in ambiente cloud

Post on 22-Jan-2018

433 views 1 download

Transcript of Valutazione sperimentale di un database relazionale in ambiente cloud

Valutazione sperimentale di un database relazionale

in ambiente cloud

Università di Cagliari

Facoltà di Scienze MM.FF.NN. Matteo Pania.a. 2010/2011

Il mercato dei servizi cloud è in continua espansione, perché?

++cloud;

1/18

Introduzione

● infrastruttura hardware e software esterna● abbattimento costi relativi ad esse● dati ed applicazioni sempre accessibili● più facile creare servizi

L'ambiente GAE

Semplifica lo sviluppo di applicazioni web Le applicazioni "girano" nell'infrastruttura di

Google Le applicazioni sono sandboxate Pagamenti in base a ciò che si usa Console d'amministrazione

2/18

In breve

L'ambiente GAE

Fornisce svariati servizi ed in particolare offre diverse opzioni per lo storage, quali:

● App Engine Datastore● Google Storage● Google Cloud SQL

3/20

Servizi e storage

Servizio web grazie a cui è possibile avere istanze cloud di database relazionali MySQL

● semplicità di utilizzo ● non richiede manutenzione da parte dello

sviluppatore● replicazione dei dati a livello geografico● integrazione con GAE ed altri servizi di

Google.

Google Cloud SQL

4/20

Panoramica

Offre alcune funzionalità, tra le quali:

● istanze grandi fino a 10GB● replicazione geografica sincrona● prompt SQL nella Google APIs Console● interfaccia testuale di interazione col

database● Compatibilità Python e Java● supporto a mysqldump

Google Cloud SQL

5/18

Features

C’è però anche qualche limitazione, come ad esempio:

● dimensione istanze pari a massimo 10GB● funzioni definite dallo sviluppatore non

supportate● MySQL replication non supportata;● alcune istruzioni MySQL non sono

supportate

Google Cloud SQL

6/18

Limitazioni

Google Cloud SQL

7/18

Dashboard

Google Cloud SQL

8/18

Interagire col db

Prompt web

Script desktop

SQuirrel SQL

Google Cloud SQL

9/18

Sviluppo applicazioni

Linguaggi supportati: Java e Python Basta indicare nel codice nome istanza e nome

database Modulo o driver si occupano della connessione alla base di dati Java → Plugin per EclipsePython → Django

Per una generica banca, la decisione in merito all'apertura di una nuova filiale è un problema:

● è necessaria?● eventualmente, dove farla sorgere?

Il caso di studio

10/18

Introduzione

Un possibile criterio di valutazione:disposizione geografica filiali rispetto a

clienti

Il caso di studio

11/18

Clienti

Filiali

Database

Il caso di studio

12/18

Approccio classico

Il caso di studio

13/18

DeSEB

Il caso di studio

14/18

Approccio classico vs DeSEB

Il caso di studio

15/18

Approccio classico vs DeSEB

Il caso di studio

16/18

Cenni sull'implementazione

JSP

Javascript HTML CSS

Query al database

Georeferenziazione

Server

Client

Eclipse 3.7 + Google PluginFirefox 10/11 + GWT Plugin + FirebugOpenJDK 1.6Google Maps API 3.8Fedora Linux 16

È stato testato il servizio Google Cloud SQL interfacciamento diretto e creazione di

applicazioni

È sviluppata un'applicazione per il supporto alle decisioni in ambito bancario usando GAE + GMaps + Google Cloud SQL

Si è dimostrato semplice da usare, efficiente

ed affidabile

Conclusioni

17/18

Riassumendo

DeSEB è solo un protipo! ● ulteriori funzionalità● aggiunta di altre informazioni● integrazione di altri servizi web, sempre in

ottica cloud

Conclusioni

18/18

Sviluppi futuri

DeSEB è uno strumento integrativo, non sostitutivo Privatezza dei dati

Grazie per l'attenzione