Introduzione
Si immagini di essere responsabile della gestione del magazzino per un rivenditore online. Servono strumenti per creare, aggiornare ed eliminare i dati sugli utenti e sui prodotti. È anche necessario essere in grado di eseguire query sui dati per prendere decisioni aziendali o operative.
In questo modulo verrà creata un'applicazione console Java per creare, aggiornare ed eliminare i record utente, nonché eseguire query sui dati con Java. Questo modulo offrirà due set di esempi di codice, uno per l'uso diretto di Azure Cosmos DB Java SDK e un altro che usa il modello di programmazione Spring Data per Java.
Verrà usato lo strumento di gestione pacchetti Maven per strutturare il progetto ed eseguire il pull delle dipendenze.
Perché Azure Cosmos DB?
Un'azienda ipotetica che gestisce le operazioni di vendita al dettaglio globali nel cloud potrebbe trarre vantaggio da Azure Cosmos DB. I tecnici dell'azienda hanno la necessità di garantire che i dispositivi POS salvino in modo permanente i dati in un database cloud con tempi di risposta rapidi per ogni richiesta. La società gestisce un database per le scorte di magazzino. Desidera garantire che tale database sia a disponibilità elevata (per evitare di causare scontento tra i clienti) e distribuito a livello globale (per garantire ai clienti una pagina Web reattiva a livello globale).
Inoltre, il carico sul sistema di vendita al dettaglio globale dell'azienda varia nel corso dell'anno. La società sa che il carico sul suo database raggiungerà il picco nelle settimane intorno alle festività dedicate alla vendita al dettaglio. La società sta cercando un modello di determinazione dei prezzi in cui paga per le risorse utilizzate, anziché per il consumo massimo.
Azure Cosmos DB è un database cloud NoSQL che offre contratti di servizio (SLA) per le prestazioni nell'ambito della latenza e della disponibilità. Inoltre, offre una distribuzione globale "chiavi in mano" che consente agli utenti di interagire con copie locali di un database. Queste funzionalità potrebbero soddisfare i requisiti globali di disponibilità elevata e bassa latenza dell'azienda. Ridimensionando manualmente la velocità effettiva del database nel codice o usando una velocità effettiva con scalabilità automatica, l'azienda potrà pagare solo per la velocità effettiva del servizio utilizzata in una determinata ora.
Azure Cosmos DB è un database NoSQL partizionato e replicato in grado di avviare in modo elastico un numero sufficiente di computer fisici per gestire la velocità effettiva di picco del database dell'applicazione e quindi di rilasciare le risorse di calcolo quando non sono necessarie. Questo processo di gestione del carico tramite il ridimensionamento del numero di computer viene denominato scale-out o scalabilità orizzontale.
Per aiutare gli utenti a iniziare a usare Azure Cosmos DB, questo lab illustra i passaggi per lo sviluppo di un client in linguaggio Java di base.
Obiettivi di apprendimento
Contenuto del modulo:
- Comprendere come inviare richieste ad Azure Cosmos DB da un'applicazione Java
- Creare un'applicazione per archiviare dati ed eseguire query in Azure Cosmos DB
Prerequisiti
- Conoscenza del linguaggio di programmazione Java
- Facoltativo: familiarità con il modello di programmazione Spring Data
- Esperienza nella creazione e nella gestione delle risorse in Azure Cosmos DB, tra cui creazione e configurazione di database, contenitori e account Cosmos DB
- Familiarità di livello principiante con le installazioni locali e degli strumenti seguenti: Apache Maven, Git, Java JDK 8 o versione successiva e un IDE o un editor di testo Java