まず、質問の背景を説明します。私はこれまで ravedb を使用したことがなく、今後のプロジェクトのために評価しています。このプロジェクトは非常にドキュメント中心であり、これまでのところ、私の「クイック アンド ダーティ」テスト プロジェクトにうまく適合しているようです。
アプリ自体にはほとんどデータがありません。486 上の SQLite は、データベースのニーズにはおそらく十分でしょう。ただし、大量の大きな画像データが含まれているため、ravendb を画像の保存と画像キャッシュとして使用します。そこで、いくつか質問があります:
各ドキュメントは、1 つまたは複数の部門で使用できます。各ドキュメントに部門 (int) のリストを保存し、それに対してクエリを実行します。これはベスト プラクティスと見なされますか、それともこの情報をメタデータに含める必要がありますか?
レプリケーションとシャーディングを利用する必要があります。私たちのデータは小さいので、すべてをさまざまなシャードに複製し、画像データのみをシャーディングすることを考えていましたが、これは可能ですか?
複数のシャードにデータを保存することはできますか? ドキュメントがディビジョン 1、2、および 3 でアクセス可能であり、シャーディングが非常に細かい場合、ユーザーが他のすべてのためにアクセスするシャードにドキュメントをプッシュしたいと考えています。
シャーディングは添付ファイルと同じように簡単に機能しますか?
キャッシュされた画像データ (サイズ変更された画像など) を保存すると言いました。これを別のデータベースに入れることをお勧めしますか?