Laboratorio Di Basi Di Dati 07 Programmazione Web Lato Server
Valutazione sperimentale di un database relazionale in ambiente cloud
1. Valutazione sperimentale
di un database relazionale
in ambiente cloud
Università di Cagliari a.a. 2010/2011
Facoltà di Scienze MM.FF.NN. Matteo Pani
2. ++cloud; Introduzione
Il mercato dei servizi cloud è in continua
espansione, perché?
● infrastruttura hardware e software esterna
● abbattimento costi relativi ad esse
● dati ed applicazioni sempre accessibili
● più facile creare servizi
1/18
3. L'ambiente GAE In breve
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
4. L'ambiente GAE Servizi e storage
Fornisce svariati servizi ed in particolare offre
diverse opzioni per lo storage, quali:
● App Engine Datastore
● Google Storage
● Google Cloud SQL
3/20
5. Google Cloud SQL Panoramica
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.
4/20
6. Google Cloud SQL Features
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
5/18
7. Google Cloud SQL Limitazioni
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
6/18
9. Google Cloud SQL Interagire col db
Prompt web
Script desktop
SQuirrel SQL
8/18
10. Google Cloud SQL 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 Eclipse
Python → Django
9/18
11. Il caso di studio Introduzione
Per una generica banca, la decisione in merito
all'apertura di una nuova filiale è un
problema:
● è necessaria?
● eventualmente, dove farla sorgere?
Un possibile criterio di valutazione:
disposizione geografica filiali rispetto a
clienti
10/18
12. Il caso di studio Database
Clienti
Filiali
11/18
15. Il caso di studio Approccio classico vs DeSEB
14/18
16. Il caso di studio Approccio classico vs DeSEB
15/18
17. Il caso di studio Cenni sull'implementazione
Georefere Javascript HTML CSS Client
nziazione
Query al JSP Server
database
Eclipse 3.7 + Google Plugin
Firefox 10/11 + GWT Plugin + Firebug
OpenJDK 1.6
Google Maps API 3.8
Fedora Linux 16
16/18
18. Conclusioni Riassumendo
È 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
17/18
19. Conclusioni Sviluppi futuri
DeSEB è uno strumento integrativo, non
sostitutivo
Privatezza dei dati
DeSEB è solo un protipo!
● ulteriori funzionalità
● aggiunta di altre informazioni
● integrazione di altri servizi web, sempre in
ottica cloud
18/18