Úvod
Představte si, že spravujete úložiště pro online prodejce. Potřebujete nástroje, které vám umožní vytvářet, aktualizovat a odstraňovat data o uživatelích a produktech. Potřebujete mít rovněž možnost dotazovat data, abyste mohli činit obchodní nebo provozní rozhodnutí.
V tomto modulu vyvinete konzolovou aplikaci v Javě, která bude vytvářet, aktualizovat a odstraňovat záznamy uživatelů a dotazovat se na tato data pomocí Javy. Tento modul poskytne dvě sady ukázek kódu – jednu, která používá přímo sadu Azure Cosmos DB Java SDK, a druhou, která používá programovací model Spring Data pro jazyk Java.
Ke strukturování projektu a stažení závislostí použijeme správce balíčků Maven.
Proč Azure Cosmos DB?
Hypotetické firmě, která řídí svůj globální maloobchodní provoz v cloudu, může Azure Cosmos DB přinést výhody. Technici této firmy potřebují zaručit, aby zařízení v místě prodeje (POS) dokázala data uchovat v cloudové databázi a měla krátkou dobu odezvy na každou žádost. Firma udržuje databázi zásob. Chce zajistit, aby tato databáze byla vysoce dostupná (a zabránit tak nespokojenosti zákazníků) a globálně distribuovaná (a mít jistotu, že zákazníci po celém světě budou mít k dispozici webovou stránku s rychlou odezvou).
Zatížení globálního maloobchodního systému firmy se navíc může v průběhu roku výrazně lišit. Ve firmě vědí, že zatížení jejich databáze bude nejvyšší v týdnech kolem svátků. Hledají proto cenový model, ve kterém se platí za skutečnou spotřebu, a nikoli za spotřebu ve špičce.
Azure Cosmos DB je cloudová databáze NoSQL v Azure, která nabízí smlouvy o úrovni služeb (SLA) zaměřené na latenci a dostupnost. Poskytuje také globální distribuci na klíč, která umožňuje uživatelům pracovat s geograficky místními kopiemi databáze. Tyto funkce mohou vyhovovat požadavkům maloobchodní firmy na globální vysokou dostupnost a nízkou latenci. Díky ručnímu škálování propustnosti databáze v kódu nebo automatickému škálování propustnosti může firma platit jen za propustnost služby, kterou využije během konkrétní hodiny.
Azure Cosmos DB je fragmentovaná a replikovaná databáze NoSQL, která dokáže elasticky spouštět dostatek fyzických počítačů pro zvládnutí špičky v propustnosti databáze a následně tyto výpočetní prostředky uvolňovat, když nejsou zapotřebí. Tento proces, kdy se zatížení zvládá škálováním počtu počítačů, se označuje jako škálování na více instancí nebo horizontální škálování.
Abychom uživatelům pomohli začít s Azure Cosmos DB, provede vás toto cvičení vývojem základního klienta v jazyce Java.
Cíle výuky
V tomto modulu:
- Odesílání žádostí službě Azure Cosmos DB z aplikace Java
- Vytvořit aplikaci k ukládání dat a dotazování na data ve službě Azure Cosmos DB
Požadavky
- Znalost programovacího jazyka Java
- Volitelné: znalost programovacího modelu Spring Data
- Zkušenosti s vytvářením a správou prostředků v Azure Cosmos DB včetně vytváření a konfigurace účtů, databází a kontejnerů Cosmos DB
- Znalost a místní instalace následujících nástrojů na úrovni začátečníka: Apache Maven, Git, Java JDK 8 nebo novější a java IDE nebo textový editor