1. AWS Simple DB: Vantaggi/Svantaggi, corretto uso ed esempi Gennaro Varriale XiWeb.it
2. Introduzione AWS SimpleDB è un servizio web per la gestione di una base dati non relazionale. (nessuno schema di Database, nessuna Join tra tabelle ) I dati sono memorizzati come oggetti con chiave/valore. Gli oggetti sono partizionati in domini. Le principali operazioni sono Put, Get, Delete e Query Richieste tramite REST e risposte in XML
3. Modello Dati Domini : (Fogli) simile alle tabelle Elementi: (Righe) rappresentano oggetti Attributi: (Colonne) categorie di dati Valori: (Celle) dati (anche valori multipli)
4. Esempio Elementi diversi (Film, Libri, CD) I valori possono essere multipli (Attori) Gli attributi non presenti non sono memorizzati item_01 : titolo =>Pulp Fiction, attore=> J.Travolta, attore => S.Jackson , ... Item_o2 : titolo=>Marina, categoria =>libro, autore=>C.Zafòn Item_03 : titolo =>Thriller, categoria =>cd
5. Vantaggi Facile da utilizzare (set di API) Flessibile : Nessuno schema per il database. Scalabile : non ci sono limiti (banda e dati) e performance costante Affidabile : i dati sono memorizzati, replicati e indicizzati. Integrazione con sistemi scalabili : Amazon EC2 e Amazon S3 Economico: Si paga solo per quello che si usa
6. Svantaggi Problemi di Latenza - Aggiornamento dei dati attraverso i vari server - Richieste : max 250 risultati e token sequenziali Maggior lavoro di programmazione - tecniche di caching dei dati ed elaborazione Limiti - max 256 attributi per elemento - max 1024 byte per valori
7. Corretto uso I dati sono stringhe ( codifica UTF-8) con ordinamento lessicografico - zero padding 10 “è minore di” 2 => 0010 “è maggiore di” 0002 (padding 4) - offset per numeri negativi -700, -400, 100 => 0300 , 0600, 1100 (offset 1000) - formatare i campi data YYYY-MM-DDThh:mm:ss (formato ISO 8601) Gli elementi chiave devono essere univoci nel dominio. Es. Id_utente, codice fiscale, (Timestamp)_(random number)
18. Gestione Domini Creare un dominio : $simpleDB ->createDomain(‘collezione'); Lista dei domini $listaDomini= $simpleDB >listDomains() ; Eliminazione di un dominio $simpleDB->deleteDomain($nomeDominio) ;