はじめに

完了

Azure Cosmos DB は、Azure で動作する Microsoft のフル マネージド NoSQL データベースです。 NoSQL データベースである Azure Cosmos DB は、水平方向にスケーラブルであると同時に非リレーショナルです。

水平方向のスケーラビリティにより、Azure Cosmos DB は標準的なリレーショナル データベースよりはるかに大きいデータ サイズをサポートできます。 水平方向のスケーラビリティは、データベースのパフォーマンスを予測できることも意味します。

このレベルのスケーラビリティを実現するには、ユーザーはデータのモデリングとパーティション分割に関する NoSQL データベースに固有の概念と手法について理解しておく必要があります。

シナリオ

オンライン注文を管理するデータベースを設計している小売スタートアップ企業で働いていると想像してください。 あなたは、DB Cosmos コア (SQL) API を使用した効率的なデータベース設計に関する提案の作業を行っています。 あなたは、作業の元になるエンティティ リレーションシップ モデルを受け取りました。 あなたは、可能な限り高いスケーラビリティ、パフォーマンス、効率を提供しようと考えており、これを実現するには、データを正しくモデリングする必要があります。

次のエンティティ リレーションシップ図 (ER モデル) を見ると、使用する 9 つのエンティティの詳細がわかります。 このリレーショナル モデルには、9 個のエンティティがそれぞれ独自のテーブル内にあります。

Diagram that shows the relational model for our example application.

学習内容

このモジュールでは、既存のリレーショナル データ モデルを、eコマース アプリケーション用の NoSQL データベースとして再設計します。 この過程で、次の概念について学習します。

  • リレーショナル データベースと NoSQL データベースの違い: NoSQL データベースとリレーショナル データベースのいくつかの相違点と、なぜそのようになっているかを調べます。
  • アプリケーション データ アクセス パターンを使用したデータのモデリング: アプリケーションによるデータの読み書き方法が、NoSQL データベースのそのモデリングにどのように影響するかについて学習します。
  • 埋め込みと参照: 同じドキュメント内にデータを埋め込む必要がある場合と、データを別のドキュメントとして格納する必要がある場合について学習します。
  • パーティション キーの選択: ホット パーティションを回避し、読み取りと書き込みのどちらか一方または両方が多いワークロードを最適化するのに最適なパーティション キーを選択するために必要な、重要な概念について学習します。
  • 検索または参照データのモデリング: 最後に、他のデータの検索または参照として使用されるデータをモデリングする方法について学習します。

主な目標

このモジュールと付随するモジュール「Azure Cosmos DB の高度なモデリング パターンを使用してデータベースを最適化する」を完了すると、Azure Cosmos DB にデプロイされる NoSQL データベース用にデータを適切にモデリングおよびパーティション分割するための知識とスキルが得られます。

このモジュールを終了すると、次のことができるようになります。

  • データのアクセス パターンを決定します。
  • 効率的でスケーラブルな NoSQL データベースをサポートするデータ モデルとパーティション分割の戦略を適用します。