0

まず、質問の背景を説明します。私はこれまで ravedb を使用したことがなく、今後のプロジェクトのために評価しています。このプロジェクトは非常にドキュメント中心であり、これまでのところ、私の「クイック アンド ダーティ」テスト プロジェクトにうまく適合しているようです。

アプリ自体にはほとんどデータがありません。486 上の SQLite は、データベースのニーズにはおそらく十分でしょう。ただし、大量の大きな画像データが含まれているため、ravendb を画像の保存と画像キャッシュとして使用します。そこで、いくつか質問があります:

  1. 各ドキュメントは、1 つまたは複数の部門で使用できます。各ドキュメントに部門 (int) のリストを保存し、それに対してクエリを実行します。これはベスト プラクティスと見なされますか、それともこの情報をメタデータに含める必要がありますか?

  2. レプリケーションとシャーディングを利用する必要があります。私たちのデータは小さいので、すべてをさまざまなシャードに複製し、画像データのみをシャーディングすることを考えていましたが、これは可能ですか?

  3. 複数のシャードにデータを保存することはできますか? ドキュメントがディビジョン 1、2、および 3 でアクセス可能であり、シャーディングが非常に細かい場合、ユーザーが他のすべてのためにアクセスするシャードにドキュメントをプッシュしたいと考えています。

  4. シャーディングは添付ファイルと同じように簡単に機能しますか?

  5. キャッシュされた画像データ (サイズ変更された画像など) を保存すると言いました。これを別のデータベースに入れることをお勧めしますか?

4

1 に答える 1

0

Flukus、シャーディングは添付ファイルには機能しません。レプリケーションとシャーディングを組み合わせることができますが、通常は別々に扱います。シャードされたデータ用に 1 つのデータベース、すべてのノードのレプリケートされたデータ用に 1 つのデータベース。

于 2012-05-06T07:27:59.260 に答える