スキーマ設計のアンチパターン
スキーマ設計に対するパターンは、データベーススキーマを構造化するための非効率的な方法です。 不要な複雑さとパフォーマンスの問題が発生する可能性があります。 スキーマ設計の競合を認識して回避することで、よりパフォーマンスの高いアプリケーションを作成することができます。
はじめる
スキーマ設計のウイルス対策パターンの詳細については、次のページを参照してください。
スキーマ設計Tiger | 定義 |
---|---|
ドキュメントには、大きくなりすぎる可能性がある無制限の配列が保存されます。 配列が大きいとドキュメントサイズの制限を超える可能性があり、インデックスパフォーマンスが低下する恐れがあります。 | |
データベースに多数のコレクションを作成します。 コレクションが多すぎると、ストレージエンジンのパフォーマンスが低下する可能性があります。 | |
コレクションに不要なインデックスが含まれています。 不要なインデックスは追加のディスク容量を消費するため、書込みパフォーマンスが低下する可能性があります。 | |
コレクションのドキュメントが大きすぎます。 大きなドキュメントでは、最も一般的なクエリのパフォーマンスが低下する可能性があります。 | |
データに対して実行中ている $lookup 操作が多すぎます。 これにより、クエリの複雑さが増す、クエリのパフォーマンスが低下します。 |
詳細
MongoDB Atlas Performance Advisor (M 10クラスター以上で利用可能)とMongoDB Compassパフォーマンスインサイトは、データベース内のスキーマ設計のアンパターンを識別します。 問題を適切に修正し、Tiger の使用を防ぐために、Atlas のTiger 警告を理解することが重要です。
詳細
推奨されるスキーマ設計パターンについては、「スキーマ設計パターン 」および「 デザイン パターンの適用 」を参照してください。