2012-02-29 1 views

答えて

2

完全正規化されたリレーショナルDBでは、データの整合性(FK)を維持するために、すべての挿入で他のテーブル(およびそれ自身のテーブル)でいくつかのルックアップが必要になることがよくあります。これは一般的には良いことですが、時間がかかります。多くの場合、異なるテーブルの複数の行を一度に更新する必要があるため、さらにルックアップやトランザクションのオーバーヘッドが発生します。

データベースを照会すると、しばしば多くの異なる表を見て、それらをマージする必要があります。

一方、mongoDBドキュメントははるかに単純な構造です。すべてのコレクションは正規化されていない大きなテーブルのようなものですが、すべてのフィールドはオプションです(ただしインデックスは作成できます)ので、(同じ設定のリレーショナルDBと比較して)スペースのオーバーヘッドはほとんどありません。

サーバーからクライアント(データベースクライアント、エンドユーザークライアントではありません)への複雑なクエリとデータ保全ロジックを削除する代償として、柔軟性と速度を提供します。

両方とも用途がありますが、通常は「リレーショナルDBとは異なるものが必要ですか?」という質問があります。今日は "ドキュメントDBよりも複雑なものが必要でしょうか?"イモ、そして大多数のプロジェクトはそうしないでしょう。

0

私はあなたの仕事のためのリレーショナルデータベースに満足すれば、mongoDbに切り替える必要はないと思います。私はmongodbがrdbmsよりも簡単にスケーリングを行うと考えています。いくつかのタスクでは、mongodbの柔軟なスキーマから利益を得ることができると思います。具体的な作業のためにデータベースを使用して議論するのが理にかなっていると思います。

関連する問題