Inleiding

Voltooid

Stel, u beheert de opslag voor een online winkel. U hebt de hulpprogramma's nodig om uw gebruikers- en productgegevens te maken, bij te werken en te verwijderen. U moet ook over de mogelijkheid beschikken om query's voor uw gegevens uit te voeren om zakelijke of operationele beslissingen te nemen.

In deze module gaat u een Java-consoletoepassing bouwen om gebruikersrecords te maken, bij te werken en te verwijderen en om query's voor uw gegevens met behulp van Java. Deze module biedt twee sets van codevoorbeelden. Het ene voorbeeld is voor rechtstreeks gebruik van Azure Cosmos DB Java SDK. Het andere voorbeeld is voor gebruik van het Spring Data-programmeermodel voor Java.

We gebruiken Maven-pakketbeheer om ons project te structureren en afhankelijkheden op te halen.

Waarom Azure Cosmos DB?

Een hypothetisch bedrijf dat zijn wereldwijde handelstransacties in de cloud beheert en baat kan hebben bij gebruik van Azure Cosmos DB. De engineers van het bedrijf moeten waarborgen dat de POS-apparaten (Point Of Sale) gegevens kunnen opslaan in een clouddatabase met een korte reactietijd voor elke aanvraag. Het bedrijf onderhoudt een voorraaddatabase. Het bedrijf wil ervoor zorgen dat deze database een hoge beschikbaarheid heeft (om klantontevredenheid te voorkomen) en wereldwijd wordt gedistribueerd (om klanten over de hele wereld een responsieve webpagina te bieden).

Bovendien varieert de belasting van het wereldwijde retailsysteem van het bedrijf gedurende het jaar. Het bedrijf weet dat de belasting van de database een piek in de weken rond de feestdagen vertoont. Er wordt gezocht naar een prijsmodel waarbij wordt betaald voor wat het bedrijf verbruikt in plaats van te betalen voor gebruik tijdens piektijden.

Azure Cosmos DB is een NoSQL-clouddatabase die prestatie-SLA's (Service Level Agreements) biedt op basis van latentie en beschikbaarheid. De database biedt ook kant-en-klare wereldwijde distributie waarmee gebruikers kunnen communiceren met geografisch lokale kopieën van een database. Deze eigenschappen voldoen mogelijk aan de vereisten van het retailbedrijf met betrekking tot wereldwijde hoge beschikbaarheid en lage latentie. Door de databasedoorvoer in code handmatig te schalen of door een automatisch geschaalde doorvoer te gebruiken, hoeft het bedrijf alleen te betalen voor de servicedoorvoer die in een bepaald uur wordt verbruikt.

Azure Cosmos DB, een gedeelde en een gerepliceerde NoSQL-database, kan op elastische wijze voldoende fysieke machines in gang zetten om de piek in uw databasedoorvoer te verwerken en die rekenkracht vervolgens vrij te geven wanneer u deze niet nodig hebt. Dit proces waarbij het aantal machines wordt geschaald om de belasting te verwerken, wordt ook wel uitschalen of horizontaal schalen genoemd.

Om gebruikers op weg te helpen met Azure Cosmos DB, wordt tijdens dit lab uitgelegd hoe u een eenvoudige client op basis van Java-taal ontwikkelt.

Leerdoelen

In deze module wordt het volgende behandeld:

  • Leer hoe u aanvragen naar Azure Cosmos DB verzendt vanuit een Java-toepassing
  • Een toepassing maken voor het opslaan en opvragen van gegevens in Azure Cosmos DB

Vereisten

  • Kennis van de programmeertaal Java
  • Optioneel: enige kennis van het Spring Data-programmeermodel
  • Ervaring met het maken en beheren van resources in Azure Cosmos DB, bijvoorbeeld met het maken en configureren van Cosmos DB-accounts, -databases en -containers
  • Kennis op beginnersniveau en lokale installaties van de volgende hulpprogramma's: Apache Maven, Git, Java JDK 8 of hoger en een Java IDE of teksteditor