valutazione sperimentale di un database relazionale in ambiente cloud
TRANSCRIPT
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