In questa lezione, passerai in rassegna alcuni semplici esempi di inserimento e recupero di dati con DynamoDB. Dovrai creare la tabella DynamoDB utilizzando l'API CreateTable, quindi dovrai inserire alcuni elementi utilizzando la chiamata API BatchWriteItem. Infine, recupererai singoli elementi con la chiamata API GetItem. Prima di passare in rassegna questi esempi, parleremo del modello di dati da utilizzare nella tua applicazione per libreria online di esempio.
Nei moduli successivi, scoprirai come recuperare più elementi contemporaneamente utilizzando la chiamata API Query nonché come abilitare altri pattern di query utilizzando indici secondari. Imparerai anche ad aggiornare gli elementi esistenti nella tua tabella.
Tempo necessario per completare il modulo: 15 minuti
I seguenti concetti DynamoDB svolgono un ruolo fondamentale in questo modulo:
- Tabella: una raccolta di record di dati DynamoDB.
- Elemento: un unico record di dati in una tabella DynamoDB. È paragonabile a una riga in un database relazionale.
- Attributo: un unico elemento dati in un elemento. È paragonabile a una colonna in un database relazionale. Tuttavia, a differenza delle colonne nei database relazionali, gli attributi non devono essere specificati all'atto della creazione della tabella, se non nel caso della chiave principale che verrà illustrata di seguito in questo modulo. Gli attributi possono essere tipi semplici come stringhe, numeri interi od operatori booleani, oppure possono essere tipi complessi come elenchi o mappe.
- Chiave principale: una chiave principale è un identificativo univoco per un unico elemento in una tabella DynamoDB. Il nome e il tipo della chiave principale devono essere specificati all'atto della creazione della tabella e una chiave principale del tipo specificato deve essere inclusa in ciascun elemento scritto in una tabella. Una chiave principale semplice consiste in solo attributo e una chiave principale composta consiste in due attributi: una chiave di partizione e una chiave di ordinamento. Ad esempio, puoi creare una chiave principale semplice utilizzando "UserID" come identificativo o puoi creare una chiave principale composta unendo "UserID" e "Creation_Date" come identificativo dell'elemento.
Durante la creazione di un'applicazione, devi sempre trovare il tempo per progettare i modelli di dati necessari nella logica applicativa scelta. Questo progetto di modello di dati deve tenere conto delle esigenze di accesso ai dati che occorreranno nella tua applicazione, sia per la lettura che per la scrittura di dati.
DynamoDB è un database non relazionale. Con i database non relazionali, non è necessario specificare anticipatamente lo schema completo al momento della creazione della tabella. È sufficiente dichiarare la chiave principale della tabella, che identifica in modo univoco ciascun record nella tabella. Ciò riduce il costo anticipato della progettazione del modello dati, perché puoi facilmente modificare lo schema in funzione delle variazioni nelle esigenze della tua applicazione.
Come citato nella sezione "Background dell'applicazione" dell'"Introduzione" di questo tutorial, la tua applicazione deve poter recuperare un singolo libro mediante il titolo e l'autore. Poiché la combinazione di titolo e autore rappresenta un identificatore univoco di un libro, puoi utilizzare tali attributi come chiave principale della tabella. La tua applicazione deve anche essere in grado di archiviare le informazioni sulla categoria del libro in questione, quali storia e biografia, oltre ai formati disponibili del libro (copertina rigida, tascabile o audiolibro) che sono collegati ai codici articolo nel tuo sistema di inventario.
Tenendo conto di queste esigenze, puoi utilizzare il seguente schema per la tua tabella:
- Titolo (una stringa): Il titolo del libro
- Autore (una stringa): l'autore del libro
- Categoria (una stringa) La categoria del libro, come Storia, Biografia e Fantascienza
- Formati (una mappa): I diversi formati disponibili alla vendita (copertina rigida, tascabile e audiolibro) e i rispettivi codici articolo nel tuo sistema di inventario
Nelle fasi seguenti, dovrai creare la tabella specificando la chiave principale composta (Autore e Titolo) della tabella. Quindi, caricherai alcuni elementi nella tabella e leggerai i singoli elementi dalla tabella stessa.