AWS SimpleDB è un servizio web per la gestione di una base dati non relazionale che ci permette di memorizzare i dati in un database senza preoccuparci di creare uno schema per le tabelle e senza specificare il tipo dei campi. Inoltre non è possibile effettuar le join tra le tabelle.
I dati sono memorizzati come oggetti key/value. Ogni oggetto è composto da una chiave univoca e da un insieme di attributi.
Per ogni attributo è possibile specificare uno o più valori. Gli oggetti in Simple DB sono partizionati in domini. Ogni account dispone al massimo di 100 domini ognuno con 10GB di spazio. Le richieste avvengono tramire REST e il servizio ci ritornerà un oggetto XML
Esistono librerie per vari di linguaggi di programmazione.
Per php c’è una classe open-source faceile da utilizzare: sdb.php (download sdb.php)
Ecco come utilizzarla:
primma di tutto inseriamo la classe nel nostro file e creiamo un’istanza con l’acceskey ed il secretkey del nostro accont amazon SimpleDB
require_once('sdb.php');
$simpleDB= new SimpleDB($accessKey, $secretKey);
Per gestire i domini "tabelle di dati" utilizziamo le seguenti funzioni$simpleDB ->createDomain(‘collezione'); Creare un dominio $listaDomini= $simpleDB >listDomains() ; //Lista dei domini $simpleDB->deleteDomain($nomeDominio) ;//Eliminazione di un dominioPer inserire dei dati, basta creare un array associativo nel seguente modo://Inserimento dati $dati['categoria']['value']=‘film'; $dati['titolo']['value']=‘Pulp Fiction'; $dati['attore']['value'][]=‘J.Travolta'; $dati['attore']['value'][]=‘S.Jackson'; $simpleDB->putAttributes(‘collezione‘, 'item_01', $dati );Dato che i valori possono essere multipli se vogliamo sostituire un valore, dobbiamo specificare che intendiamo aggiornarlo tramire 'replace'//Aggiornamento $dati['autore']['value']='C.Zafòn'; $dati[‘autore’][‘replace’]=true; //aggiorna $simpleDB->putAttributes(‘collezione‘, 'item_2', $dati);</pre> <pre>//Cancellazione $simpleDB->deleteAttributes(‘collezione', ‘item_02’);Pwr ottenere un oggetto dato da una chiave nota utilizziamo ://Prelievo Dati $item= $simpleDB->getAttributes(‘collezione‘, 'item_01‘); print_r( $item ); // Array ( [Name] => ‘item_01’, // [Attributes] => Array ( // [titolo] => ‘Pulp Fiction’, // [categoria] => ‘Film’, // [attore] => array( 0 =>‘J.Travolta’, // 1 => ‘S.Jackson’ // ) // ) // )Se vogliamo utilizzare una query per interrogare i dati, possiamo utilizzare il seguente script, per prelevare i dati .
//Utilizzo di select $token =null; do{ $query = 'select * from collezione'; $primoSet= $db->select(‘collezione', $query ,$token) ); // max 250 elementi + token foreach ($primoSet as $item){ // chiave in $item[Name‘] // valori in $item[‘Attributes’] } } while ($token!=null);











Grazie. Me ne sono accorto.. Quando parto, sono un fiume in piena..;)
Davvero interessante!!
Complimenti anche se forse parlavi un pò troppo in fretta