Docs Menu
Docs Home
/

MongoDBでのデータモデリング

データ モデリングとは、データベース内のデータの組織と、関連するエンティティ間のリンクを指します。

MongoDB には多形データを保存できる柔軟なデータモデルがあるため、次のことを意味します。

  • 単一のコレクション内のドキュメントでは、同じフィールド セットが必須ではありません。

  • フィールドのデータ型は、コレクション内のドキュメント間で異なる場合があります。

MongoDBのデータ モデリングの主要原則は、まとめてアクセスされるデータはまとめて保存する必要があるということです。パフォーマンスを最適化するには、アプリケーションのデータアクセスパターンに基づいてデータモデルを構造化する必要があります。

詳細については、MongoDBのデータモデリングのベストプラクティスを参照してください。

ドキュメントモデルの柔軟性を活用する次の例を考えてみましょう。

  • お客様の会社で、各従業員がどの部門で働いているかを追跡しているとします。部門情報を employeeコレクションに埋め込むと、1 回のクエリで関連情報を返すことができます。

  • eコマースアプリケーションでは、製品ページの最新 5 件のレビューが表示されます。頻繁にアクセスされないため、古いレビューを含むすべてのレビューを別のコレクションに保存できます。

  • お客様の衣料品店では、製品カタログ用に単一ページのアプリケーションを作成する必要があるとします。製品によって属性が異なるため、ドキュメントフィールドとフィールドタイプが異なる場合があります。これらの違いに関係なく、すべての製品を 同じコレクションに保存できます。

データモデルが論理的な構造を持ち、最適なパフォーマンスを実現できるようにするには、データベースを本番環境の増やすで 使用する前にスキーマを計画してください。データモデルを決定して実装するには、スキーマ設計プロセス に従います。

MongoDB の柔軟なスキーマにより、アプリケーションの開発 に伴うデータモデルの反復的な改善が可能です。

MongoDB の 柔軟なスキーマを使用して開発することで、次のことが可能になります。

  • コードに存在するオブジェクトにデータモデルを直接マッピングします。

  • より厳格な制御が必要なドキュメントのセクションとアスペクトのみにスキーマ検証を追加します。

データモデルを反復的に変更する方法の例については、データモデルの変更を参照してください。

ドキュメントフィールドの値には、他のドキュメント、配列、ドキュメントの配列など、任意のBSON データ型を含めることができます。これらのオブジェクトは、データモデル内のさまざまなタイプの 関係 を表すために使用できます。

  • 1 対 1 の関係: 各ドキュメントは他のドキュメント1 つにのみ関連付けられています。例、ユーザーの 医療レコードは 1 つだけです。

  • 1 対多の関係: 各ドキュメントは、複数の他のドキュメントに関連付けられています。例、ウェブアプリケーションユーザーは多数の書き込みやコメントを持つことができます。

  • 多対多の関係: 各ドキュメントは複数の他のドキュメントに関連付けることができ、その逆も同様です。例、学生は複数のコースに登録でき、各コースに複数の学生を含めることができます。

MongoDBでは、データを埋め込みまたは参照することで関係をモデル化できます。最適なデータリンク方法を選択することで、アプリケーションの特定のアクセス パスワードなしに合わせてデータモデルを最適化できます。

MongoDBでの関係のモデル化の詳細については、以下を参照してください。

MongoDBのようなドキュメントデータベースのスキーマを設計する場合は、関係データベースとの次の重要な違いを考慮してください。

関係データベースの動作
ドキュメント データベースの動作

データを挿入する前に、テーブルのスキーマを決定する必要があります。関係データベースでデータモデルを変更することはできますが、固定されたスキーマでは、変更が依存関係参照にどのように影響するかを考慮して、より多くの事前計画が必要です。

アプリケーションのニーズが変化するにつれて、データモデルは時間の経過とともに簡単に変更できます。

アプリケーションに必要なデータを返すには、多くの場合、複数の異なるテーブルのデータを結合する必要があります。

柔軟なデータモデルにより、アプリケーションのデータアクセスパターンに従ってデータを保存できます。例、データを埋め込むと、複数のコレクションにまたがる複雑な結合を回避できると同時に、パフォーマンスが向上し、配置のワークロードが軽減されます。

  • MongoDBでのデータモデリングのベストプラクティス

  • MongoDB Compassでのデータモデリング

戻る

参照

ルール バッジを取得する

「ドキュメントモデルに関連する」を無料でマスターします。

詳細

項目一覧