0

アプリケーション内にデータを保存する 2 つの異なる方法を使用するアプリケーションを作成することは、理にかなっていますか? 例を挙げて、私が何を得ているのかを明確にするのがおそらく最も簡単です。

オンライン書店を経営していて、書籍、顧客、注文などを追跡する必要があるとします。ここでの私の自然な本能は、この種の情報を保持するためにリレーショナル データベースを使用することです。さて、私の顧客が私のアカウントを持っていると、さまざまな方法でホームページを構成できるとしましょう。たとえば、さまざまなタイプ (アナログ/デジタル)、色を持ち、ページ上の任意の場所に配置できる (またはまったく表示されない) 時計ウィジェットがあるとします。この情報を保存して、顧客がログインしたときにウィジェットが正しいタイプ、色、正しい位置にあるようにします。顧客が使用する場合と使用しない場合があり、それぞれに独自の属性を持つ複数のウィジェットが存在する場合があります。つまり、顧客固有の属性は柔軟である必要があります。この種のことに対する私の本能は、この情報を XML のような別の形式で保存することです。ただし、これまでどのプロジェクトでも XML を使用する必要はありませんでした。また、この種の情報を保持するには MongoDB のようなものが理にかなっているように思えますが、賢明な判断を下すには十分な知識がありません。

この種の情報を分離することは理にかなっていますか?それとも、この種の情報を保持するためにリレーショナル DB を抽象化する必要がありますか? ここに正しい答えはないと思いますが、あなたの洞察をいただければ幸いです。

4

1 に答える 1

1

たとえば、私は、Couchbase (NoSQL ドキュメント データベース) とNeo4J (NoSQL グラフ データベース) の両方を強力な組み合わせで使用する Ruby on Rails ソーシャル アプリケーションを開発しました。コメント (Twitter のようなストリーム)、Neo4J にはデータの重複がありましたが、主にソーシャル ネットワークを介したコンテンツの発見に使用されていました (グラフ)。

パフォーマンス、一貫性、およびスケーラビリティの点では、Couchbase がリーダーであり、それに依存する大量でスケーラブルなアプリケーションの例が数多くあります。Couchbase と MongoDB はデータを JSON として保存しますが、シリアル化されたオブジェクトを保存することもできます。XML を使用している場合、JSON への変換とその逆は簡単です。

于 2012-08-14T20:20:06.150 に答える