2016-03-31 10 views
1

SQLデータベースでは、データはテーブルの周りに編成されます。 CouchDBにはテーブルはありません。単一のアプリケーションのデータをCouchDBでどのように編成するのですか?多くの文書が単純にスローされた単一のデータベースで、ビューを使用して同じ目的を果たすデータをグループ化できますか?または、複数のデータベース(右の音は聞こえませんが、いくつかのプロジェクトではこれを見ています)をSQLテーブルとして扱いますか?アプリケーションごとにいくつのCouchDBデータベースがありますか?

答えて

3

ほとんどの場合と同様、アプリケーションの要件によって異なります。単一のデータベースを使用する方が簡単ですが、必ずしもそうではありません。

私は、複数のデザインドキュメントを持つ1つのデータベースを使用しており、それぞれが特定のタイプのドキュメントに関連する独自のビューを定義していることがよく分かりました。これにより、複数のタイプの文書を単一のデータベースに共存させることができます。 1つのデータベースでバックアップ戦略が大幅に簡単になります。

ユーザー/グループ/アカウントによって物事を論理的にグループ化するために使用される複数のデータベースがあります。データを明確にサイロ化して分離しておくことが重要である場合、これは魅力的なことです。このアプローチのもう1つの利点は、異なるタイプの顧客/アカウント間でカスタムロジックをより簡単に実装できることです。 (当然のことながら、これらの異種のデータベース間で問題が生じる可能性があるというトレードオフがあります)

この質問には「正しい答え」はありません。アプリケーションのニーズによって異なります。私は単一のデータベースから始めますが、あなたのデータに適していると感じる場合は、複数に切り替えることができます。 CouchDBはそのような柔軟性があります:)

関連する問題