2012-02-21 18 views
4

JavaScriptのフロントエンドアプリケーション、特にBackboneとそのコレクションを活用するアプリケーションでは、すべてのデータとアプリケーションの状態が深くネストされたJSON構造で構成されているため、MongoDBは魅力的なようです。MongoDBはJSON構造を格納するのに適していますか?

MySQLでリレーショナルDBスキーマを構築することは、本質的にJSONオブジェクトを細かいテーブルに分割して外部キーと制約を決定するため、痛みを伴う可能性があります。生計のためのデータベースを維持していない人のための本当の過度の運動。

MongoDBはこれらの問題に対処しますか?バックボーンコレクションが正しく構成されていて、後で他の関連ドキュメントにデータを結合できるようにするだけで、バックボーンコレクションを単純に保存できると思いますか?あるいは、MongoDBの過剰な使用や、ドキュメントストレージソリューションではなくパフォーマンスマシンの使用などがありますか?

+0

私はMongoDBを使って最新のビルドを始めました。定義済みのスキーマを持たないのは、 – Hank

答えて

6

MongoDBはJavaScriptをフロントエンドアプリケーション、レバレッジバックボーンとそのコレクション 特に中に、すべての データとアプリケーションの状態が深くネストされたJSON 構造に編成されているので、魅力的と思われます。

いいえ、mongodbでは任意のjson構造を保存できます。ネストはmongodbの利点の1つです。あなたは関係を考えずに自然な方法でデータを保存することができます。クライアントJavaScriptが必要とするデータを直接格納することができます。それは確かに痛み

可能MySQLでのリレーショナルDBスキーマを構築

非常にあなたが店をしたい構造に依存していますが、およそ深くネストされたJSON構造を話した場合のMongoDBはのために最適に動作します君は。

また、 ドキュメントストレージソリューションではなく、MongoDBオーバーキルなどのパフォーマンスマシンがありますか?

いいえ、mongodbはパフォーマンスマシンだけでなく、構造化されていない、深くネストされたドキュメントのための完全なストレージです。そして、同時に、非常に深いドキュメントを扱う場合(特に、それらに参加する必要がないため)、mongoは非常に優れたパフォーマンスを発揮します。

+0

+1です。ネストされた配列の複数のレベルが現在問題になっているという脚注があります。 –

+0

@Remon:原子の更新を意味すると思います。しかし、私たちはまだ 'Save'メソッドを持っており、並行処理の問題を避けるためにドキュメントのバージョンを保持することができます。 –

+0

True、今後のアップデートで解決されているため、関連性は低くなります。 –

関連する問題