1

私はNoSQLの概念全体を調査しているだけです。私はAmazonsDynamoDBで遊んでいますが、このコンセプトは本当に気に入っています。ただし、データをどのように分離するかはよくわかりません。つまり、リレーショナルデータベースの場合と同じように、関連するデータ機能用に​​新しいテーブルを作成する必要がありますか、それとも単一のテーブルを使用してすべてのアプリケーションデータを格納する必要がありますか?

例として、リレーショナルDBには、usersというテーブルとusers_detailsというテーブルがあります。次に、たとえば、2つのテーブル間に1:1の関係を作成します。NoSQLの概念を使用すると、理論的には2つのテーブルを作成することもできますが、すべてのデータを1つのテーブルにまとめる方が効率的です。

その場合、いつ停止しますか?特定のユーザーのすべてのアプリケーションデータを単一のテーブルに格納するというアイデアはありますか?

4

1 に答える 1

0

最初に自問してみてください: そもそもなぜ RDBMS のユーザーの詳細からユーザーを分離したのでしょうか。
より一般的な注意として、NoSQL について話すときは、実際にはテーブル間の関係を見るべきではありません。
異なるテーブルから情報を「結合」することを考えるべきではなく、最適に取得できる方法でデータを準備する必要があります。
user/user_details シナリオでは、すべての情報を users テーブルに入れ、取得する属性を指定して必要なものをクエリします。

于 2012-05-06T08:18:37.610 に答える