はじめに
オンライン小売業者のストレージを管理しているとします。 ユーザーおよび製品データを作成、更新、削除するためのツールが必要です。 また、ビジネスまたは業務上の意思決定を行うために、データのクエリを実行する機能も必要です。
このモジュールでは、ユーザー レコードを作成、更新、削除し、データのクエリを実行するための Java コンソール アプリケーションを、Java を使用してビルドします。 このモジュールには、2 つのコード サンプル セットが用意されています。1 つは Azure Cosmos DB Java SDK を直接使用するもので、もう 1 つは Java 用の Spring Data プログラミング モデルを使用するものです。
プロジェクトの構築と依存関係の取り込みには、Maven パッケージ マネージャーを使用します。
Azure Cosmos DB を使用する理由
ある架空の会社は、クラウドでグローバルな小売業務を管理しており、Azure Cosmos DB の恩恵を受ける可能性があります。 この会社のエンジニアは、販売時点管理 (POS) デバイスを使用して要求ごとに短い応答時間でクラウド データベースにデータを保持できることを保証する必要があります。 この会社は在庫のデータベースを保守しています。 このデータベースを高可用にして (顧客の不満を回避するため)、グローバルに分散する (世界中の顧客が応答性の高い Web ページを表示できるようにするため) という要望があります。
さらに、会社のグローバル小売システムの負荷は 1 年を通じて変動します。 この会社は、ホリデー シーズンのセールス期間の数週間にデータベースの負荷がピークに達することがわかっています。 ピーク時の消費に備えて支払うのではなく、消費した量に対して支払う価格設定モデルを探しています。
Azure Cosmos DB は、待機時間と可用性に関するパフォーマンスのサービス レベル アグリーメント (SLA) が提供されている NoSQL クラウド データベースです。 また、ユーザーが地理的にローカルなデータベースのコピーを操作できるようになるターンキーのグローバル配布も提供されています。 これらの機能により、小売企業のグローバルな高可用性と低待機時間の要件を満たすことができます。 コードでデータベースのスループットを手動スケーリングするか、または自動スケーリングのスループットを使用することにより、企業では、特定の時間内に消費されたサービスのスループットに対する支払いだけにすることができます。
シャード化されてレプリケートされる NoSQL データベースである Azure Cosmos DB では、アプリケーションのピーク データベース スループットを処理するのに十分な数の物理マシンを弾力的に起動し、不要になったらそのコンピューティングを解放することができます。 マシン数のスケーリングによるこの負荷処理プロセスは、"スケールアウト" または "水平スケーリング" と呼ばれます。
ユーザーが Azure Cosmos DB を使い始めるときに役立つよう、このラボでは基本的な Java 言語クライアントを開発する手順を示します。
学習の目的
このモジュールでは、次のことを行います。
- Java アプリケーションから Azure Cosmos DB に要求を送信する方法を学習します
- Azure Cosmos DB にデータを格納したり、そこにあるデータを問い合わせたりするためのアプリケーションを作成します
前提条件
- Java プログラミング言語の知識
- 省略可能: Spring Data プログラミング モデルに関する知識
- Cosmos DB アカウント、データベース、コンテナーの作成と構成など、Azure Cosmos DB でのリソースの作成と管理の経験
- 次のツールについての初心者レベルの知識、およびそれらがローカル環境にインストールされていること: Apache Maven、Git、Java JDK 8 以降、Java IDE またはテキスト エディター